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