Skip to content

ZzqForCoding/king-of-bots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

编程对战平台

项目介绍

docker hub

此项目是基于绕蛇进行游戏匹配,玩家可选择代码或键盘、鼠标进行操作,的一个编程对战平台,平台会执行用户所写代码,作为每回合的游戏操作,并因为玩家操作导致游戏地图不同,因此导致每回合输出不同,玩家需要编写一个通过地图与双方操作数据输入,输出一个最优决策。


本项目使用过Django和Element plus进行功能扩展,项目地址:AI Game Platform


使用技术

前端技术:ES6CanvasVueVue RouterVuexjQueryBootstrap

后端技术:javaSpring BootSpring Boot WebSocketSpring CloudSpring SecurityMybatis Plus等技术。


游戏该如何操作?

该平台支持键盘或代码操作,键盘操作使用W、A、S、D进行上下左右控制,代码目前只支持Java语言,样例如下:

package com.kob.botrunningsystem.utils;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Bot implements java.util.function.Supplier<Integer> {

    // 由你来编写,返回一个int值,范围是0~3,分别代表上右下左
    public Integer nextMove(String input) {
        ...
    }

    @Override
    public Integer get() {
        File file = new File("input.txt");
        try {
            Scanner sc = new Scanner(file);
            return nextMove(sc.next());
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}

游戏部署

拉取项目至本地:

git clone [email protected]:study/project1/kob_server.git

通过dockerfile制作镜像:

cd dockerfile所在文件夹
# 制作镜像
docker build -t zzq10/ubuntu:kob .
# 运行容器,注意:此命令挂载了目录与映射了端口号,注意修改与开放端口号!
./docker_run.sh

注意: conf文件夹下的nginx配置文件与redis配置文件有需要修改可以直接修改,nginx里配置了域名与https证书;容器可以通过docker exec -it 容器名或id /bin/bash命令进入容器,通过tmux a可查看正在运行服务


常见问题

若redis写日志出现报错:Redis:Failed opening .rdb for saving: Permission denied,执行以下命令可解决

sudo chmod 777 /data
sudo chmod 777 /data/dump.rdb

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published