You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
3.2 KiB

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()