Giter Club home page Giter Club logo

go-bang-master's Introduction

技术指标

1)完成并提交1个对战服务平台程序和1个玩家Agent程序 2)开发1-3个能够自主决策、自行走子的智能玩家Agent程序 3)玩家Agent和服务Service程序采用 RESTful 接口技术通信,且接口通用化、标准化,便于不同组进行PK。

架构设计

整个系统主要可分为服务端和客户端两部分。在架构设计图中,服务层(Platform)和接口层属于服务端, 主要负责实现对战平台的任务。即实现了一个全局的棋盘数据结构,供玩家Agent(通过接口层)来查询 当前棋盘的状态以及输赢状态(是否决出胜负)。在服务层中,以结构数组形式表示的所有玩家走子记录, 以二维数组形式表示的棋盘状态。而客户端部分包含服务层(Player)和人机交互UI层,实现的是智能的五 子棋玩家程序以及棋局的基本控制和可视化的功能。核心的五子棋走子算法策略包含于这一部分中。在棋 局中,Agent通过接口层于服务层(Platform)中获取棋盘状态,随后根据算法策略走子,走子返回到服务 层。服务层的棋盘状态在人机交互UI中显示。

文件说明

main/Client/ 1 init.py 作为package的标志,自动生成。 2 Agent.py 玩家操作和AI算法。 main/sever/ 1 init.py 作为package的标志,自动生成。 2 chessboard.py 定义棋盘类,绘制棋盘的形状,切换先后手,判断输赢等。 3 Flask_sever.py Falsk框架和Restful接口设计。 4 Game.py 定义游戏对局类,判断游戏状态,记录落子,切换玩家等。 main/GUI/ 1 init.py 作为package的标志,自动生成。 2 login.py 初始界面设计,玩家连接服务器。 3 Choose_color.py 选择执字颜色界面,选择颜色,进入对局。 4 gobang.py 棋盘界面设计。 main/Img/ 1 Img 存放游戏所使用的贴图。 Main/ 1 init.py 作为package的标志,自动生成。 2 main.py 获取client端IP地址,并启动登录界面

使用方法

1 Server端运行flask_server.py 2 玩家1运行main 3 玩家2运行main 4 玩家3运行main 5 玩家输入sever端IP进行连接 6 玩家选择持方并选择是否以AI身份进入 7 玩家点击start进入棋局 8 三个玩家进行对弈 注:若同一IP下运行多个玩家程序,因为多个相同IP发生冲突。请将IP获取方式改为自定义IP。(main.py下注释26行,运行27行反注释,main1,main2同样操作)


Copyright by 1851995 刘佳航(leader) 1852686 王晓程 1851996 佘韶亚 1851855 陈文基


go-bang-master's People

Contributors

foragony avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.