Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/tanchiki/annotate/33bf0d6f70ae/body.py
Дата изменения: Unknown
Дата индексирования: Fri Feb 28 23:46:56 2014
Кодировка:
tanchiki: body.py annotate

tanchiki

annotate body.py @ 9:33bf0d6f70ae

Automated merge with ssh://kodomo/tanchiki
author Daniil Alexeyevsky <me.dendik@gmail.com>
date Sat, 18 Dec 2010 16:09:51 +0300
parents af02cd410e37
children e14e6cf3e9d3
rev   line source
olya_zol@2 1 import vector
olya_zol@3 2 import math
olya_zol@3 3 delta_phi = math.pi # deltha phi = math.pi
olya_zol@3 4 speed_delta = 1
olya_zol@3 5 delta_t = 1
olya_zol@3 6 max_velocity = 2
olya_zol@2 7
olya_zol@1 8 class Body(object):
olya_zol@3 9 def __init__(self, position, velocity, next_position, radius):
olya_zol@1 10 self.position = position
olya_zol@1 11 self.velocity = velocity
olya_zol@1 12 self.next_position = next_position
olya_zol@1 13 self.radius = radius
olya_zol@1 14
olya_zol@1 15
olya_zol@1 16 class Tank(Body):
olya_zol@6 17 radius = 1
olya_zol@1 18 def __init__(self, strength, turret, base_orientation, game, user):
olya_zol@6 19 Body.__init__(self, ...)
olya_zol@1 20 self.strength = strength
olya_zol@1 21 self.turret = turret
olya_zol@3 22 self.base_orientation = base_orientation # 1 or -1
olya_zol@1 23 self.game = game
olya_zol@1 24 self.user = user
olya_zol@3 25
olya_zol@6 26
olya_zol@6 27 # def rotate_base(tank, angle):
olya_zol@6 28 # tank.velocity.phi += angle
olya_zol@6 29 # tank.velocity.phi *= tank.base_orientation
olya_zol@1 30
olya_zol@2 31 def rotate_turret(tank, angle):
olya_zol@1 32 pass
olya_zol@1 33
olya_zol@2 34 def accelerate(tank, speed_delta):
olya_zol@3 35 tank.velocity.rho += speed_delta * delta_t
olya_zol@3 36 if tank.velocity.rho > max_velocity:
olya_zol@3 37 tank.velocity.rho = max_velocity
olya_zol@1 38
olya_zol@2 39 def fire(tank):
olya_zol@1 40 pass
olya_zol@1 41
olya_zol@2 42 def on_tick(tank,other_tanks, bullets):
olya_zol@3 43 if tank.user.base_left == True:
olya_zol@3 44 tank.rotate_base(delta_phi)
olya_zol@3 45 if tank.user.base_right == True:
olya_zol@3 46 tank.rotate_base(-1*delta_phi)
olya_zol@3 47 if tank.user.accelerate == True:
olya_zol@3 48 tank.accelerate(speed_delta)
olya_zol@1 49
olya_zol@2 50 def on_spawn(tank):
olya_zol@1 51 pass
olya_zol@1 52
olya_zol@2 53 def on_death(tank) :
olya_zol@1 54 pass
olya_zol@1 55
olya_zol@2 56 def on_hit(tank,bullet):
olya_zol@1 57 pass
olya_zol@1 58
olya_zol@1 59 def on_collision(tank):
olya_zol@1 60 pass
olya_zol@1 61
olya_zol@2 62 def on_wall(tank):
olya_zol@1 63 pass
olya_zol@1 64
olya_zol@1 65 class Bullet(Body):
olya_zol@6 66 radius = 0.1
olya_zol@1 67 pass