Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://kodomo.cmm.msu.su/trac/tanchiki/changeset/38
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 02:10:31 2016
Êîäèðîâêà: IBM-866
Changeset 38:cf05c46d014c òÀÓ Tanchiki

Changeset 38:cf05c46d014c


Ignore:
Timestamp:
12/20/10 19:27:24 (5 years ago)
Author:
Daniil Alexeyevsky <me.dendik@òÀæ>
Branch:
new
Message:

Moved UI-related tank stuff into tk_ui.Tank; updated tk_ui to match the current project structure

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • body.py

    r36 r38 ˆà
    5858ˆà
    5959        def on_tick(self,other_tanks, bullets):ˆà
    60ˆà                if self.user.base_left == True:ˆà
    61ˆà                        self.rotate_base(base_angle)ˆà
    62ˆà                if self.user.base_right == True:ˆà
    63ˆà                        self.rotate_base(-1*base_angle)ˆà
    64ˆà                if self.user.accelerate == True:ˆà
    65ˆà                        self.accelerate(speed_delta)ˆà
    66ˆà                if self.user.decelerate == True:ˆà
    67ˆà                        self.accelerate(-1*speed_delta)ˆà
    68ˆà                if self.user.turret_left == True:ˆà
    69ˆà                        self.rotate_turret(turret_angle)ˆà
    70ˆà                if self.user.turret_right == True:ˆà
    71ˆà                        self.rotate_turret(-1*turret_angle)ˆà
    72ˆà                if self.user.fire == True:ˆà
    73ˆà                        self.fire()ˆà
    ˆà60                passˆà
    7461ˆà
    7562        def on_spawn(self):ˆà
  • tk_ui.py

    r34 r38 ˆà
    11import mathˆà
    22import Tkinter as tkˆà
    ˆà3import bodyˆà
    34from game import Gameˆà
    4ˆàfrom body import Tank, Bulletˆà
    5ˆàfrom vector import Vectorˆà
    6ˆàfrom user_controller import UserControllerˆà
    ˆà5from vector import Vector, nullˆà
    ˆà6ˆà
    ˆà7game_size = 100, 100ˆà
    ˆà8keys = {ˆà
    ˆà9        'a': 'base_left',ˆà
    ˆà10        'd': 'base_right',ˆà
    ˆà11        'q': 'turret_left',ˆà
    ˆà12        'e': 'turret_right',ˆà
    ˆà13        'w': 'accelerate',ˆà
    ˆà14        's': 'decelerate',ˆà
    ˆà15        'x': 'fire',ˆà
    ˆà16}ˆà
    ˆà17ˆà
    ˆà18class Tank(body.Tank):ˆà
    ˆà19ˆà
    ˆà20        def on_tick(self, tanks, bullets):ˆà
    ˆà21                if self.user.base_left:ˆà
    ˆà22                        self.rotate_base(game.delta_phi)ˆà
    ˆà23                if self.user.base_right:ˆà
    ˆà24                        self.rotate_base(-game.delta_phi)ˆà
    ˆà25                if self.user.turret_left:ˆà
    ˆà26                        self.rotate_turret(game.delta_phi)ˆà
    ˆà27                if self.user.turret_right:ˆà
    ˆà28                        self.rotate_turret(-game.delta_phi)ˆà
    ˆà29                if self.user.accelerate:ˆà
    ˆà30                        self.accelerate(game.speed_delta)ˆà
    ˆà31                if self.user.decelerate:ˆà
    ˆà32                        self.accelerate(-game.speed_delta)ˆà
    ˆà33                if self.user.fire:ˆà
    ˆà34                        self.fire()ˆà
    735ˆà
    836class UI(object):ˆà
    ˆà37ˆà
    938        def __init__(self):ˆà
    1039                self.init_game()ˆà
    1140                self.init_ui()ˆà
    1241                self.step()ˆà
    ˆà42ˆà
    ˆà43        def init_game(self):ˆà
    ˆà44                self.user = User(keys)ˆà
    ˆà45                tank = Tank(null, self.user)ˆà
    ˆà46                self.game = Game(bodies, users=[], *game_size)ˆà
    1347ˆà
    1448        def init_ui(self):ˆà
    òÀæ òÀæ ˆà
    1953ˆà
    2054        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)ˆà
    ˆà55                self.game.tanks[0].on_keypress(ev.keysym)ˆà
    3056ˆà
    3157        def step(self):ˆà
  • user.py

    r37 r38 ˆà
    11class User(object):     ˆà
    22ˆà
    3ˆà        def __init__(self, tank, keyset):ˆà
    4ˆà                self.tank = tankˆà
    ˆà3        def __init__(self, keyset):ˆà
    ˆà4                self.tank = Noneˆà
    55                self.keyset = keysetˆà
    66                self.base_left = Falseˆà
Note: See TracChangeset for help on using the changeset viewer.