カードゲーム"Spaghetti Monsters"対AI戦2回目
0: Zap | (C) 1: CopyPast | (C) 2: MakeBit | 3: Reverse | 4: Float | (C) 5: Bomb | 6: Dec | 7: Crack | 8: MoveBit | (C) 9: Inc | (C) 10: Jump | 11: Charm | (C) 12: CopyFuture | 13: Heal | (C) 14: Surge | (C) 15: MoveCard | 16: RemoveBit | (C) 17: RemoveCard |
うーむ、CopyPastがRemoveCardをコピーしてしまうからMakeBitに置くと1/2の確率で消されるなぁ(まだ確率1で消すほどAIが賢くない)
FloatがReverseをコピーするとカオスが発生するなぁ。うーむ、さっきの局面がたまたま偏っていて助かっただけで、やはり9個も置かれると勝てないなぁ。木が深くなると発散してしまって読めないのでなるべく浅いところでしとめないと…Crack, Inc, Jumpかなぁ。MakeBitを消される危険さえなければMakeBit, Reverseと頭の弱いAIのCopyPastでループを作ってCrackにビットを大量に積んでからReverseをパスするんだが、さすがに1/2の確率でそれが消されるんじゃなぁ。
実行。
Zap v (C) CopyPast | (C) MakeBit | Reverse | Float | (C) Bomb | Dec | Crack | (Y) MoveBit | (C) Inc | (C)(Y) Jump | (Y) Charm | (C) CopyFuture | Heal | (C) Surge | (C) MoveCard | RemoveBit | (C) RemoveCard | ... Player: Computer @ Zap 1人のプレイヤーのライフポイントを1減らす ACTIVATE True SELECT_PLAYER You You:9 Computer:10 ... Player: Computer @ CopyPast このカードから見て進行と逆方向の2枚をコピー ACTIVATE True copy RemoveCard SELECT_CARD MakeBit copy Zap SELECT_PLAYER Computer You:9 Computer:9
MakeBit消されたなぁ。しかしZapで自分自身を打っているな。これはバグに違いない。
- if repr(game.cur_card) in "Zap Crack Bomb": + if repr(game.cur_card) in "Zap Crack Bomb".split():
バグだったw
Reverse | Float v (C) Bomb | Dec | Crack | (Y) ... Player: Computer @ Float 1つ前または後ろに移動し、PC進行方向の次のカードをコピーする。 ACTIVATE True SELECT_CARD Bomb ... copy Dec SELECT_CARD MoveCard SELECT_VARIABLE x Zap | (C) CopyPast | (C) Reverse | Bomb | Float | (C) Dec | Crack v (Y) MoveBit | (C) Inc | (C)(Y) Jump | (Y) Charm | (C) CopyFuture | Heal | (C) Surge | (C) MoveCard | x-1 RemoveBit | (C) RemoveCard | You 9 Computer 9 Player: You @ Crack 1人のプレイヤーのライフポイントを2減らす activate Crack?>
yes
You 9 Computer 7 Player: Computer @ MoveBit 1個のビットを任意のカードに移動する ACTIVATE True SELECT_CARD Heal SELECT_BIT 0 SELECT_CARD RemoveBit Zap | (C) CopyPast | (C) Reverse | Bomb | Float | (C) Dec | Crack | (Y) MoveBit | (C) Inc v (C)(Y) Jump | (Y) Charm | (C) CopyFuture | Heal | Surge | (C) MoveCard | x-1 RemoveBit | (C)(C) RemoveCard | You 9 Computer 7 Player: Computer @ Inc 任意の1枚のカードのアラビア数字を1増やす。 ACTIVATE True SELECT_CARD MoveCard SELECT_VARIABLE x Player: You @ Inc 任意の1枚のカードのアラビア数字を1増やす。 activate Inc?>
CrackをInc, JumpでCrackへ戻る。あと1回無事戻れれば勝ちなんだけども、間にMoveBitが挟まっているから何をされるかわからない。
Player: You @ Crack 2人のプレイヤーのライフポイントを2減らす activate Crack?> 1 0: You 1: Computer which player?> 1 You:9 Computer:5 0: You 1: Computer which player?> 1 You:9 Computer:3
MoveBitは無駄な使われ方をした。
Crack | (Y) x+1, y+1 MoveBit | (C) x+1 Inc | (C)(Y) Jump v (Y) Charm | (C) CopyFuture | Heal | Surge | (C) MoveCard | x-1, x+1 RemoveBit | (C)(C) RemoveCard | (C) You 9 Computer 3
Crackに戻って勝利。