クジラの練習帳014(じゃんけんゲーム)
クジラの練習帳014
じゃんけんの画像が無かったことをここで謝罪させていただきます。
技術ブログの更新初めは軽めに、
何も見ずに「じゃんけんができるゲーム」を作り、後で調べて出てきたじゃんけんゲームと比較してみたいと思います。
作成したゲーム
ユーザー(user)の対戦相手をボット(bot)。
botは配列からランダムに手を取得する簡単な仕組みになっていて、userが入力した手とif文で比較し結果を出力している。
出力結果
個人的不満点
- コードが長くなっている(確実)
- グー、チョキ、パーを数字で管理したいが分かりにくのではないか?
- randメソッドを使いたい
- 勝ち負けの判断をもっと簡単に出来ないか?
検索して書き直し(めっちゃ良くなった)
userに何を出すか入力させる場面
puts "[0]グー\n[1]チョキ\n[2]パー\nの中から選択し数字で入力してください"
user = gets.to_i
これで不満点の2つ目3つ目がクリアできるようになった!
botの手を決める
bot = rand(3)
randメソッドで乱数生成をする。
userとbotが何を出したかを表示させる
janken = ["グー", "チョキ", "パー"]
puts "botは#{janken[bot]}"
puts "あなたは#{janken[user]}"
これで数字からグーチョキパーの表示をすることができた。
勝ち負け判断
if bot - user == -2 || bot - user == 1
puts "勝ち"
elsif bot == user
puts "あいこ"
else
puts "負け"
end
こちらは他の方のブログで書かれていた勝ち負け判断の中で一番短く理想だと感じました。
出力結果
全体
puts "ジャンケンゲーム\n[0]グー\n[1]チョキ\n[2]パー\nの中から選択し数字で入力してください"
user = gets.to_i
bot = rand(3)
janken = ["グー", "チョキ", "パー"]
puts "\nbotは#{janken[bot]}"
puts "あなたは#{janken[user]}\n結果は..."
if bot - user == -2 || bot - user == 1
puts "勝ち"
elsif bot == user
puts "あいこ"
else
puts "負け"
end
何も見ずに作った物と検索した後で作った物との差を縮められるように今年も頑張ります。ありがとうございました。
参考にした記事
前回:クジラの練習帳013(カレンダー作成) - whale_86’s blog