Bomb的最佳化 - 俄羅斯方塊

Table of Contents


我講一下我的算法好了
http://tinyurl.com/3ft4le7

假設目標是最大 combo 數

複製一下原圖

Hold: Z
next: LSJZIOT


▓ ▓ ▓▓▓▓
--------------------以下bomb層
▓▓▓▓@▓▓▓▓▓
▓▓▓▓▓@▓▓▓▓
▓▓▓▓@▓▓▓▓▓
▓▓▓@▓▓▓▓▓▓
@▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓@
▓▓▓▓▓▓▓▓▓@
▓▓@▓▓▓▓▓▓▓

首先因為這個圖 bomb 看起來真的滿醜的..

先考慮能不能先填成漂亮一點的形狀再開始..

不過不管是 Z 還是 L 都沒辦法把左邊填平

就算放了 Z 在左邊, LS 還是沒辦法處理 => 放棄

Hold: Z
next: LSJZIOT

▓ ▓ ▓▓▓▓
--------------------以下bomb層
▓▓▓▓@▓▓▓▓
▓▓▓▓▓▓▓▓▓
▓▓▓▓@▓▓▓▓
▓▓▓@▓▓▓▓▓
@▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓@
▓▓▓▓▓▓▓▓@

觀察這一列可以發現第一個方塊不能是 L 平放

Z 有兩個位置可以消掉炸彈,不過直立的會造成無法消掉的空格所以不考慮

第一步 done

Hold: L
next: SJZIOT

▓▓
▓ ▓ ▓▓▓▓
--------------------以下bomb層
▓▓▓▓@▓▓▓▓
▓▓▓▓▓▓▓▓▓
▓▓▓@▓▓▓▓▓
@▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓@
▓▓▓▓▓▓▓▓@
▓▓@▓▓▓▓▓▓

再考慮這一排, 所以不考慮 S

L 一樣有兩種放法, 也一樣另一種放法會造成無法消除的空格

第二步 done


Hold: S
next: JZIOT

▓▓ ▓▓▓
▓ ▓▓▓▓▓▓▓
--------------------以下bomb層
▓▓▓▓@▓▓▓▓▓
▓▓▓@▓▓▓▓▓▓
@▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓@
▓▓▓▓▓▓▓▓▓@
▓▓@▓▓▓▓▓▓▓

到這一步後面很清楚了

這一步是 SJ 消掉左邊單行... 用 J 的話後面空缺變成三個部份行數會變少 => S

下一步 JZ 消炸彈, J 會擋到下一顆炸彈 所以不考慮 => Z

再下一步是 JI 消最右邊兩格.. 所以一定是 => J

然後是 IO 消最後一顆炸彈, 因為這兩個都會讓下一步無解所以都一樣

結束之後剩下 I 或 O 配上 T, 這個組合配那個地形也撿不到 T-spin mini..


因為是很詳細的分枝, 所以應該直接打 combo 的話這是最佳解了

上面說無解的也包括了用 wall kick 的方式 spin 進去.. 不過統統不可能

也想過消行不在最底層的狀況.. 不過都沒辦法搭到炸彈

總共是 5 combo 全部 single => 9 lines sent

如果要考慮更高行數的解法

可能只能朝 T-spin 的方向走.. 不過 T 只有一個.. 而且在最後面= =a

4+ combo 加 T-spin double (10+ lines)

3+ combo 加 T-spin triple (10+ lines)

上面這兩個都是無解的

要有 4 combo 就只有 上面的解法去掉最後的 I

但是那種地形用 I O 是拼不出 T-spin double 的形狀的

只要 3 combo 的話組合比較多.. 不過 T-spin triple 也還是拼不出來..


所以 5 combo 9 lines 就是我排出來最好的狀況了

上面的敘述如果都沒有問題的話這個就是最佳解了


這種題目把 queue 拉長到 14 個方塊會有比較多創意:)

或是可能放個 T 到 hold 之類的可能解法會比較多 (我隨便講的orz)

第一次的 T-spin 詰棋就還滿不錯的

不過我 T-spin 苦手就是了orz

--

All Comments

Yedda avatarYedda2011-08-29
其實 要故意跟前面的人不一樣 會更難想說XD
Bennie avatarBennie2011-09-02
看完大家的推文我感覺 9 lines 這是唯一解(汗)
Xanthe avatarXanthe2011-09-05
XDD 對 我剛剛試了另一種5combo 不過比較醜
Jack avatarJack2011-09-09
給第二組的提議不錯耶~