回答編集履歴
1
追記
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
|
+
まぁこんなん
|