Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://kodomo.cmm.msu.su/trac/tanchiki/browser/tanchiki/game.py?rev=22
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Tue Apr 12 00:29:46 2016
Êîäèðîâêà: IBM-866
game.py in tanchiki òÀÓ Tanchiki

source: tanchiki/game.py @ 22:be41e64e5dd2

Revision 22:be41e64e5dd2, 1.1 KB checked in by Peter Zotov <whitequark@òÀæ>, 5 years ago (diff)

Make game field centered on (0,0).

Lineˆà
1other_tanks =ˆà[]
2bullets =ˆà[]
3
4classˆàGame(object):
5ˆà ˆà ˆà ˆà defˆà__init__(self,ˆàwidth,ˆàheight,ˆàbodies):
6ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.bodies =ˆàbodies
7ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.width =ˆàwidth
8ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.height =ˆàheight
9
10ˆà ˆà ˆà ˆà defˆàstep(self,ˆàdelta_t):
11ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.__calculate_positions(delta_t)
12ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.__check_walls()
13ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.__check_collisions()
14ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.__update_positions()
15ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.__invoke_ticks()
16
17ˆà ˆà ˆà ˆà defˆà__calculate_positions(game,ˆàdelta_t):
18ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà forˆài inˆàgame.bodies :
19ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà i.next_position =ˆài.position +ˆài.velocity*(delta_t)
20
21ˆà ˆà ˆà ˆà defˆà__update_positions(self):
22ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà forˆài inˆàself.bodies :
23ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà i.position =ˆài.next_position
24
25ˆà ˆà ˆà ˆà defˆà__collides(self,ˆàbody1,ˆàbody2):
26ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà pass
27
28ˆà ˆà ˆà ˆà defˆà__handle_collision(self,ˆàbody1,ˆàbody2):
29ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà pass
30
31ˆà ˆà ˆà ˆà defˆà__check_collisions(game):
32ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà pass
33
34ˆà ˆà ˆà ˆà defˆà__check_walls(game):
35ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà forˆài inˆàgame.bodies :
36ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ifˆà((i.next_position.x -ˆài.radius)ˆà<=ˆà-game.width/2)ˆàorˆà\
37ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà((i.next_position.y -ˆài.radius)ˆà<=ˆà-game.width/2)ˆàorˆà\
38ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà((i.next_position.x +ˆài.radius)ˆà>=ˆàgame.width/2)ˆàorˆà\
39ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà((i.next_position.y +ˆài.radius)ˆà>=ˆàgame.height/2)ˆà:
40ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà i.on_wall()
41
42ˆà ˆà ˆà ˆà defˆà__invoke_ticks(self):
43ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà forˆài inˆàself.bodies :
44ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ifˆài.controller :
45ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà i.controller.on_tick(other_tanks,ˆàbullets)
Note: See TracBrowser for help on using the repository browser.