Ошибка в написании сценариев для интерпретатора bash Linux для терминала на основе игры
Привет всем, я работаю с Debian уже пару месяцев для школы и потому, что с ним очень удобно работать. но теперь я хочу сделать игру для терминала. Более высокая или более низкая карточная игра (тоже для школы, но я хотел сделать это до того, как мне дали это задание). Вы должны выбрать случайную карту, а затем она спросит, хотите ли вы сделать ставку высоко или низко. Когда вы выберете ставку, он создаст еще одну случайную карту, а затем проверит, является ли новая карта выше или ниже. У меня все еще есть несколько проблем, которые я не могу найти сам, и надеюсь, что вы, ребята, сможете привести меня в правильном направлении.
Что я уже пробовал:
#!/bin/bash score=0 uitkomst=juist waardegok=0 echo "Hallo, welkom bij het spel {Hoger of Lager}" echo "Het doel van het spel is om juist te kunnen gokken..." echo "...Met kaarten." echo "Je krijgt een kaart en jij moet gokken of de volgende kaart" echo "hoger of lager in waarde is." echo "Als je juist hebt geraden wordt uw juiste gok opgeslagen." echo "veel succes!!" Number=$(($RANDOM % 52)) KAARTEN=(Harten1 Harten2 Harten3 Harten4 Harten5 Harten6 Harten7 Harten8 Harten9 Harten10 Harten11 Harten12 Harten13 Klaver1 Klaver2 Klaver3 Klaver4 Klaver5 Klaver6 Klaver7 Klaver8 Klaver9 Klaver10 Klaver11 Klaver12 Klaver13 Schop1 Schop2 Schop3 Schop4 Schop5 Schop6 Schop7 Schop8 Schop9 Schop10 Schop11 Schop12 Schop13 Ruit1 Ruit2 Ruit3 Ruit4 Ruit5 Ruit6 Ruit7 Ruit8 Ruit9 Ruit10 Ruit11 Ruit12 Ruit13) Gokkaart=${KAARTEN[$Number]} echo " " echo "De kaart is een $Gokkaart" waardekaart=$((Number+1)) until [ $uitkomst != juist ] do if [ "$score" -ge 1 ]; then Number=$(($RANDOM % 52)) Gokkaart=${KAARTEN[$Number]} oldNumber=$Number echo "De kaart is $Gokkaart2" elif [ "$score" -eq 0 ]; then echo "Laten we beginnen" fi echo " " echo -n "hoger of lager? type [H of L] > " read gok echo "gok: $gok" if [ "$gok" = "H" ]; then echo "Uw gok is hoger" waardegok=54 elif [ "$gok" = "L" ]; then echo "Uw gok is lager" waardegok=-1 fi if [ "$score" -ge 1 ]; then oldNumber=$Number2 elif [ "$score" -eq 0 ]; then oldNumber=$gok fi Number2=$(($RANDOM % 52)) KAARTEN2=(Harten1 Harten2 Harten3 Harten4 Harten5 Harten6 Harten7 Harten8 Harten9 Harten10 Harten11 Harten12 Harten13 Klaver1 Klaver2 Klaver3 Klaver4 Klaver5 Klaver6 Klaver7 Klaver8 Klaver9 Klaver10 Klaver11 Klaver12 Klaver13 Schop1 Schop2 Schop3 Schop4 Schop5 Schop6 Schop7 Schop8 Schop9 Schop10 Schop11 Schop12 Schop13 Ruit1 Ruit2 Ruit3 Ruit4 Ruit5 Ruit6 Ruit7 Ruit8 Ruit9 Ruit10 Ruit11 Ruit12 Ruit13 ) Gokkaart2=${KAARTEN2[$Number2]} echo "De volgende kaart ....." waardekaart2=$((Number2+1)) if [ "$Number2" -ge 0 ] && [ "$Number2" -le 12 ]; then echo "De volgende kaart is een harten, namelijk $Gokkaart2" if [ $waardegok -gt $waardekaart2 ] && [ "$oldNumber -gt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " elif [ $waardegok -lt $waardekaart2 ] && [ "$oldNumber -lt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " else echo "fout, goed geprobeert" uitkomst=false fi elif [ "$Number2" -ge 13 ] && [ "$Number2" -le 25 ]; then echo "De volgende kaart is een klaver, namelijk $Gokkaart2" if [ $waardegok -gt $waardekaart2 ] && [ "$oldNumber -gt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " elif [ $waardegok -lt $waardekaart2 ] && [ "$oldNumber -lt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " else echo "fout, goed geprobeert" uitkomst=false fi elif [ "$Number2" -ge 26 ] && [ "$Number2" -le 38 ]; then echo "De volgende kaart is een Schoppen, namelijk $Gokkaart2" if [ $waardegok -gt $waardekaart2 ] && [ "$oldNumber -gt $Number2" ] ; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " elif [ $waardegok -lt $waardekaart2 ] && [ "$oldNumber -lt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " else echo "fout, goed geprobeert" uitkomst=false fi elif [ "$Number2" -ge 39 ] && [ "$Number2" -le 52 ]; then echo "De volgende kaart is een Ruiten, namelijk $Gokkaart2" if [ $waardegok -gt $waardekaart2 ] && [ "$oldNumber -gt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " elif [ $waardegok -lt $waardekaart2 ] && [ "$oldNumber -lt $Number2" ]; then echo "goed gegokt" score=$((score+1)) echo "uw score is nu $score" echo " " else echo "fout, goed geprobeert" uitkomst=false fi fi done echo " uw score is $score"
Richard MacCutchan
Правильное направление-это сделать некоторую отладку и сказать нам точно, в чем проблема; мы не можем ожидать, что догадаемся.