前回のプログラムでは勝敗判定が決定したあとも、それ以降のプログラムが実行されています。
確認するために、前回のプログラムを変更します。
「#」以降の行はコメントとしてRubyは実行しません。

goo = 1
par = 2
choki = 3

human_hand = rand(3)+1 #この部分を変更
computer_hand = rand(3)+1

print("引き分け判定を実行","\n") #追加
if computer_hand == human_hand then
  print("引き分け","\n")
  #exit #追加
end

print("グー判定を実行","\n") #追加
if human_hand == goo then
  if (computer_hand - goo) == 2 then
    print("You Win","\n")
    #exit #追加
  end

  if (computer_hand - goo) == 1 then
    print("You Lose","\n")
    #exit #追加
  end
end

print("パー判定を実行","\n") #追加
if human_hand == par then
  if (computer_hand - par) == -1 then
    print("You Win","\n")
    #exit #追加
  end

  if (computer_hand - par) == 1 then
    print("You Lose","\n")
    #exit #追加
  end
end

print("チョキ判定を実行","\n") #追加
if human_hand == choki then
  if (computer_hand - choki) == -1 then
    print("You Win","\n")
    #exit #追加
  end

  if (computer_hand - choki) == -2 then
    print("You Lose","\n")
    #exit #追加
  end
end

プログラムを実行するとcomputer_handとhuman_handの手が同じで引き分けの判定が表示された後も、
「グー、パー、チョキ判定を実行」という文がすべて表示されると思います。
たとえば「引き分け」の勝敗が決まった後にも、それ以降のプログラムが実行され、
「グー、パー、チョキ判定」をする「if文」が実行されています。「引き分け」で勝敗が決まっているので、
それ以降のプログラム実行は無駄です。
追加した「#exit」の「#」をすべて削除します。これで
「引き分け」の勝敗が決まった後、「グー、パー、チョキ判定を実行」というメッセージは表示されなくなります。
「exit」を実行した段階でプログラムが終了し、それ以降のコードは実行されなくなりました。

「exit」についてはこちらを参照

2024年4月
« 4月    
 123456
78910111213
14151617181920
21222324252627
282930  

カテゴリー

広告

現在の住まい、将来はVPSへ引越します。 ロリポップの上位版です。

広告

広告

最近のコメント

    広告

    Railsを動かす予定のVPS。無料キャンペーン中。

    広告