初代ぷよ戯言

初代ぷよに関する根拠の薄い、参考にならない戯言の集まり

塔 4.2. malloc

親ページ

 タワーについてちょこっとお話 - 初代ぷよ戯言

 

4.2. malloc

 malloc とは、memory allocate の略で、領域を動的に確保する関数のことである。本節では、この領域確保(連結の場所を残す手)について、いくつかの形を用いて解説する。

 

4.2.1. ABACBC

 ABACBCは以下の2通りだと考えられる。

f:id:kuyokkuyokkuyooooo:20180217015757p:plain

 この二つでは、私は下の方が効率が良いと思うし、多くのタワー勢は下を使っているのだが、上が好きだって人もいると思うし、明確に数値を出して結論付けたわけではないので、上を否定はしない。実際に自分で組み比べてみて、自分に合う方を使うとよいだろう。以下、私が下が良いと思う理由について解説する。

 まず、上の置き方の悪さが顕著に出る例として、ネクADが挙げられる。

 ネクADで、まず壱式にした場合を見てみよう。

f:id:kuyokkuyokkuyooooo:20180217022357p:plainf:id:kuyokkuyokkuyooooo:20180217022745p:plain

 これを見ると、黄色の4連結が確定であり、黄色を入れるには右上図の固ぷよの位置に黄色を置かなければならない。このような、特定の場所に特定の色を置かなければいけない状態を、その位置に色を予約することから、リザーブと言う。この黄色のリザーブは、4連結確定というだけでなく、黄ダブ以外の黄色の場合ちぎりが発生する。効率を落とさずに回避できるなら回避したいところだ。

 さらに、ネクに黄赤か赤ダブが来た場合。今回は黄赤が来たものとして、下図の形となる。

f:id:kuyokkuyokkuyooooo:20180217024040p:plainf:id:kuyokkuyokkuyooooo:20180217024306p:plain

 このとき、紫は赤紫が来ない限り、おじゃまぷよの位置に置かなければならない。仮予約とでも言っておこうか。このとき、固ぷよの位置は黄色の予約であるので、黒いぷよ(名前忘れた)の位置が緑の仮予約となり、かつ赤紫が来ない限りは緑の4連結が確定する。11段以上のおじゃまを送るためには、4色クアドラプルの場合、4/5/5/5 か 4/4/5/6 か 4/4/4/7 にする必要があるが、4/5/5/5 は 4/4 が確定していて不可能であるため、紫と発火色である赤で5/6か4/7を作ることになる。これを踏まえると、赤紫が来ない限りは、クアドラプルで致死を組み切ろうとした場合、仮予約は下図の領域にまで拡張される。

f:id:kuyokkuyokkuyooooo:20180217030244p:plain

 紫で5連結以上を確保しようとした場合、赤紫が来ない限りおじゃまの位置まで伸ばす必要があり、その場合緑の4連結目は縦に伸ばす必要がある。このとき、壁ブロック?の位置まで赤を伸ばす必要がある。黄赤などが来た際に6列目に縦置きし、6列目3段目に赤を入れてしまうと、赤が入らなくなる。

 この形になったら、赤紫が来てしまえばよいが、来ない場合はクインティプル致死を狙うか、キルアイスや連鎖移行をするか、下図のような2W3W致死を狙うかすると良いだろう。クインティプル致死は4色なら5連結が一つあればよい。

f:id:kuyokkuyokkuyooooo:20180217030921p:plain

 

 このように、ABACBC4縦からのAD壱式は連結できる場所が狭く、AA,ABが来た場合に組みづらいことが分かった。そこで、5縦の場合を考える。

 5縦の場合は、下図の形になる。

f:id:kuyokkuyokkuyooooo:20180217031922p:plain

 紫赤は下図のような入り方を考慮して、紫下である。

f:id:kuyokkuyokkuyooooo:20180217032023p:plain

 このとき、5列目3段目の紫を活かそうとすると、下図のお邪魔の位置に紫を置く必要がある。

f:id:kuyokkuyokkuyooooo:20180217033416p:plain

 ここから、赤紫、赤ダブと来た場合、下図。

f:id:kuyokkuyokkuyooooo:20180217034235p:plain

 見るからに連結が厳しそうなのがわかると思う。緑赤が来た場合、黄色の予約になり、3列目3段目が緑の予約になる。紫がすぐに連結出来ない。紫緑が来た場合にも、6列目に縦置きすると3列目が黄色の予約になり、紫か緑のどちらかの連結がすぐには出来なくなる。

 また、赤紫、赤緑の場合。このとき、下図の2択だと思う。

f:id:kuyokkuyokkuyooooo:20180217035152p:plain

 5縦は参式を残して待つ手で、悪くない。3縦の場合、やはり黄色が予約で4連結確定する。緑も3列目3段目が予約となる。多分5縦の方が良い。検討はしてない。

f:id:kuyokkuyokkuyooooo:20180217035804p:plain

 

 今までの説明で、何故連結がしづらいかというと、1,2,3層目の5列目が1段ずつしかないからである。タワーは棚上げという例外を除いて、5列目(と3列目)に対応するように4列目を入れていく連鎖法なので、5列目が1段しかないと4列目も1段ずつになってしまい、色の制限が厳しいのである。

f:id:kuyokkuyokkuyooooo:20180217040951p:plain

 そのため、例えば、紫緑が来た場合は、一度下の紫を捨てて4列目の緑の連結を稼ぎ、形を良くするのである。その後、紫赤が来たらいいな。緑紫、緑赤は嫌だな。

f:id:kuyokkuyokkuyooooo:20180217041338p:plain

 

 これに対して、ABACBCを4,5横置きした場合、緑の5列目が2段あるので、連結が期待でき、かつ4列目に置ける場所が増えるのである。よって、ネク赤紫に壱式が使える。

f:id:kuyokkuyokkuyooooo:20180217041954p:plain

 この時点で4連結が確定している色は無く、予約は紫の3列目3段目の仮予約のみである。先ほどの形よりも大分良いと思う。ちなみにここで黄ダブが来たら筆者は6列目に縦置きします。緑黄なら筆者は4列目に縦置きして、赤ダブに備える場合が多いですが、速度を意識して横置きするのもありです。

 もちろん、赤ダブや紫ダブ(からの紫ダブや紫赤)など、ABACBC横置きの方が苦手な配ぷよもあるので、どちらを使うかは個人の判断に任せます。

 以上で、ABACBCの話は終わりです。(いつの間にか、だ・である口調から、です・ます口調になっているんだが)

 

追記

 ABACBC横置きからの紫ダブは23に置けば苦手じゃないじゃないかっていう人もいると思う。それもありなので、任せます。

 

4.2.2. ABACAD

 ABACADからの数手は結構勉強になる。

 だが後日だ!