From: Fujio Tsumori Date: Wed, 21 Feb 1996 18:21:37 +0900 Message-Id: <199602210921.SAA04213@serpent> Subject: [SFC] Panel de Pon X-Ml-Name: gamer-ml X-Ml-Count: 19940 Reply-To: gamer-ml@skylark.ics.es.osaka-u.ac.jp 津守な人です。 しばらく忙しくて『パネルでポン』ネタも出せませんでし たがようやく一段落つきました(修士論文)。忙しくても毎日 1 プレイはやっていたのでそれなりにうまくなったと思って ます。まだがんばってる人は他にいらっしゃいます? # 現在 HARDEST で平均 1 コンティニュー弱くらい。 さて、ここしばらくは自分のプレイはほとんどすべてビデ オにとって分からない連鎖は見直していたのでだいたい連鎖 になる条件が分かってきました。 ここに書いたことはかなり前に分かっていたことばかりで すが、せっかくなので遅くなりましたが少し報告させてもら います。 # すでに分かっている人も多いかもしれませんが。 説明が難しい(さらに私は説明下手な)ので、ひたすら例を 挙げて説明しています。そのため必要以上に長くなっている ような気もしますが勘弁して下さい。 以下、例の中に出てくる0で書いたパネルは任意の消えな いパネルです。また、関係ないパネルは省略してある場合も あります。注意して下さい。 * * * まず連鎖は、 「下のパネルが消えることによって落下を始めたパネル が関わってパネルが消えること」 と定義できます。これはもはや当然のことですよね。つまり 自分でパネルを動かして消しても連鎖にはならないというこ とです。でもって、下のパネルが消えたのが「n 連鎖目」で あれば次は(時間差連鎖がなければ)「n + 1 連鎖目」になり ます。 時間差連鎖は、 「連鎖を起こすパネルが落下する際に、他に連鎖が起 こっていれば連鎖数が加算される」 というところでしょうか。こちらはまだサンプルが少ないの で厳密ではないと思います。 さて、こんなに簡単に説明できるはずなのに、連鎖となる かどうかの判断は実際にはなかなか難しいものです。これが どうしてかということを考えてみます。 この原因は 「パネルは着地した(ように見える状態の)あと、実際に 固まる(接触判定が出る)までに時間がかかる」 ということにあると思います。調べたのはかなり前なので具 体的な数字は忘れましたが固まるのに数 frame かかったと記 憶しています。 a) b) c) 2 1 12 → 2 → 2 10 20 2 2 2 2 のような連鎖ができるのはこのためで、b) の段階で「2」が 着地した瞬間「固まる」前に動かすことで c) で連鎖となる わけです。 また、「例」の A B C 0 2 1 1 2 212 → 222 3 01 0 ですが、これが難しいのも「A-2 の2が落ちる前」という条 件よりも、「B-0 の2が0の上に着地してから固まるまで時 間がかかる」という条件が厳しいことだと予想しています。 他には、 2 21 B12 A1 を連鎖にするためにAではなくBをすべりこませなければな らない、というのもありましたが、これもよく見てみると <Aをすべりこませた時> 2 B22 → 222 A BA <Bをすべりこませた時> 22 B2 → 222 A AB となっています。Aをすべりこませた時は一番左の2が落ち てくることにより横一列が完成します。Bの時は左と真中の 2が同時に落ちることにより完成します。よってBの場合は 真中の2が連鎖の条件を満たしているため連鎖になります。 注意しなくてはならないのは、 22 B 2 A の状態時に真中の2が固まってしまうと連鎖にならないとい うことです。この時点で真中の2は「下が消えたことにより 落下した」という条件を失うからです。 さらに、例を挙げてみます。 a) b) c) d) A B C D 0 20 20 20 0 1 02 20 20 20 2 20 → 20 → 0 → 20 3 1110 0 20 20 タイミングは難しいですがこれは連鎖にできます。実際にや ってみると c) のあたりが見えにくいのですが、ビデオでコ マ送りするとこのようになっているのがよく分かります。C の列が落下を始める瞬間 C-1 と D-1 を入れ換えます。 * C-0 の2はすでに落下を始めている * C-1 の入れ換え時に C-0 が固まらない ということで d) では C-0 にあった2が連鎖の条件を満たし ているおかげで連鎖が成り立つことになります。 似たような状態であるとは言え 02 20 20 0 20 20 0 20 20 → 20 → 20 → 20 1110 0 20 20 は連鎖にならないことに注意して下さい。 他に分かりにくい例としては、以前 A B C 0 2 1 1 2 1 → 3 212 222 ^^^^--この二つを落ちた 瞬間に入れ換える というのが連鎖になったりならなかったりするという例を書 きましたが、これを説明するためにはさらに次のような解釈 が必要です。 「固まっているパネルを動かすと動かしたパネルは 一度空中判定になり移動が終了して再び着地する」 ということです(こう考えると説明がしやすい)。 このおかげで、下に示すようなテクニックが使えます。 a) b) c) 010 010 010 100 → 010 → 001 010 010 010 or 10 01 01 01 → 01 → 10 01 01 01 b) の段階でパネルが「固まる」前に(空中判定にある状態) 動かすことにより、3 個並んでも消えることなく c) の状態 に持っていくことが可能です。他をよけずに動かすことが可 能なので便利(なはず)です。 さて、先程の例ですが B-0 の2が落ちた時に B-3 および C-3 で2同士を入れ換えることになります。ここで微妙なタ イミングの違いにより、B-0 から落ちた2が後に固まったか C-3 から動かした2が後に固まったかの差で連鎖になったり ならなかったりします。 同じようなパターンを使って時間差連鎖を作ることもでき ます。具体的には a) b) c) d) 23 23 111 23 3 203 → 2030 → 230 → 30 23 23 23 3 といった例が挙げられます。 # b) は交換中ということを表していると思ってやって # 下さい。 c) の段階では2は固まっていますが、移動した3はまだ固ま っていません(そういうタイミングで交換します)。2と3が 消えるのは同時ではないですが、3はまだ連鎖の条件を満た しているという状態です(一番上の3が連鎖の条件を満たして いるから)。よって、これは時間差連鎖になります。 以上に示したことで、連鎖になるための条件はだいたい説 明できたと思います。間違いやこれだけでは説明のつかない 連鎖があれば報告していただけると幸いです。 ではでは。 -- 東京大学大学院工学系研究科金属工学専攻 津守 不二夫 tsubori@dragon.mm.t.u-tokyo.ac.jp