teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/05/24 15:54

投稿

asm
asm

スコア15149

answer CHANGED
@@ -49,4 +49,53 @@
49
49
 
50
50
 
51
51
  ざっとこんな感じ
52
- Rouletteクラスは自分で実装してみてください
52
+ Rouletteクラスは自分で実装してみてください
53
+
54
+ ---
55
+
56
+ ルーレットクラスを実装すると
57
+ ```ruby
58
+ # [賭けのルール]
59
+ # 赤と黒のみのルーレットを想定
60
+ # 指定した色なら勝ち、違うなら負け
61
+ # ・勝った場合
62
+ # 掛け金+1000を所持金に足す
63
+ # 掛け金を一番最初の額に戻す
64
+ # ・負けた場合
65
+ # 掛け金を所持金から引く
66
+ # 掛け金を二倍にする
67
+ class Roulette
68
+ # 初期化
69
+ def initialize(初期所持金, 初期掛け金)
70
+ @money = 初期所持金
71
+ @initial_bet = @bet = 初期掛け金
72
+ end
73
+
74
+ # 現在の所持金
75
+ # 省略すると、「attr_reader :money」だけになる
76
+ def money
77
+ @money
78
+ end
79
+
80
+ # 賭けが続けられるか判定する
81
+ def continue?
82
+ @money >= @bet
83
+ end
84
+
85
+ # 賭けを実行する
86
+ def bet
87
+ mychoice = [:red, :black].sample
88
+ roulette = [:red, :black].sample
89
+
90
+ if mychoice == roulette
91
+ @money += @bet+1000
92
+ @bet = @initial_bet
93
+ else
94
+ @money -= @bet
95
+ @bet *= 2
96
+ end
97
+ end
98
+ end
99
+ ```
100
+
101
+ まぁこんなん