用代码写一个推箱子的游戏
时间: 2023-04-09 18:05:03 浏览: 137
好的,以下是一个简单的推箱子游戏的代码:
```python
# 推箱子游戏
# 地图
map = [
"#####",
"# #",
"# #",
"#O #",
"#####"
]
# 玩家初始位置
player_x = 1
player_y = 1
# 目标位置
dest_x = 3
dest_y = 3
# 箱子初始位置
box_x = 2
box_y = 1
# 游戏循环
while True:
# 打印地图
for row in map:
print(row)
# 判断是否胜利
if box_x == dest_x and box_y == dest_y:
print("You win!")
break
# 获取玩家输入
move = input("Enter your move (w/a/s/d): ")
# 移动箱子
if move == "w":
if box_x == player_x-1 and box_y == player_y:
if map[box_x-1][box_y] == " ":
box_x -= 1
player_x -= 1
else:
print("Can't move!")
else:
player_x -= 1
elif move == "a":
if box_x == player_x and box_y == player_y-1:
if map[box_x][box_y-1] == " ":
box_y -= 1
player_y -= 1
else:
print("Can't move!")
else:
player_y -= 1
elif move == "s":
if box_x == player_x+1 and box_y == player_y:
if map[box_x+1][box_y] == " ":
box_x += 1
player_x += 1
else:
print("Can't move!")
else:
player_x += 1
elif move == "d":
if box_x == player_x and box_y == player_y+1:
if map[box_x][box_y+1] == " ":
box_y += 1
player_y += 1
else:
print("Can't move!")
else:
player_y += 1
else:
print("Invalid move!")
```