下面是一个使用 Python 编写的汉诺塔游戏示例。在这个示例中,我将提供一个
递归函数来移动汉诺塔,并编写一个简单的用户界面来模拟游戏过程。
python
def hanoi(n, source, target, auxiliary):
"""
汉诺塔递归函数
:param n: 塔的层数
:param source: 起始柱子
:param target: 目标柱子
:param auxiliary: 辅助柱子
"""
if n > 0:
# 将前 n-1 个盘子从 source 移动到 auxiliary,以 target 为辅助柱子
hanoi(n-1, source, auxiliary, target)
# 将第 n 个盘子从 source 移动到 target
print(f'Move disk {n} from {source} to {target}')
# 将前 n-1 个盘子从 auxiliary 移动到 target,以 source 为辅助柱子
hanoi(n-1, auxiliary, target, source)
def play_hanoi(n):
"""
游戏界面,模拟汉诺塔游戏
:param n: 塔的层数
"""
hanoi(n, 'A', 'C', 'B') # 假设起始柱子为 A,目标柱子为 C,辅助柱子为 B
# 使用说明
print("""
汉诺塔游戏
使用说明:
1. 这是一个经典的汉诺塔问题模拟。
2. 输入一个正整数 n,代表汉诺塔的层数。
3. 程序将输出移动盘子的步骤,以完成汉诺塔游戏。