1 changed files with 81 additions and 0 deletions
@ -0,0 +1,81 @@ |
|||
from random import randint |
|||
from time import sleep |
|||
from tkinter import * |
|||
|
|||
class Serpent: |
|||
def __init__ (self,col,ligne,direction): |
|||
"""La colonne est l'indice dand la première liste de la grille |
|||
La ligne est son indice dans la grille |
|||
La direction est le sens vers lequel le serpent va 0=droite, 1=haut, 2=gauche, 3=bas""" |
|||
self.col=col |
|||
self.ligne=ligne |
|||
self.direction=direction |
|||
|
|||
def bouge(self): |
|||
"""Déplace le serpent dans le tableau tout les x temps """ |
|||
pass |
|||
|
|||
class Pomme: |
|||
def __init__ (self,uncol,unligne): |
|||
"""La colonne est l'indice dand la première liste de la grille |
|||
La ligne est son indice dans la grille""" |
|||
self.col=uncol |
|||
self.ligne=unligne |
|||
|
|||
|
|||
class Grille: |
|||
def __init__ (self,unnb_col,unnb_ligne,uncanva,unfenetre): |
|||
self.nb_col=unnb_col |
|||
self.nb_ligne=unnb_ligne |
|||
self.can=uncanva |
|||
self.fen=unfenetre |
|||
self.grille=[] |
|||
for ligne in range(0,self.nb_ligne): |
|||
self.grille.append([]) |
|||
for colonne in range(0,self.nb_col): |
|||
self.grille[ligne].append(0) |
|||
|
|||
###############création_lst_carré########## |
|||
self.lst_c=[] |
|||
for ligne in range(len(self.grille)): |
|||
self.lst_c.append([]) |
|||
####Choix de la taille la plus grande pour les carré sans qu'ils dépassent######## |
|||
carre_col, carre_ligne= 800//self.nb_col, 800//self.nb_ligne |
|||
|
|||
if carre_col<carre_ligne: |
|||
self.taille_carre=carre_col |
|||
else: |
|||
self.taille_carre=carre_ligne |
|||
|
|||
###############création_carré########## |
|||
for ligne in range(len(self.grille)): |
|||
for colone in range(len(self.grille[0])): |
|||
if self.grille [ligne][colone] == 1:#1=sepent |
|||
new_c=self.can.create_rectangle( colone *self.taille_carre , ligne *self.taille_carre , |
|||
colone*self.taille_carre+self.taille_carre , ligne*self.taille_carre +self.taille_carre , |
|||
fill ="green") |
|||
self.lst_c[ligne].append(new_c) |
|||
else: |
|||
new_c=self.can.create_rectangle( colone *self.taille_carre , ligne *self.taille_carre , |
|||
colone*self.taille_carre+self.taille_carre , ligne*self.taille_carre +self.taille_carre , |
|||
fill ="white") |
|||
self.lst_c[ligne].append(new_c) |
|||
|
|||
self.apple=Pomme(9,7) |
|||
self.can.itemconfig(self.lst_c[7][10],fill="red") |
|||
def joueur(self,uncol,unligne,undirection): |
|||
"""Crée un joueur à partir des paramètre de la class serpent""" |
|||
self.player=Serpent(uncol,unligne,undirection) |
|||
self.can.itemconfig(self.lst_c[unligne][uncol],fill="green") |
|||
|
|||
|
|||
##########Programme principale############## |
|||
fenetre = Tk() |
|||
fenetre.title("Snake") |
|||
zone = Canvas(fenetre , height =800 , width =800 , bg="#ffffff") |
|||
zone.grid(row=1,column=1,rowspan=1,columnspan=9) |
|||
|
|||
grille=Grille(15,15, |
|||
zone,fenetre) |
|||
grille.joueur(3,7,0) |
|||
fenetre.mainloop() |
Loading…
Reference in new issue