Bash学习的快乐之旅:3个命令行游戏
原创
Bash学习的愉快之旅:3个命令行游戏
学习Bash脚本编程大概会让人感到有些枯燥,但通过一些有趣的游戏,我们可以让这个过程变得更加有趣和愉快。以下是一些单纯的命令行游戏,它们可以帮助你更好地掌握Bash命令,同时也能让你在轻松的氛围中学习。
1. 命令行猜数字游戏
这个游戏的目标是猜测一个随机生成的数字。你可以通过比较你的猜测和程序给出的提示来缩小范围,直到猜中正确的数字。
#!/bin/bash
# 猜数字游戏
# 生成一个1到100之间的随机数
secret_number=$((RANDOM % 100 + 1))
attempts=0
echo "欢迎来到命令行猜数字游戏!"
echo "我已经想好了一个1到100之间的数字,你能猜到它吗?"
while true; do
echo "请输入你的猜测:"
read guess
# 检查猜测是否为数字
if ! [[ $guess =~ ^[0-9]+$ ]]; then
echo "谬误:请输入一个有效的数字。"
continue
fi
attempts=$((attempts + 1))
# 比较猜测和随机数
if [ $guess -eq $secret_number ]; then
echo "恭喜你!你猜对了数字 $secret_number!"
echo "你总共尝试了 $attempts 次。"
break
elif [ $guess -lt $secret_number ]; then
echo "太低了!再试一次。"
else
echo "太高了!再试一次。"
fi
done
2. 文件迷宫游戏
在这个游戏中,你需要在一系列的目录和子目录中找到一条路径,从起点到达终点。这是一个锻炼文件系统导航技巧的好方法。
#!/bin/bash
# 文件迷宫游戏
# 创建迷宫结构
mkdir -p maze/room1/maze/room2/maze/room3/maze/room4/maze/room5/maze/room6/maze/room7/maze/room8/maze/room9/maze/room10/maze/room11/maze/room12
touch maze/room1/exit
# 初始化变量
current_room="maze/room1"
end_room="maze/room12/exit"
echo "欢迎来到文件迷宫游戏!"
echo "你的目标是找到出口。"
while [ "$current_room" != "$end_room" ]; do
echo "你当前在 $current_room"
echo "你可以使用 'cd' 命令来移动到不同的房间。"
# 读取用户输入
read -p "请输入你的命令: " command
# 执行命令
if [ "$command" = "cd .." ]; then
current_room=$(dirname "$current_room")
elif [ -d "$current_room/$command" ]; then
current_room="$current_room/$command"
else
echo "谬误:该命令不可用。"
fi
done
echo "恭喜你!你找到了出口!"
3. 命令行猜单词游戏
这个游戏类似于经典的“猜单词”游戏,但使用的是命令行界面。你需要利用提示猜测一个单词。
#!/bin/bash
# 命令行猜单词游戏
# 单词列表
words=("apple" "banana" "cherry" "date" "elderberry")
# 随机选择一个单词
selected_word=${words[$RANDOM % ${#words[@]}]}
# 初始化变量
attempts=0
secret_word_length=${#selected_word}
echo "欢迎来到命令行猜单词游戏!"
echo "我已经想好了一个单词,你有10次机会猜到它。"
while [ $attempts -lt 10 ]; do
# 显示提示
echo "单词长度为 $secret_word_length,请输入你的猜测:"
read guess
# 检查猜测
if [ "$guess" = "$selected_word" ]; then
echo "恭喜你!你猜对了单词 '$guess'!"
break