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