Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/tanchiki/diff/5cb3fef573f6/tk_ui.py
Дата изменения: Unknown
Дата индексирования: Fri Feb 28 19:05:47 2014
Кодировка:
tanchiki: tk_ui.py diff

tanchiki

diff tk_ui.py @ 54:5cb3fef573f6

UI for two users
author Olga Zolotareva <olya_zol@inbox.ru>
date Sat, 25 Dec 2010 01:51:31 +0300
parents d740eff76e7e
children
line diff
     1.1 --- a/tk_ui.py	Fri Dec 24 23:28:21 2010 +0300
     1.2 +++ b/tk_ui.py	Sat Dec 25 01:51:31 2010 +0300
     1.3 @@ -8,7 +8,7 @@
     1.4  from vector import Vector
     1.5  
     1.6  game_size = 500, 500
     1.7 -keys = {
     1.8 +keys1 = {
     1.9  	'ocircumflex': 'base_left', 
    1.10  	'acircumflex': 'base_right',
    1.11  	'eacute': 'turret_left',
    1.12 @@ -17,14 +17,36 @@
    1.13  	'ucircumflex': 'decelerate',
    1.14  	'division': 'fire',
    1.15  }
    1.16 +	
    1.17 +keys2 = {
    1.18 +	'icircumflex': 'base_left', 
    1.19 +	'adiaeresis': 'base_right',
    1.20 +	'atilde': 'turret_left',
    1.21 +	'ugrave': 'turret_right',
    1.22 +	'oslash': 'accelerate',
    1.23 +	'ediaeresis': 'decelerate',
    1.24 +	'udiaeresis': 'fire',
    1.25 +}
    1.26  
    1.27  welcome = """Press F5 to start
    1.28  
    1.29  Keys are:
    1.30 +
    1.31 +
    1.32 +User 1 :
    1.33 +
    1.34  a, d -- turn tank
    1.35  q, e -- turn muzzle
    1.36  w, s -- change speed
    1.37 -x -- fire"""
    1.38 +x -- fire
    1.39 +
    1.40 +User 2 :
    1.41 + 
    1.42 +j, l -- turn tank
    1.43 +u, o -- turn muzzle
    1.44 +i, k -- change speed
    1.45 +m -- fire	
    1.46 +"""
    1.47  
    1.48  class Tank(BaseTank):
    1.49  
    1.50 @@ -52,11 +74,14 @@
    1.51  		self.display_welcome()
    1.52  
    1.53  	def init_game(self):
    1.54 -		self.user = User(keys)
    1.55 +		self.user1 = User(keys1)
    1.56 +		self.user2 = User(keys2)
    1.57  		w, h = game_size 
    1.58 -		game = self.game = Game([], [self.user], w, h)
    1.59 -		tank = Tank(Vector(*game_size) * 0.5, self.user, self.game)
    1.60 -		game.bodies.append(tank)
    1.61 +		game = self.game = Game([], [self.user1, self.user2], w, h)
    1.62 +		tank1 = Tank(Vector(*game_size) * 0.5,  self.user1, self.game)
    1.63 +		tank2 = Tank(Vector(*game_size) * 0.5,  self.user2, self.game)
    1.64 +		game.bodies.append(tank1)
    1.65 +		game.bodies.append(tank2)
    1.66  
    1.67  	def init_ui(self):
    1.68  		root = self.root = tk.Tk()
    1.69 @@ -78,10 +103,12 @@
    1.70  	def on_keypress(self, ev):
    1.71  		if ev.keysym == "F5":
    1.72  			self.step()
    1.73 -		self.user.on_key(ev.keysym, True)
    1.74 +		self.user1.on_key(ev.keysym, True)
    1.75 +		self.user2.on_key(ev.keysym, True)
    1.76  
    1.77  	def on_keyrelease(self, ev):
    1.78 -		self.user.on_key(ev.keysym, False)
    1.79 +		self.user1.on_key(ev.keysym, False)
    1.80 +		self.user2.on_key(ev.keysym, False)
    1.81  
    1.82  	def step(self):
    1.83  		self.root.after(100, self.step)
    1.84 @@ -114,4 +141,4 @@
    1.85  				raise AssertionError("Unknown object type: %s" % i.__class__.__name__)
    1.86  
    1.87  if __name__ == "__main__":
    1.88 -	UI().root.mainloop()
    1.89 +	UI().root.mainloop()
    1.90 \ No newline at end of file