「マンカラ ナッツ」について
対人戦の途中でAI対戦に切り替えたり、AI対戦の途中で対人戦に切り替えたりして、マンカラの特定の局面での最善手の研究にも使えるように配慮したマンカラアプリです。
- Version1.1.6で豆の数を3個〜7個から選べるようにしました。また、対戦成績を先手番・後手番別に保存するようにしました。豆の数によって先手有利・後手有利の違いがあります。
- 勝ちパターンを覚えてしまうとゲームを楽しめないので、Version1.1.9からランダム配置機能を追加しました。
- 負けが確定しても最善を尽くすバージョン1.3.0をリリースしました。
アルゴリズムに興味のある方はこちらの記事を参照してください。 - Version1.3.9でAndroid13に対応しました。
(一部のバージョンでデグレードしていたようです、Version1.3.9以上をお使いください)
ルール
数あるマンカラのルールの中で、カラハ(Karah)
と呼ばれるルールを採用しています。
上下2列に並んだ6つのポケットに豆が入っていて、上がAI、下があなたです。丸い6つのポケットからどれかを選んで豆を取り出し、反時計回りに豆を一つずつポケットに撒いていきます。どちらかの6つのポケットが全て空になったらゲーム終了し、右側の四角い自分の貯蔵所に残った豆の数で勝ち負けを判定します。
- 相手の貯蔵所には豆を撒きません。
- 豆を撒き終わったポケットが自分の貯蔵所の場合、もう一度ポケットを選んで豆を撒くことが出来ます(
ピッタリ
)。 - 自分の空のポケットで豆を撒き終わった時にその対称に位置する相手のポケットに豆が存在する場合、その豆を
横取り
(Capture)して自分の貯蔵所に加えることが出来ます。 - ゲーム終了時にポケットに残った豆は全て自分の貯蔵所に加えます。
同じカラハ(Karah)
と称するルールでも細かな違いがあるケースが存在しますが、Nintendo Switchの世界のアソビ大全51に収録されているマンカラと同じルールにしています。
機能
- AI対戦(レベルは3段階)
- 対人対戦
- 待った機能
- 豆選択(コーヒー、ピスタチオ、アーモンド)機能
- 豆の数選択機能(3個〜7個)
- 先手後手別、対戦成績保存機能(ゲーム途中で設定を変更しり、「待った」した場合は対戦成績には記録されません)
- 多言語対応、日
ja
, 英en
, 越vi
- AI対戦時の形勢判断Emoji表示機能
- ランダム配置機能
AI対戦
-
新規ゲーム(New Game)
ボタンで新規対局開始されます。 - AIの対戦途中に強さ設定を変更すると、そのゲーム結果は対戦成績に記録されません。
- AI対戦の場合は
戻す(Undo)
ボタンで一つ前の人間の手番まで戻ります。AIが連続で複数回着手していた場合も複数手分のAIの指し手を飛ばして、一つ前の人間の手番の局面に戻ります。 -
戻す(Undo)
ボタンを使用すると対戦成績には記録されません。 - AIの静的評価関数は
先手の貯蔵所に溜まった豆の数 - 後手の貯蔵所に溜まった豆の数
で、MIN-MAX法(+ αβ法)を使って先読みを行い指し手を決めます。-
弱い(Easy)
= 3手読み -
強い(Hard)
= 8手読み -
やばい(Expert)
= 11手読み
-
形勢Emoji表示
AI対戦(One Player)
時に画面右上に形勢判断用のEmojiを表示します。
Emoji | 文字コード | 意味 |
---|---|---|
U+1F923 | AIが勝ちを確信。逆転は難しいでしょう。 | |
U+1F601 | AIが優勢を意識。 | |
U+1F610 | AIは互角と判断。 | |
U+1F641 | AIは劣勢を意識。 | |
U+1F62B | AIが負けを覚悟。但し、勝負はあなたの着手しだいです1。 |
※このページのEmojiは実際のAndroid端末で表示されるEmojiとは若干表示が異なるケースがあります。
対人対戦
-
新規ゲーム(Play)
ボタンでゲーム開始、中止(Stop)
ボタンでゲームを中断します。 -
先手
が画面下側、後手
が画面上側です。 - ゲーム途中でAI対戦に戻すことも出来ます。途中からAI対戦に切り替えても、勝敗は対戦成績には記録されません。
- 対人対戦の場合は
戻す(Undo)
ボタンで一手ずつ前の局面に戻ります。
設定画面
- ゲームに使用する豆は
コーヒー(Coffee)
、ピスタチオ(Pistachio)
、アーモンド(Almond)
の3種類から選べます。 - 初期の豆の数は3個〜7個の5種類から選べます(Version1.1.6以降)。
- AIの強さレベルは
弱い(Easy)
、強い(Hard)
、やばい(Expert)
の3種類から選べます。 -
AI対戦(One Player)
を選ぶとAI対戦、二人対戦(Two Players)
を選ぶと対人戦が可能です。 - AI対戦途中で設定内容を変更した場合そのAI対戦の結果は対戦成績に保存されません。
- 同じパターンの指し手を避けるため、AIのレベル
弱い(Easy)
と強い(Hard)
では、初手はランダムに選ぶようにしています。やばい(Expert)
はガチで指し手を決めます2。 - 全てのAIのレベルで、同じ評価値の場合はランダムに指し手を選択するようにしていますので、同じ局面で常に同じ指し手を選ぶとは限りません3。
- AI対戦時に
先手
か後手
かを選べます。この設定は二人対戦(Two Players)
時には意味はありません。 - 対戦を重ねると同じパターンで決着し、ゲームを楽しめなくなるのを防ぐためランダム配置機能追加しました(Version1.1.9以降)。設定画面で「ランダム」を選ぶと豆の初期配置が先手・後手同じでランダムな配置になります4。
ゲーム成績画面
- AI対戦の対戦成績を閲覧出来ます(Version1.1.6から、対戦成績を先手・後手別に保存するようにしました)。
※旧バージョンから新バージョンにバージョンアップすると、旧バージョンには先手番後手番の情報が無いので、全て先手番の成績として移行します。 - 豆の数(3〜7)別に対戦成績が記録されます。表の左上の数字はゲーム開始時に配置されている豆の数です。
- ゲーム成績を初期化する場合は、ゲームアイコンを長押しし、
アプリ情報
->ストレージとキャッシュ
->ストレージを消去
で初期化して下さい。全ての設定がゲームインストール時と同様に初期化されます。
-
AIのレベル毎の先読みの手数(3手、8手、11手)以内に勝ちがある(将棋で言うと詰みがある)状態です。よく考えて着手してください。の絵文字が表示された後の着手でAIの表情が他のものに変わった場合、勝ち(詰み)を逃したことを意味します。 ↩
-
一時期
やばい(Expert)
モードでも初手をランダムにしてリリースしていた時期がありましたが、マンカラの場合、初手に悪手を選ぶとその段階で回復不可能な程形勢を大きく損ねるようなので、やばい(Expert)
の時だけは初手のランダム指し手を止めました。将棋やチェスなどと較べると初手から既に勝敗に大きく影響するようです。 ↩ -
戻す(Undo)
ボタンで数手前の局面に戻してからAI対戦を再開しても、前回と同じ局面になるとは限りませんのでご注意ください。ゲーム途中で設定を二人対戦(Two Players)
に変更して、気になる局面を再現してからAI対戦(One Player)
に切り替えることは可能です。 ↩ -
ランダムと言っても豆の数が0にはならないようにしています。また、豆の合計数は
4
を選んだ場合と同じ4×6×2=48個です。 ↩