求人帮忙调试一个linux程序,这是一个类似扑克牌的游戏,请写出这个小游戏的玩法

2025-04-06 12:35:31
推荐回答(1个)
回答1:

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

那我把意思解释如下咯:

#!/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,唉,你想干嘛私聊我吧,我直接教你做