用 shell 脚本写一个汉诺塔游戏。
时间: 2024-05-05 22:18:56 浏览: 115
C语言写的小游戏汉诺塔
4星 · 用户满意度95%
好的,让我为您解答。以下是一个简单的 shell 脚本实现汉诺塔游戏:
```
#!/bin/bash
move(){
echo "moving from $1 --> $2"
}
hanoi(){
if [ $1 -eq 1 ]
then
move $2 $3
else
hanoi $(( $1 - 1 )) $2 $4 $3
move $2 $3
hanoi $(( $1 - 1 )) $4 $3 $2
fi
}
hanoi $1 A C B
```
在这个脚本中,我们定义了三个杆子,分别用 A, B 和 C 表示。在调用 hanoi 函数时,我们传递了三个参数:$1 表示盘子的数量,$2 表示开始的杆子,$3 表示目标杆子,$4 表示辅助杆子。在 hanoi 函数中,我们首先检查盘子的数量是否为 1,如果是,则直接将盘子从 $2 移动到 $3 上。如果不是,则递归地将 n-1 个盘子从 $2 移动到 $4 上,然后将最后一个盘子从 $2 移动到 $3 上,最后再将 n-1 个盘子从 $4 移动到 $3 上。
阅读全文