数字华容道代码
时间: 2024-02-03 13:11:44 浏览: 124
数字华容道
以下是一个简单的数字华容道代码,使用 Python 语言实现:
```python
import random
# 初始化数字华容道
puzzle = [1, 2, 3, 4, 5, 6, 7, 8, 0]
random.shuffle(puzzle)
# 打印数字华容道
def print_puzzle():
for i in range(3):
print(puzzle[i*3:i*3+3])
# 移动数字
def move(num):
index = puzzle.index(num) # 找出数字的位置
if index % 3 != 0 and puzzle[index-1] == 0: # 可以向左移动
puzzle[index-1], puzzle[index] = puzzle[index], puzzle[index-1]
elif index % 3 != 2 and puzzle[index+1] == 0: # 可以向右移动
puzzle[index+1], puzzle[index] = puzzle[index], puzzle[index+1]
elif index > 2 and puzzle[index-3] == 0: # 可以向上移动
puzzle[index-3], puzzle[index] = puzzle[index], puzzle[index-3]
elif index < 6 and puzzle[index+3] == 0: # 可以向下移动
puzzle[index+3], puzzle[index] = puzzle[index], puzzle[index+3]
else:
print("不能移动该数字!")
# 判断是否完成游戏
def is_finished():
return puzzle == [1, 2, 3, 4, 5, 6, 7, 8, 0]
# 主程序
print_puzzle()
while not is_finished():
num = int(input("请输入要移动的数字:"))
move(num)
print_puzzle()
print("恭喜你完成游戏!")
```
该代码会先随机初始化一个数字华容道,然后在每次循环中接受用户输入一个要移动的数字,如果该数字可以移动,则移动该数字并打印当前的数字华容道,直到游戏完成为止。
阅读全文