回答編集履歴
1
見直しキャンペーン中
test
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
> これも同じくメッソドでまとめようとしたのですがこちらはどこからどこまでをまとめればいいか分からずに断念しました。というのは作ってみると、ほとんど最初から含まないと宣言した値が見つけられなくなってしまたり、どちらにせよstageの宣言が見つかなくなってしまいました。
|
2
2
|
|
3
3
|
まず同じような2つの処理の、どこが違うのかを見極めます。
|
4
|
-
|
4
|
+
switchは`roll`(`roll1`・`roll2`)と、`x`(`START_X / 2`・`START_X + 150`)が可変だということがわかります。
|
5
5
|
少なくともこの2つは引数にする必要がありそうです。
|
6
6
|
|
7
7
|
ほかの必要な変数もすべて引数にすればメソッド化はできますが、ここでいったん落ち着いて考え直します。
|
8
8
|
|
9
|
-
なぜ同じような
|
9
|
+
なぜ同じようなswitchが並んだのでしょうか。
|
10
10
|
ダイスの点を2か所に書くためですね?
|
11
11
|
|
12
12
|
であればダイスを何に描くか(`gc`)・位置(`x`・`y`)・目(`roll`)の情報があれば、`drawDice`メソッドとして分割できそうです。
|
@@ -101,4 +101,4 @@
|
|
101
101
|
`random`・`gc`は、フィールド(メンバー変数)にしました。
|
102
102
|
もし`stage`をどのメソッドからでも使いたければ、同様にすればよいのです。
|
103
103
|
|
104
|
-
|
104
|
+
switchからifに変えてしまいましたが、ケチをつけてるわけではありません(趣味の問題です^^;
|