python编写大鱼吃小鱼
时间: 2023-06-28 09:06:04 浏览: 100
大鱼吃小鱼
下面是一个简单的 Python 代码示例,实现大鱼吃小鱼的游戏。这个游戏中,玩家可以控制一条大鱼,通过吃小鱼来变得更强大。
```python
import random
class Fish:
def __init__(self, size):
self.size = size
self.alive = True
def get_eaten(self):
self.alive = False
def get_size(self):
return self.size
class BigFish(Fish):
def __init__(self, size):
super().__init__(size)
def eat(self, fish):
if fish.get_size() < self.size:
self.size += 1
fish.get_eaten()
class SmallFish(Fish):
def __init__(self, size):
super().__init__(size)
def grow(self):
self.size += 1
# 初始化大鱼和小鱼
big_fish = BigFish(5)
small_fish_list = [SmallFish(random.randint(1, 3)) for _ in range(10)]
# 游戏循环
while big_fish.alive and any([fish.alive for fish in small_fish_list]):
# 大鱼尝试吃小鱼
for small_fish in small_fish_list:
if small_fish.alive:
big_fish.eat(small_fish)
# 小鱼生长
for small_fish in small_fish_list:
if small_fish.alive:
small_fish.grow()
# 打印当前状态
print("Big Fish size:", big_fish.get_size())
print("Small Fish sizes:", [fish.get_size() for fish in small_fish_list])
# 游戏结束
if big_fish.alive:
print("You win!")
else:
print("You lose!")
```
在这个游戏中,我们定义了两个类 `Fish` 和它的子类 `BigFish` 和 `SmallFish`。`Fish` 类包含了所有鱼的共同属性和方法,比如大小和存活状态。`BigFish` 类是大鱼的类,它可以吃小鱼,并且会变得更强大。`SmallFish` 类是小鱼的类,它可以生长到更大的大小。
在游戏循环中,我们让大鱼尝试吃小鱼,然后让小鱼生长,直到游戏结束。最后,我们根据大鱼是否存活来判断游戏胜负。
阅读全文