Big / Smallゲーム
id:hrkt0115311さんの作られていたBig/Smallゲームのソースを拝見して、なるほど、こういうものもつくれるのだなあ、と自らの想像力の貧しさを反省。
いろいろ作ってるつもりだけど、こういうものを作る柔軟な発想力がほしいなあ。
嘆いていても仕方がないので、作られていたソースを少し焼き直してみた。もう少しシンプルにできそうな感じもするのだけど、こういうのでどうだろうか。
#ゲーム開始のメッセージ表示 puts <<MESSAGE ひとつ、運試しをしませんか? これから2枚のカードを引きます 最初のカードが大きければあなたの負け、逆ならあなたの勝ちです。 それでははじめましょう。 MESSAGE #カード種別と数字表示用変数定義 cards = %w!エース 2 3 4 5 6 7 8 9 10 J Q K! card_type = %w!ハート クラブ クローバー スペード! #メッセージ表示後の停止 sleep 2 #1枚目のカード情報 r = rand(5) #4はジョーカー扱い if r == 4 puts "残念ジョーカーです。あなたの負けです。" puts "でも、ジョーカーをいきなり引当るなんて、" puts "逆に、ついてるかもしれませんね!" puts "どうぞよい一日を!!" exit else @roll = rand(13) puts "%sの%sです。" % [card_type[r],cards[@roll]] puts "次のカードを引きます。" puts "このカードより大きければあなたの勝ちです。" end #初期表示したので停止 sleep 2 #2枚目のカード情報 second_roll = rand(13) puts "%sの%sです。" % [card_type[rand(4)],cards[second_roll]] #結果表示 if @roll == second_roll puts "引き分けです。今日もよい一日を!" elsif @roll == 0 puts "エースには勝てないですよね。お疲れさまでした。今日もよい一日を!" elsif second_roll == 0 or second_roll > @roll puts "あなたの勝ちです。今日もよい一日を!" else case @roll when 12 puts "キングに負けました。お疲れさまでした。今日もよい一日を!" when 11 puts "クイーンに負けました。お疲れさまでした。今日もよい一日を!" when 10 puts "惜しい! ジャックに負けました。お疲れさまでした。今日もよい一日を!" else puts "あなたの負けです。お疲れさまでした。今日もよい一日を!" end end