回答編集履歴

1

見直しキャンペーン中

2023/07/30 08:58

投稿

TN8001
TN8001

スコア9337

test CHANGED
@@ -1,12 +1,12 @@
1
1
  > これも同じくメッソドでまとめようとしたのですがこちらはどこからどこまでをまとめればいいか分からずに断念しました。というのは作ってみると、ほとんど最初から含まないと宣言した値が見つけられなくなってしまたり、どちらにせよstageの宣言が見つかなくなってしまいました。
2
2
 
3
3
  まず同じような2つの処理の、どこが違うのかを見極めます。
4
- `switch`は`roll`(`roll1`・`roll2`)と、`x`(`START_X / 2`・`START_X + 150`)が可変だということがわかります。
4
+ switchは`roll`(`roll1`・`roll2`)と、`x`(`START_X / 2`・`START_X + 150`)が可変だということがわかります。
5
5
  少なくともこの2つは引数にする必要がありそうです。
6
6
 
7
7
  ほかの必要な変数もすべて引数にすればメソッド化はできますが、ここでいったん落ち着いて考え直します。
8
8
 
9
- なぜ同じような`switch`が並んだのでしょうか。
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
- `switch`から`if`に変えてしまいましたが、ケチをつけてるわけではありません(趣味の問題です^^;
104
+ switchからifに変えてしまいましたが、ケチをつけてるわけではありません(趣味の問題です^^;