import random
class Sprite:
step = [-2,+2,-3,+3]
def __init__(self,gm,point=None):
self.gm = gm
if point is None:
self.point = random.randint(0,20)
else:
self.point = point
def jump(self):
astep = random.choice(Sprite.step)
if 0 <= self.point + astep <= 20:
self.point += astep
class Ant(Sprite):
def __init__(self,gm,point=None):
super().__init__(gm,point)
self.gm.set_point('ant',self.point)
def jump(self):
super().jump()
self.gm.set_point('ant',self.point)
class Worm(Sprite):
def __init__(self,gm,point=None):
super().__init__(gm,point)
self.gm.set_point('worm',self.point)
def jump(self):
super().jump()
self.gm.set_point('worm',self.point)
class GameMap:
def __init__(self):
self.ant_point = None
self.worm_point = None
def catched(self):
print('ant:',self.ant_point,'worm:',self.worm_point)
if self.ant_point is not None and self.worm_point is not None and self.ant_point == self.worm_point:
return True
def set_point(self,src,point):
if src == 'ant':
self.ant_point = point
if src == 'worm':
self.worm_point = point
if __name__ == '__main__':
gm = GameMap()
worm = Worm(gm)
ant = Ant(gm)
while not gm.catched():
worm.jump()
ant.jump()<br>
Copyright © 2019- tachun.com.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务