学習記録 Ruby じゃんけんプログラム
def match
puts "最初はグー、じゃんけん...."
puts "グー[0]\nチョキ[1]\nパー[2]"
player = gets.to_i
enemy = rand(3)
#playerは入力に対応した番号に、enemyは0〜2のランダムな番号に
hands = ["グー", "チョキ", "パー"]
#手を配列に入れる。配列名 = [配列内容]
puts "あなたの手は:#{hands[player]},私の手は:#{hands[enemy]}です"
#player,enemyは数値になっている。配列名[数値]で配列の数値番目のものを取り出す、というよううになる。
if player == enemy
puts "あいこで"
return true
#あいこの場合はループを継続させたいので、matchの値をtrueとして返す
elsif (player == 0 && enemy == 1)||(player == 1 && enemy ==2)||(player == 2 && enemy == 0)
#条件式はそれぞれかっこでくくる。
puts "あなたの勝ちです"
return false
#勝負がついたのでループ処理を止めるために、matchの値をfalseにしてループを止める
else
puts "あなたの負けです"
return false
#勝負がついたのでループ処理を止めるために、matchの値をfalseにしてループを止める
end
end
game = true
#falseになるまでは処理がループするようにしたいので、最初はループ状態にするためにtrueを入れておく
while game
#この時点のgameはtrueなのでループ状態
game = match
end