じゃんけんの勝敗判定
ruby勉強会14に行ってきました。
ruby初級者レッスンではじゃんけんプログラムを作るのが課題でした。
はじめじゃんけんの9パターンをべたで書いてたのですがかっこ悪すぎと思って考えた僕の勝敗判定はこれです。
def judge(my_hand, com_hand) case (@@hand[my_hand] - @@hand[com_hand]) % 3 when 0 @draw += 1 '引き分け' when 1 @lose += 1 '負け' when 2 @win += 1 '勝ち' end end
ぐーちょきぱーそれぞれに0,1,2与えて引き算してmod 3で判定しています。結構あるパターンみたいですね。
かずひこさんの解はなんか一休さんみたいです。
ジャンケンの本質とは何か、それは「1/3で勝ったり負けたり引き分けたりするゲームだ!」と見抜いたバージョン。
def jugde(man)
http://kazuhiko.tdiary.net/20070217.html#p01
return rand(3) - 1
end