Professional Documents
Culture Documents
Kigyojatek Py
Kigyojatek Py
py
4
5 #kígyó egy eleme
6 class Elem:
8 self.x = x
9 self.y = y
10 self.dx = dx
11 self.dy = dy
12 self.ei = ei
13
14 #élelem
15 class Kaja:
17 self.x = x
18 self.y = y
19
20
22 def ujTap():
23 x = randrange((meretX - 40)//20) * 20 + 20
24 y = randrange((meretY - 40)//20) * 20 + 20
25 tapok.append(Kaja(x, y))
26
28 def ujElem():
29 x = elemek[-1].x - elemek[-1].dx * 20
30 y = elemek[-1].y - elemek[-1].dy * 20
32
33 #kezdeti kígyó létrehozása
34 def init():
38
39 for i in range(mTap):
40 ujTap()
41
42 #játék vége
43 def jvege():
44 global fut
45 fut = False
46 messagebox.showinfo('Játék vége', 'Pontszám: ' + str(pont))
47 abl.destroy()
48
49 #billentyűzet figyelése
50 def figyel(event):
51 dx = elemek[0].dx
52 dy = elemek[0].dy
54 dx, dy = -1, 0
56 dx, dy = 1, 0
60 dx, dy = 0, 1
61 for el in reversed(elemek):
62 if elemek.index(el) > 0:
63 el.dx = elemek[el.ei].dx
64 el.dy = elemek[el.ei].dy
65 elemek[0].dx = dx
66 elemek[0].dy = dy
67
68 #kígyó megjelenítése
file:///home/pi/.config/Thonny/temp/thonny_h7k6jfil.html 1/3
2022. 09. 10. 9:02 kigyojatek.py
69 def rajzol():
70 can.delete('all')
71 for el in elemek:
73 for t in tapok:
75
76 #kígyóelemek átcímzése
77 def atrak():
78 for el in reversed(elemek):
79 if elemek.index(el) > 0:
80 el.x = elemek[el.ei].x
81 el.y = elemek[el.ei].y
82
83 #eldönti, hogy egyzik-e a pozíció valamelyik táppal
84 def tape():
85 v = -1
86 for t in tapok:
88 v = tapok.index(t)
89 return v
90
91 #kígyó mozgatása
92 def mozgat():
93 global pont
94 pont += 1
96 t = tape()
97 if t >= 0:
98 megesz(t)
99 #jobbra
100 if elemek[0].dx == 1:
101 if elemek[0].x < meretX-20:
102 atrak()
103 elemek[0].x += 20
104 else:
105 jvege()
106 #balra
109 atrak()
110 elemek[0].x -= 20
111 else:
112 jvege()
113 #le
114 if elemek[0].dy == 1:
115 if elemek[0].y < meretY-20:
116 atrak()
117 elemek[0].y += 20
118 else:
119 jvege()
120 #fel
123 atrak()
124 elemek[0].y -= 20
125 else:
126 jvege()
127 rajzol()
128 if fut:
132
file:///home/pi/.config/Thonny/temp/thonny_h7k6jfil.html 2/3
2022. 09. 10. 9:02 kigyojatek.py
137 ujElem()
139 jvege()
140 tapok.pop(t)
141 #can.delete(tapok[t])
142 ujTap()
143
145 elemek = []
146 tapok = []
147 maxHossz = 15
150 pont = 0
153
154
155 #----- Főprogram -----
157 abl.title('Kígyójáték')
160 pnt.pack(side=BOTTOM)
162 can.pack(side=LEFT)
164
165 init()
166 rajzol()
167 mozgat()
168 abl.mainloop()
169
file:///home/pi/.config/Thonny/temp/thonny_h7k6jfil.html 3/3