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

質問編集履歴

2

【追記】を追記

2017/05/12 05:38

投稿

King_of_Flies
King_of_Flies

スコア382

title CHANGED
File without changes
body CHANGED
@@ -120,4 +120,120 @@
120
120
  ⇒しいて言うなら切り上げに区切りの制御を入れた感じ。
121
121
 
122
122
  ちなみに処理的には動くはずなので、
123
- 動かしてみて、いくら勝てたか教えてくれ。(笑
123
+ 動かしてみて、いくら勝てたか教えてくれ。(笑
124
+
125
+
126
+ 【追記/編集しました。】
127
+ ```ruby
128
+ #rotation 総回転数
129
+ #firstHit 初当たりの回数
130
+ #hit16R 16R当たり回数
131
+ #hit6R 6R当たり回数
132
+ #wonPachinkoBall 出玉数
133
+
134
+ =begin
135
+ 通常モードの処理。
136
+ 1/319で初当たり当選。
137
+ 出玉が1280発貰える。
138
+ その後確立変動への抽選処理へ移行する。
139
+ =end
140
+
141
+ def normalMode(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
142
+ loop do
143
+
144
+ result = rand(99)+1
145
+ rotation += 1
146
+
147
+ if result > 98 then
148
+ puts "大当たり"
149
+ firstHit += 1
150
+ wonPachinkoBall += 320
151
+ vChallenge(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
152
+ else
153
+ puts "はずれ"
154
+ end
155
+ end
156
+ end
157
+
158
+ =begin
159
+ 確立変動への抽選処理
160
+ 5割で確立変動Modeへ突入する。
161
+ 確立変動Modeの抽選に漏れた場合は、通常モードの処理へ移行する。
162
+ 確立変動Modeの抽選に当選した場合は、出玉を520増やし、確立変動モードへ移行する。
163
+ =end
164
+
165
+ def vChallenge(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
166
+ result = rand(10)+1
167
+ if result > 5 then
168
+ puts "確変突入"
169
+ wonPachinkoBall += 260
170
+ vMode(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
171
+ else
172
+ puts "リベンジモード突入"
173
+ normalMode(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
174
+ end
175
+ end
176
+
177
+ =begin
178
+ 確立変動モードの処理
179
+ 100回転以内に1/80の抽選に当選すれば、出玉を(1200(50%)/400(50%))で増やし、回転数をリセットする。
180
+ 100回転以内に1/80の抽選に当選しなければゲーム終了。
181
+ 清算処理へ移行する。
182
+ =end
183
+
184
+ def vMode(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
185
+ i = 0
186
+ while i < 100 do
187
+ i = i+1
188
+ result = rand(80)+1
189
+ rotation += 1
190
+ if result > 79 then
191
+ puts "Vistory"
192
+ i = 1
193
+ win = rand(100)+1
194
+ if win > 49
195
+ wonPachinkoBall += 1200
196
+ hit16R += 1
197
+ else
198
+ wonPachinkoBall += 400
199
+ hit6R += 1
200
+ end
201
+ else
202
+ puts "はずれ"
203
+ end
204
+ end
205
+ puts "確変終了"
206
+ clear(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
207
+ end
208
+
209
+
210
+ =begin
211
+ 清算処理
212
+ 総回転数、初当たり回数、16R取得回数、6R取得回数、出玉、投資を出力する。
213
+ プログラムを終了する。
214
+ =end
215
+ def clear(rotation,firstHit,hit16R,hit6R,wonPachinkoBall)
216
+ investment = rotation / 3
217
+ if investment < 5 then
218
+ investment = 5
219
+ end
220
+ investment /= 5.0
221
+ investment = (investment).ceil
222
+ investment *= 5
223
+ kankin = (wonPachinkoBall * 4)/500.0
224
+ kankin = kankin.floor
225
+ kankin *= 500
226
+
227
+ print "通常回転数は",rotation,"回\n"
228
+ print "初当たり回数は",firstHit,"回\n"
229
+ print "16R取得回数は",hit16R,"回\n"
230
+ print "6R取得回数は",hit6R,"回\n"
231
+ print "出玉は",wonPachinkoBall,"発で、換金すると",kankin,"円です。"
232
+ print "投資は",investment,"00円です。"
233
+ exit(0)
234
+ end
235
+
236
+ normalMode(0,0,0,0,0)
237
+ ```
238
+ クラス適応はまだですが。
239
+ とりあえず500単位に出来ました。

1

クソ多い⇒多い

2017/05/12 05:38

投稿

King_of_Flies
King_of_Flies

スコア382

title CHANGED
File without changes
body CHANGED
@@ -109,7 +109,7 @@
109
109
 
110
110
  分からなかったこと。
111
111
  ---
112
- ・Rubyでのmodelの作り方がわからず、引数がクソ多い。
112
+ ・Rubyでのmodelの作り方がわからず、引数が多い。
113
113
  ⇒model.hoge = ~ ってやりたい。
114
114
  ⇒hogemethod(model)ってやりたい。
115
115