Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://kodomo.cmm.msu.su/trac/tanchiki/browser/tk_ui.py?rev=34
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 22:33:41 2016
Êîäèðîâêà: IBM-866
tk_ui.py òÀÓ Tanchiki

source: tk_ui.py @ 34:b7a85caedc7f

Revision 34:b7a85caedc7f, 1.3 KB checked in by Daniil Alexeyevsky <me.dendik@òÀæ>, 5 years ago (diff)

Re-imported files after merge

Lineˆà
1importˆàmath
2importˆàTkinterˆàasˆàtk
3fromˆàgameˆàimportˆàGame
4fromˆàbodyˆàimportˆàTank,ˆàBullet
5fromˆàvectorˆàimportˆàVector
6fromˆàuser_controllerˆàimportˆàUserController
7
8classˆàUI(object):
9ˆà ˆà ˆà ˆà defˆà__init__(self):
10ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.init_game()
11ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.init_ui()
12ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.step()
13
14ˆà ˆà ˆà ˆà defˆàinit_ui(self):
15ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà root =ˆàself.root =ˆàtk.Tk()
16ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà canvas =ˆàself.canvas =ˆàtk.Canvas(root,ˆàbackground="black")
17ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà canvas.pack(fill="both",ˆàexpand="yes")
18ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà canvas.bind("<Keypress>",ˆàself.on_key)
19
20ˆà ˆà ˆà ˆà defˆàon_key(self,ˆàev):
21ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.controller
22
23ˆà ˆà ˆà ˆà defˆàinit_game(self):
24ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà bodies =ˆà[]
25ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.game =ˆàGame(100,ˆà100,ˆàbodies)
26ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà tank =ˆàTank(self.game,ˆàVector.null,ˆàNone)
27ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà controller =ˆàUserController('a',ˆà'd',ˆà'q',ˆà'e',ˆà'w',ˆà's',ˆà'x',ˆàtank)
28ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà tank.controller =ˆàcontroller
29ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà bodies.append(tank)
30
31ˆà ˆà ˆà ˆà defˆàstep(self):
32ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.root.after(100,ˆàself.step)
33ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.game.step(1)
34ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.redraw()
35
36ˆà ˆà ˆà ˆà defˆàredraw(self):
37ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.canvas.delete("all")
38ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà forˆàbody inˆàself.game.bodies:
39ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà p =ˆàbody.position
40ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà lt =ˆàp +ˆàVector(-1,-1)ˆà*ˆàbody.radius
41ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà rb =ˆàp +ˆàVector(1,1)ˆà*ˆàbody.radius
42ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ifˆàisinstance(body,ˆàTank):
43ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà t =ˆàbody.turret *ˆàbody.radius +ˆàp
44ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.canvas.create_oval(lt.x,ˆàlt.y,ˆàrb.x,ˆàrb.y,ˆàfill="green")
45ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.canvas.create_line(p.x,ˆàp.y,ˆàt.x,ˆàt.y,ˆàfill="yellow",ˆàwidth=2)
46ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà elifˆàisinstance(body,ˆàBullet):
47ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.canvas.create_oval(lt.x,ˆàlt.y,ˆàrb.x,ˆàrb.y,ˆàfill="red")
48
49ifˆà__name__ ==ˆà"__main__":
50ˆà ˆà ˆà ˆà UI().root.mainloop()
Note: See TracBrowser for help on using the repository browser.