naoppy(@naoppyj)
ecasdqina(@fyba_, @ecasdqina)
ピッチぃー(@d4wnin9)
JavaFX2
/resource/
フォルダ、/src/
フォルダ、/test/
フォルダ以下の全てのファイルにパスを通してください
実行、開発にはIntellij IDEAを使用することを推奨します。
src/procon29/akashi/Main
をコンパイルして実行する
QRコードをコンソールに入力、このとき改行文字ではなく[A-z]
が入力終わりを表すことに注意!
舞台に対して右か左か、ターン数を入力するとゲームが始まる。
GUIが起動する。GUI上のグリッドをクリックすることで敵の位置を入力する。 敵の位置を間違えてクリックした場合、もう一度クリックすることで取り消すことができる。
敵の位置を入力できたら、左のSolveボタンを押すと位置が確定され、ゲームのメインループが始まる。
-
敵の動く方向を入力する。 設定したいプレイヤー(主に敵プレイヤーだが、味方プレイヤーも一応設定できる)をクリックする。 その後、動く方向をクリックする。(8近傍と同じ場所の9箇所が選べる)。 すると、行動に応じて右側に矢印がでる。Sはstay(待機)のS。
以下、繰り返し~
ソース の約30行目
public ScoreMaker maker = new ScoreFromQR(QRImporter.inputCode());
の右側を
= new ScoreFromRandom(9, 10, true, false, 70);
などに変える。 コンストラクタに渡すパラメータは ソース と APIドキュメント を参照。
Random生成の場合、敵プレイヤーの位置は最初から入力されているので、起動してすぐSolveボタンを押せばよい。
ソース の約55行目
private Solver solver = new DoNothingSolver();
の右側を
= new RandomeSelect();
などに変える。
既にあるSolverは ソース と APIドキュメント を参照。
新しくSolverを作る場合、Solverインターフェースを継承して作ることになる。
ゲームのメインループの最中、MOVEボタンを押すことによって盤面編集モードに入ります。
盤面編集モードでは、右クリック、左クリック、マウスホイールクリックでそれぞれの色のタイルを置くことができます。
プレイヤーをドラッグアンドドロップによって好きな位置に動かすことができます。
通常のモードに戻るにはSolveボタンを押します。
この編集モードを使うと残りのターン数などの整合性が取れなくなりますが、好きな盤面を作ることが可能です。
編集モード中、得点計算はされないので、得点を再計算するには一度Solveボタンを押して通常モードに戻る必要があります。
Feel free to send pull requests and raise issues.