はじめに
前回記事でローカル対戦環境をdockerで構築できるようにしたが、CUIのみだったのでGUIでもできるようにした
GUIでの環境構築には以下を参考にさせていただきました
前回同様おばあちゃん回での構築
koyumeishi.hatenablog.com
前提
dockerの詳しい説明は省きます
docker-desktopなどをインストールしてdockerコマンドが使えるようになっていればできるはずです
環境構築
必要なリポジトリをcloneする
git clone https://github.com/EmulsionBondo/CodingameLocalBattle_GUI.git cd CodingameLocalBattle_GUI
Codingameのリポジトリをcloneする
今回はCodingameの公式リポジトリをそのまま使用します
src/test/java
に必要なファイルが入っているのでsrc/main/java
に移動します
git clone https://github.com/CodinGame/FallChallenge2020.git cp assembly.xml FallChallenge2020/ mv FallChallenge2020/src/test/java/Fall2020Main.java FallChallenge2020/src/main/java/ mv FallChallenge2020/src/test/java/BasicAgent.java FallChallenge2020/src/main/java/
Mavenでビルド
docker run -it --rm --name my-maven-project --platform linux/amd64 -v $PWD/FallChallenge2020/:/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install assembly:assembly -Ddescriptor=assembly.xml mv FallChallenge2020/target/fall-2020-1.0-SNAPSHOT-jar-with-dependencies.jar ./
ローカル対戦環境のdockerを立てる
docker build -t local_battle --platform linux/amd64 ./ docker run -it -d --rm --name local_battle --platform linux/amd64 -p 8888:8888 -v $PWD:/work local_battle
ブラウザでローカル対戦のGUIを確認
ブラウザからhttp://localhost:8888/test.html
にアクセス
実行に若干時間がかかるので、dockerを立ててすぐだとアクセスできないかもしれません
対戦させるAIの変更
src/main/java/Fall2020Main.java
の
//Add players gameRunner.addAgent(BasicAgent.class, "Kotake"); gameRunner.addAgent(BasicAgent.class, "Koume");
部分を自分の書いたプログラムへのパスに変更
変更したあとは再度ビルドしてからdockerを再度立てるなりしてください