基于paython写一个种田小游戏
时间: 2024-01-22 08:21:00 浏览: 29
好的,下面是一个简单的种田小游戏的代码示例:
```python
import random
# 初始化玩家的金钱和种子数量
money = 1000
seed_count = 5
# 定义作物类
class Crop:
def __init__(self, name, cost, time, income):
self.name = name
self.cost = cost
self.time = time
self.income = income
def grow(self):
self.time -= 1
def harvest(self):
global money
money += self.income
print(f"你获得了 {self.income} 元金钱!")
def is_ready(self):
return self.time == 0
# 定义作物列表
crop_list = [
Crop("小麦", 100, 5, 200),
Crop("玉米", 200, 10, 500),
Crop("水稻", 300, 15, 800),
]
# 游戏主循环
while True:
# 打印玩家的状态
print(f"你现在有 {money} 元金钱和 {seed_count} 个种子。")
# 让玩家选择要种植的作物
print("请选择要种植的作物:")
for i, crop in enumerate(crop_list):
print(f"{i + 1}. {crop.name}(单价:{crop.cost},成熟时间:{crop.time})")
choice = input("请输入数字选择:")
if choice.isdigit():
choice = int(choice) - 1
if choice >= 0 and choice < len(crop_list):
crop = crop_list[choice]
if money >= crop.cost and seed_count > 0:
# 减少玩家的金钱和种子数量,种植作物
money -= crop.cost
seed_count -= 1
print(f"你花费了 {crop.cost} 元金钱和一个种子种植了 {crop.name}。")
planted_crop = crop
elif money < crop.cost:
print("你没有足够的金钱购买这种作物!")
else:
print("你没有足够的种子!")
else:
print("选择无效!")
else:
print("选择无效!")
# 让时间流逝,作物成长
days_passed = random.randint(1, 5)
for i in range(days_passed):
if planted_crop is not None:
planted_crop.grow()
if planted_crop.is_ready():
# 作物成熟,可以收割
print(f"{planted_crop.name} 成熟了!")
planted_crop.harvest()
planted_crop = None
# 让玩家决定是否继续游戏
choice = input("输入 q 退出游戏,其他键继续:")
if choice == "q":
break
print("游戏结束!")
```
这个游戏比较简单,玩家可以选择要种植的作物,然后等待作物成长并收获。玩家可以在种田过程中赚取金钱,用于购买更多的种子和种植更多的作物。