2022-07-13 |
ボットの思考アルゴリズムを実装するために、IAttackインターフェースを変更
...
また、ソフトウェアの仕様変更(2人のユーザーの対戦ではなく、1人のユーザーがBotと対戦するように)に伴い、今まで誰のターンかによって返り値が変わっていたget~Handsメソッドの実装を変更。常にgetMyHandsでユーザーの、getOpponentsHandsでbotの手札を取得するようにした。
Shinji
committed
on 13 Jul 2022
|
BOTのターンを正常に進行できるようにした。
...
まだバグがある
Shinji
committed
on 13 Jul 2022
|
2022-07-07 |
botの思考アルゴリズムの修正
...
GUIへの対応
残っている問題
・ちゃんと結果が反映されない
・Botがどのカードを選んだのかがわからない
Shinji
committed
on 7 Jul 2022
|
2022-07-06 |
・botの思考アルゴリズムの着手。
...
・その中で、相手の手札一枚一枚に対して考えられる数字の候補を探索する部分を実装。
・検証用のテストプログラム
思考アルゴリズムに関して、公開情報から明らかにあり得ないような候補を出さないようにできた。
実装の例:
・Botは、Botが把握している数字を候補に含めない
・左から小さい順に、「x,6,y,z」と並んでいた場合、Botはxの候補に6以上の数を含めないこと
ただし、例のような、踏み込んだ思考まで実装はできていない。
例:左から小さい順に、「x,6,y,z」と並んでいた場合、Botはyの候補に「ゲームで扱う最大の数字」を含めないこと。
これから
・テストプログラムに関してはまだまだ荒削りな部分もあるので、余裕があれば直していきたい。
・より踏み込んだ思考パターンについては、実装難易度が高いことと、未実装による影響がそこまで大きくないことから、後回しにする。
現状、Botの思考アルゴリズムはIAttackのAPIに依存しているため、Botの思考を動かす時点でStepSchedulerのisATurnがfalseになっていないと計算結果に不具合が出るおそれあり。
Shinji
committed
on 6 Jul 2022
|
2022-07-04 |
テスト用に値を変えていたデッキ枚数を修正(Constants)
...
直近の成否結果を出力するメソッドでエラーを吐くことがあったため、それの実装を変更(StepScheduler)
Shinji
committed
on 4 Jul 2022
|
デッキがある場合、ドローしたカードを表示し、アタック後のゲームの状態を反映するようにした。具体的には、
...
・アタックに失敗したら、ドローした自分のカードを公開
・アタックに成功したら、アタックの対象となった相手のカードを公開
デッキが無いときは、自分の手札からカードを選べるようにし、同様にアタック後の結果を反映するようにした。具体的には、
・アタックに失敗したら、アタックために選んだ自分のカードを公開
・アタックに成功したら、アタックの対象となった相手のカードを公開
未着手
デッキがある状態において、自分のカードを選べなくする処理は未着手
Shinji
committed
on 4 Jul 2022
|
2022-06-30 |
ステップの処理をMainPanelに集約
Shinji
committed
on 30 Jun 2022
|
カードの公開情報を視覚的にわかるように実装
Shinji
committed
on 30 Jun 2022
|
2022-06-29 |
最新のアタックの成功判定を取得するメソッドを追加
Shinji
committed
on 29 Jun 2022
|
新規クラス追加における未修正箇所がいくつかあったので、それ周りの修正
...
主に、不要な引数の削除
テストケースを新規クラス追加に合わせて修正。テストメソッドで呼ぶメソッドを変更するだけで完了。
未着手
・GUI周りのクラスへの対応
Shinji
committed
on 29 Jun 2022
|
2022-06-15 |
・GUIを設置
...
・自分のカードを下に,相手のカードを上に配置し,非公開の相手カードはユーザーから見えないように実装.
・相手カードを選択→数字を宣言→正誤判定 まで実装.
未着手
・アタックの結果を反映する処理(どのカードが表になったかなど)
・次のプレイヤーにターンを渡す処理
Shinji
committed
on 15 Jun 2022
|