python拼图小游戏代码
时间: 2023-11-10 21:03:08 浏览: 249
拼图小游戏原代码
下面是一个 Python 编写的拼图小游戏的示例代码:
```python
import random
# 创建一个二维数组,表示拼图的初始状态
puzzle = [[1, 2, 3],
[4, 5, 6],
[7, 8, 0]]
# 用于存储空格的坐标
blank = (2, 2)
# 检查拼图是否已经完成
def is_finished():
count = 1
for i in range(3):
for j in range(3):
if puzzle[i][j] != count % 9:
return False
count += 1
return True
# 移动数字块
def move_block(row, col):
global blank
# 检查是否可以移动
if (abs(blank[0] - row) == 1 and blank[1] == col) or (abs(blank[1] - col) == 1 and blank[0] == row):
puzzle[blank[0]][blank[1]], puzzle[row][col] = puzzle[row][col], puzzle[blank[0]][blank[1]]
blank = (row, col)
# 打印拼图
def print_puzzle():
for i in range(3):
for j in range(3):
print(puzzle[i][j], end=' ')
print()
# 游戏主循环
while True:
print_puzzle()
if is_finished():
print("恭喜你完成了拼图!")
break
row, col = map(int, input("请输入要移动的数字块的位置,以空格分隔(例如:1 2):").split())
move_block(row, col)
```
这个代码实现了一个简单的拼图小游戏。游戏开始时,会显示一个3x3的拼图方块,其中有1到8的数字块和一个空格。玩家通过输入要移动的数字块的位置,将数字块移动到空格的位置,最终将数字块按照正确的顺序排列完成拼图。
代码中的 `puzzle` 是一个二维数组,表示拼图的当前状态。`blank` 是一个元组,表示空格的坐标。`is_finished` 函数用于检查拼图是否已经完成,`move_block` 函数用于移动数字块,`print_puzzle` 函数用于打印拼图。
在游戏主循环中,首先打印当前的拼图状态,然后让玩家输入要移动的数字块的位置,通过 `move_block` 函数移动数字块,直到拼图完成。完成时会打印恭喜信息并退出循环。
阅读全文