Linux Shell脚本写猜拳游戏

Linux Shell脚本写猜拳游戏,第1张

#!/bin/bash

cp=$(( $RANDOM % 3 )) #获取0-2的随机数

echo "请输入您的选择:0石头,1剪刀,2布。"

read my

case $my in

0)

if [ $cp = 0 ]then

echo "您出石头,电脑出石头"

echo "结果:平局"

elif [ $cp = 1 ]then

echo "您出石头,电脑出剪刀"

echo "结果:恭喜您获胜!"

else

echo "您出石头,电脑出布"

echo "结果:很遗憾您输了"

fi

1)

if [ $cp = 0 ]then

echo "您出剪刀,电脑出石头"

echo "结果:很遗憾您输了"

elif [ $cp = 1 ]then

echo "您出剪刀,电脑出剪刀"

echo "结果:平局"

else

echo "您出剪刀,电脑出布"

echo "结果:恭喜您获胜"

fi

2)

if [ $cp = 0 ]then

echo "您出布,电脑出石头"

echo "结果:恭喜您获胜"

elif [ $cp = 1 ]then

echo "您出布,电脑出剪刀"

echo "结果:很遗憾您输了"

else

echo "您出布,电脑出布"

echo "结果:平局"

fi

*)

echo "您的输入有误,请重新开始"

exit 1

esac

你是指这个脚本的意思吗?

那我把意思解释如下咯:

#!/bin/bash        #调用bash来执行程序

for i in $( seq 1 54)          #初始化牌

do

        ok[$i]=1

done                        #for循环用于把54个牌都初始化为1

max=0                           #初始化赢家

for i in $(seq 1 4)            #游戏开始

do

        echo "Player $i"        #玩家i 的回合

        a=$((RANDOM%53+1))      #抽牌

        while [[ ${ok[$a]} -eq 0 ]]

        do

        a=$((RANDOM%53+1))

        done                    #随机生成一张牌,1-54间

        ok[$a]=0

        if [ $a -gt $max ] then    #if语句表示大于max这张牌的,就赋值给max,下表给num,下标表示第几张牌

                max=$a

                num=$i

        fi

        HuaSe=$((a%4))          #生成花色              

        case $HuaSe in            #case语句得余数来表示花色

                0)HS='C'      #草花  

                1)HS='D'      #方块

                2)HS='H'      #红心

                3)HS='S'      #黑心

        esac

        DaXiao=$((a/4+1))       #生成牌值

case $DaXiao in                #这部分是来生成对应的牌

                2|3|4|5|6|7|8|9|10) echo $HS$DaXiao

                11)echo $HS 'J'

                12)echo $HS 'Q'

                13)echo $HS 'K'

                1 )echo $HS 'A'

                14)echo 'small JOKE ' #小王

                15)echo 'big   JOKE ' #大王

        esac

        read ll

done

echo "Player $numwin !"        #游戏结果,这里写错了,怎么出现个numwin变量,中间有空格吧

很多地方写的有问题,少了一个部分,如果硬要说这个脚本是要干嘛的话,后面大部分是输出那张牌,有用的就是if语句,就是找到一个大于max的牌,但是后面怎么出现了个read,唉,你想干嘛私聊我吧,我直接教你做


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8662916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存