基于linuxshell编程--石头剪刀布游戏编程

石头剪刀布游戏编程

#!/bin/bash
#功能描述(Description):石头剪刀布游戏.
#计算机根据生成的随机数出拳,提示用户出拳,
#将用户的输入与计算机的随机数进行比较,比较输赢.

#1:石头,2:剪刀,3:布(随机数对3求模后,再加1的结果为1,2,3.)
computer=$[RANDOM%3+1]
clear
echo "#########################"
echo "#    石头剪刀布游戏.    #"
echo -e "#\033[32m 请您根据下列提示出拳: \033[0m#"
echo "#########################"
echo "|---------------|"
echo "|  1.石头.      |"
echo "|  2.剪刀.      |"
echo "|  3.布.        |"
echo "|---------------|"
read -p "请输入1-3的值:" person
clear
case $person in
1)
    if [[ "$computer" == 1 ]];then
        echo " __________________"
        echo "|    您出拳:石头.  |"
        echo "|计算机出拳:石头.  |"
        echo "|__________________|"
        echo -e "\033[32m平局.\033[0m"
    elif [[ "$computer" == 2 ]];then
        echo " __________________" 
        echo "|    您出拳:石头.  |"
        echo "|计算机出拳:剪刀.  |"
        echo "|__________________|"
        echo -e "\033[32m恭喜,您赢了!\033[0m"
    elif [[ "$computer" == 3 ]];then
        echo " __________________"
        echo "|    您出拳:石头.  |"
        echo "|计算机出拳:布.    |"
        echo "|__________________|"
        echo -e "\033[32m计算机赢!\033[0m"
    fi;;
2)
    if [[ "$computer" == 1 ]];then
        echo " __________________"
        echo "|    您出拳:剪刀.  |"
        echo "|计算机出拳:石头.  |"
        echo "|__________________|"
        echo -e "\033[32m计算机赢!\033[0m"
    elif [[ "$computer" == 2 ]];then
        echo " __________________"
        echo "|    您出拳:剪刀.  |"
        echo "|计算机出拳:剪刀.  |"
        echo "|__________________|"
        echo -e "\033[32m平局.\033[0m"
    elif [[ "$computer" == 3 ]];then
        echo " __________________"
        echo "|    您出拳:剪刀.  |"
        echo "|计算机出拳:布.    |"
        echo "|__________________|"
        echo -e "\033[32m恭喜,您赢了!\033[0m"
   fi;;
3)
    if [[ "$computer" == 1 ]];then
        echo " __________________"
        echo "|    您出拳:布.    |"
        echo "|计算机出拳:石头.  |"
        echo "|__________________|"
        echo -e "\033[32m恭喜,您赢了!\033[0m"
    elif [[ "$computer" == 2 ]];then
        echo " __________________"
        echo "|    您出拳:布.    |"
        echo "|计算机出拳:剪刀.  |"
        echo "|__________________|"
        echo -e "\033[32m计算机赢!\033[0m"
    elif [[ "$computer" == 3 ]];then
        echo " __________________"
        echo "|    您出拳:布.    |"
        echo "|计算机出拳:布.    |"
        echo "|__________________|"
        echo -e "\033[32m平局.\033[0m"
    fi;;
*)
    echo -e "\033[91m无效的输入值,请输入1-3范围内的值.\033[0m";;
esac

运行结果

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,让我们开始编写一个剪刀石头布游戏shell脚本吧! 首先,我们需要定义玩家和电脑的选择,可以使用随机数来实现电脑的随机选择。我们可以使用以下命令来生成1-3之间的随机数: ``` computer_choice=$((RANDOM % 3 + 1)) ``` 接下来,我们可以提示玩家输入他们的选择,并读取用户输入: ``` echo "请选择剪刀(1)、石头(2)或布(3):" read player_choice ``` 然后,我们可以使用一系列if语句来比较玩家和电脑的选择,并根据比较结果输出胜负信息: ``` if [ $player_choice -eq $computer_choice ]; then echo "平局!" elif [ $player_choice -eq 1 -a $computer_choice -eq 2 ]; then echo "你输了!" elif [ $player_choice -eq 1 -a $computer_choice -eq 3 ]; then echo "你赢了!" elif [ $player_choice -eq 2 -a $computer_choice -eq 1 ]; then echo "你赢了!" elif [ $player_choice -eq 2 -a $computer_choice -eq 3 ]; then echo "你输了!" elif [ $player_choice -eq 3 -a $computer_choice -eq 1 ]; then echo "你输了!" elif [ $player_choice -eq 3 -a $computer_choice -eq 2 ]; then echo "你赢了!" else echo "无效的选择!" fi ``` 最后,我们可以将上面的代码组合在一起,形成完整的剪刀石头布游戏shell脚本: ``` #!/bin/bash computer_choice=$((RANDOM % 3 + 1)) echo "请选择剪刀(1)、石头(2)或布(3):" read player_choice if [ $player_choice -eq $computer_choice ]; then echo "平局!" elif [ $player_choice -eq 1 -a $computer_choice -eq 2 ]; then echo "你输了!" elif [ $player_choice -eq 1 -a $computer_choice -eq 3 ]; then echo "你赢了!" elif [ $player_choice -eq 2 -a $computer_choice -eq 1 ]; then echo "你赢了!" elif [ $player_choice -eq 2 -a $computer_choice -eq 3 ]; then echo "你输了!" elif [ $player_choice -eq 3 -a $computer_choice -eq 1 ]; then echo "你输了!" elif [ $player_choice -eq 3 -a $computer_choice -eq 2 ]; then echo "你赢了!" else echo "无效的选择!" fi ``` 现在,您可以在Linux环境下运行此脚本,并与计算机进行一场愉快的剪刀石头布游戏了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值