- 1 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:28:31.230 ID:vbr3efze0
- マウスイベントでステート変える処理作ってるんだけど
マウスイベントのswitch文と特定のステートの時に次のステートに移す処理が絡まってスパゲティ
どうしたらいいの - 2 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:28:50.700 ID:7i7O4+Di0
- 諦める
- 3 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:29:27.444 ID:r93Q6CAI0
- 整理する
- 4 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:29:44.309 ID:aI/r9TYG0
- ほどく
- 5 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:30:30.787 ID:tuJffI//0
- 言語は?(知ったかぶり)
- 16 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:36:39.130 ID:vbr3efze0
- >>5
c#
>>8
書いてない - 19 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:43:18.097 ID:ZnYDMmU/0
- >>16
状態遷移表なり状態遷移図なり書かないと訳わからんことになるのは当たり前だと思うの - 21 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:45:47.005 ID:vbr3efze0
- >>19
マウスイベントの判定とステートの判定とステートの切り替えが>>14みたいになるけど状態遷移図通りだったらそれでいいの?
コード見ながらデバッグがしんどいから整理したいんだけど - 6 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:30:49.704 ID:IGTtqras0
- 別のイベント発火してそっちで処理してもらう
- 7 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:31:11.446 ID:iT62dwMf0
- switch使うか?
- 10 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:32:10.147 ID:ZnYDMmU/0
- >>7
ポリモーフィズムで処理できそう? - 8 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:31:34.338 ID:ZnYDMmU/0
- 状態遷移表とか書いた?
- 9 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:32:04.144 ID:lTuhQ0wBa
- PSP使えばいいんじゃね?
- 11 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:32:14.131 ID:q1OoIDNd0
- フラグ立てて抜けてからステート移せ
- 13 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:32:48.194 ID:Iax7xXxOa
- 今これ処理中ですフラグ立てとけばいいんじゃね
- 14 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:34:26.035 ID:vbr3efze0
- こんなの
switch(event) {
case event == down:
if (state % 2 != 0) break;
++state;
hoge1();
break;
case event == up;
if (state % 2 == 0) break;
++state;
if (state == 2) hoge3();
break;
} - 17 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:40:57.638 ID:RObfhZgQp
- >>14じゃよくわからんな
- 15 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:34:54.117 ID:ImhCbEF30
- 特定ステートの時の、『何をする』って部分を抽象化して
実装クラスを小分けにする - 18 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:41:11.998 ID:vbr3efze0
- >>15
何をする の部分は分けてる
でもマウスイベントとステートの切り替えと特定のステートの時に処理実行が絡まってよくわからん - 34 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 01:01:13.322 ID:ImhCbEF30
- >>18
state毎にクラスを実装して、各々の実装クラスが自分の遷移先を
eventの内容に応じて決定する(次のstateのインスタンスを返して貰う)ことだけに集中するイメージ - 20 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:44:38.390 ID:aGe4NFJE0
- if文で!=と==を使うから醜い
- 22 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:46:41.702 ID:vbr3efze0
- >>20
==と!=を使わずにどう書けと - 26 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:50:44.476 ID:aGe4NFJE0
- >>22
判定はどちら片方に統一してelseを使う - 30 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:54:38.426 ID:vbr3efze0
- >>26
そういうことね
>>27
スマホで適当に書いたんだ
そもそもswitch文見難いから - 23 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:47:01.665 ID:ZXOxVe8Ka
- ステートの変数が変更されたら、発生するイベントを追加で書いて、そのイベントで処理をやればいいんじゃね?
- 24 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:48:18.707 ID:vbr3efze0
- >>23
なるほどそれいいかも - 25 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:50:09.682 ID:1IWmaWgl0
- FLUXって設計の強さがわかる
- 27 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:51:46.098 ID:oPii8Wdd0
- switch文の書き方気持ち悪い
- 28 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:52:50.177 ID:ZnYDMmU/0
- state % 2 == 0 って何を意図してるの?
state == 2 の 2 ってどういう意味なの? - 31 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:57:47.306 ID:vbr3efze0
- >>28
単にステートの切り替えだから2とかに意味はないよ例だよ例
>>29
文の書き方とか見易さは置いといて - 29 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 00:53:48.277 ID:1IWmaWgl0
- 絶対 isDown とか命名してif文使ったほうがわかりやすいこのレベルなら
- 33 名前:ひみつの名無しさん 投稿日時:2020/04/23(木) 01:00:15.465 ID:9LZJ9Jtz0
- 来たけど解決してる
コメント