|
发表于 2018-6-3 13:19:12
|
显示全部楼层
- import random
- class tortoise:
- def __init__(self):
- self.HP = 100
- self.x = random.randint(0,10)
- self.y = random.randint(0,10)
- self.a = random.randint(-2,2)
- self.b = random.randint(-2,2)
- def move(self):
- self.a = random.randint(-2,2)
- self.b = random.randint(-2,2)
- if abs(self.a) + abs(self.b) <= 2 and 0 <= self.a + self.x <= 10 and 0 <= self.b + self.y <= 10 and self.HP > 0:
- self.x += self.a
- self.y += self.b
- self.HP -= 1
- return (self.x,self.y)
- def eat(self):
- self.HP += 10
- if self.HP > 100:
- self.HP = 100
- class fish:
- def __init__(self):
- self.x = random.randint(0,10)
- self.y = random.randint(0,10)
- self.a = random.randint(-2,2)
- self.b = random.randint(-2,2)
- def move(self):
- self.a = random.randint(-2,2)
- self.b = random.randint(-2,2)
- if abs(self.a) + abs(self.b) == 1 and 0 <= self.a + self.x <= 10 and 0 <= self.b + self.y <= 10:
- self.x += self.a
- self.y += self.b
- return (self.x,self.y)
-
- t = tortoise()
- flist = []
- for i in range(10):
- f = fish()
- flist.append(f)
- while 1:
- if not t.HP:
- print("乌龟血槽空了")
- break
- pos = t.move()
- for each in flist:
- if each.move() == pos:
- t.eat()
- deadf = flist.pop()
- print(deadf,"被吃掉了")
- if flist == []:
- print("鱼被吃光了")
- break
复制代码 |
|