[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2282] ぷよの判定



小川です。


ぷよぷよを作りたいのですが、さて、お時間のある方に質問。

フィールドはまぁ、横6縦12ぐらいかと思います。これはあまり重要じゃないんですが。


くっついているかどうかの良い判定方法はありますか?
ちなみに、ぷよは4つ以上同色がくっついていたら消えます。

以前作った時は2パスと言うか3パスで判定していました。

以下のような状態だとします。

B: ある色
A: くっ付かないバラバラな色達

BBAAAA
AAAABA
AABBBA
AAAAAA

まず、各場所の上下左右を見て、自分と同色の数の合計を出します。
これを腕の数とします。

110000
000010
001220
000000

次に自分を除く上下左右の同色の腕の数を足します。

110000
000020
002330
000000

3以上の数の部分は消えます。
更に、上下左右が3以上で同色の場所も消えます。
これをXとします。

000000
0000X0
00XXX0
000000

これで消える場所が特定出来ました。

ふぅ。疲れます。


これはある人が考えた判定方法です。
その人は2パス目までを考えてくれて、実際作ってみてから
3パスめも必要な事が判り、そうしました。


これ以上効率の良い方法は無いような気もするんですけどね。


普通に考えると左上辺りを始点に右と下に延びながらチェックしていく
方法がまず浮かびます。

ですが、あんまり綺麗じゃなかったりします。

うーん。


明日一日考えてみて駄目だったら従来通りに判定します。



ではさいならぁ(^^)/~~~
-------------------------------------------
小川 勲
gyaplus !Atmark! cds.ne.jp
www18.cds.ne.jp/~gyaplus/
-------------------------------------------