このブログについて
このブログは
ブラウザで動くオリジナルの対戦型ボードゲーム『Colamone(コラモネ)』の開発記録を綴ったブログです。 将棋のようなチェスのような、それでいて将棋でもチェスでもない、新感覚のよくあるタイプのボードゲームです。
ここで遊べます
PCでもスマホでも遊べます。
ソースコードはこちら
kurehajime/colamone_js · GitHub
解説も書きました書いてる途中です・・・。
オリジナルのボードゲームをルールからAIまで作る【概要編】 - Qiita
マニュアルはこちら
ColamoneをスマホっぽいUIに変更してみた。
縦長バージョン
横長バージョン
jQueryMobileを使ってスマホっぽいUIにしてみた。これでだいぶボタンも押しやすくなったはず。縦長バージョンでは初期表示でヘルプを折りたたんでいるのですべての要素が画面に収まりスクロールせずにすむ(自分のiPhone5では)。スマホだとタッチしたつもりがスクロールされることがあり選択しづらいのでここ大事。
念願のモバイル対応できた!…と思ったら
Googleのモバイルフレンドリーテストをやると画面が細長くなって潰れてしまう。
同じGoogleのPage Speed insightsのスマホテストでは正しく表示され合格するのに。
自分の所持してるスマホ、タブレットではちゃんと表示される。
機種によっては駄目なんだろうか。
うーん。不安だ。
追記(2015/2/9)
単純なバグだった。
500px未満のデバイスでviewportをwidth=device-widthにすると画面がはみ出してしまうという問題があったので、強制的にwidth=500pxにするロジックを組み込んでた。縦も横も。・・・それ故に320x480のような端末ではギュッと縦横縮まる動きになってしまった。縦か横、どっちかは自由にしなきゃ駄目だ。FizzBuzzじゃ駄目だった。
JavascriptテストフレームワークJasmineを試してみた。
このページ↓を参考にJavascriptのテストフレームワークJasmineを試してみた。
本当はテストフレームワークを意識しながらプログラムを作っていくべきなんだろうけど、色々面倒くさくて後手後手になっていた。
今回やったこと
テスト項目は以下の通り(いまのところ)
- 勝利判定がちゃんと動いてるか
- とりあえずCPU先手で一手考えてみる
- とりあえずCPU後手で一手考えてみる
- 思考レベル4でじっくり考えてみる
- CPU同士で一局指して見る(レベル2)
もはやユニットテストというより結合テストに近い粒度。
最後のCPU同士で一局指すってのは、裏側で本当に終局まで指してる。千日手対策できてないので初期配置次第ではエラーになっちゃう(テストでは初期配置を固定にしてる)。
Colamone テストページ
http://xiidec.appspot.com/jasmine/SpecRunner.html
これからやりたいこと
ぶっちゃけ今回の自動テストは手作業で一回プレイすればすぐ判明するバグしか拾えないので、メソッド単位の細かいテスト項目も増やしたい。
あと「AIが弱くなってないか」これをテストしたい。これが一番やりたかったこと。コードフリーズした正常系のAIを別に用意しといて、そことX回戦わせて勝率が50%超えないとバグ…みたいなテストをしたい。