- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
22 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 19:24:13.85 ID:yk+dMPCw0 - 横だけど、試しに置いてみて一致点があれば回せないとするのは
手法の中では一番わかりやすく簡単に思えるけれど。 そうでない方法を考えようとすると結構めんどくさい話になると思う。
|
- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
26 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 19:35:34.19 ID:yk+dMPCw0 - >>19 はオプティマイズうんぬんの前に例が何言ってるか分からんねw
マスク処理にビットマスクを使うのは定石だから、コードが汚いと忌諱するのも変だとも思う。
|
- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
28 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 19:40:09.92 ID:yk+dMPCw0 - >>27
テトリスの画面はサイズがちっちゃいから boolの二次元配列を作ってやればいいと思うよ クローン作っても知れてるし、全マスチェックでもたいしたコストにはならない。
|
- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
34 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 21:48:09.11 ID:yk+dMPCw0 - >>31
この手の本格的な処理をするときには必ず必要になってくるもの テトリスは問題が小さいから、bool配列でも十分なだけ。 勉強として面倒といわずビット処理はやっておくべきだろう やらない理由は、たくさんの事を一度にしようとすると心が折れるからという事以上の話ではないよ。
|
- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
35 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 21:51:58.37 ID:yk+dMPCw0 - >>29
まぁ、気の向くままやればいいとは思うけれど 固定ブロック用と移動してくるブロック用で、二つ配列を準備してやれば問題が綺麗に分かれるよ。 あとはfor文なりで同一マスに重なってないか調べればいい。
|
- ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
44 :デフォルトの名無しさん (ワッチョイ 0376-AJZ0)[sage]:2017/03/17(金) 23:54:37.08 ID:yk+dMPCw0 - >>36
bool(1byte)で一つづつ比較するのと long で64個まとめて比較するのでは64倍速くなるから テトリスのマスの数が1000x1000といった大きなサイズになると、boolでは実用性が無くなるが ビット比較なら特に問題なく動作するという事はあるんだよ。
|