その昔作った「じゃんけんゲーム」です。何回勝負にするかは簡単に変更できるようにしてあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
#!/bin/bash ########################################################### # # じゃんけんゲーム # ルール: 普通のじゃんけんゲーム # 何回勝負にするか設定可能 # 引数 : なし # # 作成日:2013/06/23 # ########################################################### #何回勝負 HOW_MANY_TIMES=3 #初期値代入 COUNT=1 PLAYER_WIN=0 CPU_WIN=0 #メイン処理 echo "じゃんけんゲームを開始します" echo "先に${HOW_MANY_TIMES}回勝った方が勝ちです" echo sleep 3 echo "それではじゃんけんゲームを開始します" echo sleep 3 while [ ${PLAYER_WIN} -lt ${HOW_MANY_TIMES} -a ${CPU_WIN} -lt ${HOW_MANY_TIMES} ] do NG_FLAG=1 #プレイヤー入力値チェックのループ処理 while [ ${NG_FLAG} -eq 1 ] do echo echo "${COUNT}回戦!!" echo sleep 2 echo "じゃん" sleep 1 echo "けん、" echo sleep 1 #プレイヤーの手を決定 echo "数字を入力してください" echo "0:グー 1:チョキ 2:パー" read PLAYER_NUM echo #入力値が正しいか判別 case ${PLAYER_NUM} in 0) NG_FLAG=0 ;; 1) NG_FLAG=0 ;; 2) NG_FLAG=0 ;; *) echo "正しい数字を入力してください" ;; esac done #コンピュータの手を決定 CPU_NUM=`expr $RANDOM % 3` case ${PLAYER_NUM} in 0) PLAYER_HAND="グー" ;; 1) PLAYER_HAND="チョキ" ;; 2) PLAYER_HAND="パー" ;; esac case ${CPU_NUM} in 0) CPU_HAND="グー" ;; 1) CPU_HAND="チョキ" ;; 2) CPU_HAND="パー" ;; esac #勝敗判定 if [ ${CPU_NUM} -eq $((PLAYER_NUM+1)) ]; then #プレイヤーの勝ち数加算 PLAYER_WIN=`expr ${PLAYER_WIN} + 1` JUDGE=0 elif [ ${CPU_NUM} -eq 0 -a ${PLAYER_NUM} -eq 2 ]; then #プレイヤーの勝ち数加算 PLAYER_WIN=`expr ${PLAYER_WIN} + 1` JUDGE=0 elif [ ${CPU_NUM} -eq ${PLAYER_NUM} ]; then #引き分け JUDGE=2 else #CPUの勝ち数加算 CPU_WIN=`expr ${CPU_WIN} + 1` JUDGE=1 fi #結果を表示 case ${JUDGE} in 0) echo "YOU: ${PLAYER_HAND}" echo "CPU: ${CPU_HAND}" echo "あなたの勝ち !!" COUNT=`expr ${COUNT} + 1` ;; 1) echo "YOU: ${PLAYER_HAND}" echo "CPU: ${CPU_HAND}" echo "あなたの負け !!" COUNT=`expr ${COUNT} + 1` ;; 2) echo "YOU: ${PLAYER_HAND}" echo "CPU: ${CPU_HAND}" echo "あいこです" ;; esac echo "${PLAYER_WIN}勝${CPU_WIN}負" echo sleep 1 done if [ ${PLAYER_WIN} -eq ${HOW_MANY_TIMES} ]; then echo "おめでとう、あなたの勝ちです!" else echo "あなたの負けです" fi |
コメント