写一个大鱼吃小鱼的代码
时间: 2023-12-01 11:54:34 浏览: 165
大鱼吃小鱼参考代码
5星 · 资源好评率100%
好的,以下是一份简单的大鱼吃小鱼的代码示例:
```python
class Fish:
def __init__(self, size, direction):
self.size = size
self.direction = direction
def update(self, width):
self.direction *= -1
self.size += self.direction
def can_eat(self, other):
return self.size > other.size
class Game:
def __init__(self, fish_count, width):
self.fishes = [Fish(random.randint(1, 10), random.choice([-1, 1])) for _ in range(fish_count)]
self.width = width
def update(self):
for fish in self.fishes:
fish.update(self.width)
self.fishes = [fish for fish in self.fishes if fish.size > 0]
self.fishes.sort(key=lambda x: x.size, reverse=True)
for fish in self.fishes:
for other_fish in self.fishes:
if fish.can_eat(other_fish):
self.fishes.remove(other_fish)
fish.size += other_fish.size
break
def display(self):
for fish in self.fishes:
print(f"Fish size: {fish.size}\tFish direction: {'Left' if fish.direction == -1 else 'Right'}")
print("---------------")
```
这里有两个类,`Fish` 和 `Game`。`Fish` 类表示每条鱼,有一个大小属性和一个方向属性。`Game` 类表示整个游戏,有一个鱼群和游戏宽度属性。游戏的基本逻辑是,每条鱼在每个时间步长更新自己的大小和方向,然后检查是否可以吃其他更小的鱼。如果一条鱼可以吃掉另一条鱼,它会将另一条鱼的大小加到自己的大小上。代码中使用了一些简单的参数,如鱼的初始数量、游戏宽度等。你可以根据自己的需要进行调整。
阅读全文