Cocos2d-x
○×Evolutionのゲームルール
(2015. 1. 31)
今回はCocos2d-xからちょっと離れるかもしれませんが、今回作成している「○×Evolution」のゲームルールについての解説です。
@ ルール
いわゆる普通のマルペケは「井」の字のマスに交互に○と×を追加していき、先に縦横斜めのどこかが1列成立した方が勝ちです。でも、このマルペケは最適手を打って行くと絶対に引き分けになる事がわかっています。そこで○×Evolutionでは「8×8のマス」で勝負する事にしました。
8×8に限らず碁盤の目で一列並べるゲームというと「五目並べ」「連珠」が有名です。その名の通り5連(5個1列)を先に並べた人が勝ちです。五目並べはとにかく5連を作れば良いのですが、圧倒的に先手が有利なため連珠では先手(黒)にハンデを課し初期手を幾つか打った後に先手後手を選択させるなどして必勝に至らない(至りにくくする)よう工夫をしています。で、○×Evolutionはそれらとは毛色の違うゲームルールにします。
○ ○と×は交互に打つ
先手が○、後手が×として、盤面に交互に打っていきます。
○ 3連以上を作ると点数が入る
盤面上のどこかで3連以上並ぶと点数が入ります。配分は未定(^-^;。次に挙げるルールから盤面には3連、4連、5連だけが生じます。6連以上は生じません。
○ 3連以上を作ると相手のパネルが前後に出現する
3連以上を作るとその延長上の前後に相手のパネルが出現します:
これを「N連ガード」と呼ぶ事にします。N連ガード出現先にすでにパネルがある場合、そこに相手のパネルは出現しません。もちろん盤の外にも出現しません。4連ガード、5連ガードでも同様です。6連以上はこのルールでは生じないので考えません。
○ N連ガードで相手も3連以上が成立すると相手にも点数&N連ガード発動
N連ガードの結果相手のパネルも3連以上入った場合、相手にも点数が入り、相手のN連ガードも発動します:
もちろん、そのN連ガードでさらに3連が成立した場合は自分に点数が加算されます。
○ 盤上をすべて埋めたら終了
8×8の盤上がすべて埋まったらゲーム終了。双方の点数の高い方が勝ちです。
こんな感じが基本ルールです。N連の型に対する点数配分、N連ガードで相手にもN連が出来てしまった時の点数配分などを調節する事でゲームとして成立する…だろうなぁと想像しています(^-^;
A 特殊カード
上のルールだけでも行けそうな感じもするのですが、さらに特殊カードで盤面の駆け引きをするのもありかなと思いました。
○ ゲームスタート時にカードが3枚配られる
ゲームが開始した時に特殊カードが3枚ずつ配られます。何が配られるかはわかりません(ランダム配分)。
○ カードの種類
カードの種類は以下の通り:
点数2倍 自分のターン時配置前に提示すると次の1手で得られるスコアが2倍になる スキップ 相手のターン時に使用するとスキップして自分の番に、自分のターン時に
使用すると自分の番がスキップするランダム配置 相手のターン時に使用すると相手の次の一手が盤面のランダムな位置になる 点数マイナス 相手のターン時に使用すると相手の次の一手で得られるスコアがすべて
マイナス点になる。N連ガードで得られる自分のスコアも。
自分のターン時にも使用できる。無効パネル配置 どのタイミングでも提示すると無効なパネルを3つ配置できる。
あまり多過ぎるのも戦略が複雑になるので、こんなもんかなと。
○ 5連が成立したらカードが1枚増える
5連が成立したらボーナスとしてカードが1枚増えます。
○ カードを残してゲームを終了すると減点
カードを残してゲームが終了してしまうとカードの枚数分の減点となります。つまり、カードは使い切った方が最善ですが、自分が損するカードもあるので敢えて使わないという手もありえそうです。
ゲームとして面白いかはちょっと微妙かもしれませんが、このルールを次に作り込んで行きます。そのためには、一にも二にも「マッチNアルゴリズム」が必要です。