用python写一个做迷藏的游戏
时间: 2024-02-14 20:29:49 浏览: 29
当然可以!以下是一个简单的 Python 编写的迷藏游戏示例:
```python
import random
# 创建迷藏地图
def create_map(size):
map = []
for _ in range(size):
row = ["O"] * size
map.append(row)
return map
# 在地图上随机放置宝藏和玩家
def place_objects(map, num_objects):
size = len(map)
objects = ["T"] * num_objects + ["P"]
random.shuffle(objects)
for obj in objects:
while True:
row = random.randint(0, size - 1)
col = random.randint(0, size - 1)
if map[row][col] == "O":
map[row][col] = obj
break
# 打印地图
def print_map(map):
for row in map:
print(" ".join(row))
print()
# 游戏主循环
def game_loop(map):
size = len(map)
player_pos = None
num_treasures = sum(row.count("T") for row in map)
while True:
print_map(map)
move = input("请输入移动方向 (上: w, 下: s, 左: a, 右: d): ")
# 移动玩家
if move == "w" and player_pos[0] > 0:
map[player_pos[0]][player_pos[1]] = "O"
player_pos[0] -= 1
elif move == "s" and player_pos[0] < size - 1:
map[player_pos[0]][player_pos[1]] = "O"
player_pos[0] += 1
elif move == "a" and player_pos[1] > 0:
map[player_pos[0]][player_pos[1]] = "O"
player_pos[1] -= 1
elif move == "d" and player_pos[1] < size - 1:
map[player_pos[0]][player_pos[1]] = "O"
player_pos[1] += 1
# 检查是否找到宝藏或者游戏结束
if map[player_pos[0]][player_pos[1]] == "T":
num_treasures -= 1
print("你找到了一个宝藏!还剩下", num_treasures, "个宝藏。")
if num_treasures == 0:
print("恭喜你找到了所有宝藏,游戏结束!")
break
elif map[player_pos[0]][player_pos[1]] == "P":
print("很遗憾,你被抓住了!游戏结束!")
break
else:
map[player_pos[0]][player_pos[1]] = "P"
# 游戏入口函数
def play_game(size, num_treasures):
map = create_map(size)
place_objects(map, num_treasures)
player_pos = [random.randint(0, size - 1), random.randint(0, size - 1)]
map[player_pos[0]][player_pos[1]] = "P"
print("欢迎来到迷藏游戏!")
print_map(map)
game_loop(map)
# 启动游戏
play_game(5, 3)
```
这个游戏使用方向键来移动玩家,目标是在地图上找到所有的宝藏(T)而不被抓住(P)。你可以根据自己的需求修改地图大小和宝藏数量。祝你玩得愉快!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)