1 背景和意义

1.1 项目意义

该项目的成功推进和完成将达到 AI 比赛过程自动化的目的,有助于比赛的顺畅、成功开展以及比赛时间的有效节约

该项目的成果将有助于《人工智能原理》课程的学生对于自己编写的 AI 程序的测试

该项目的成果将有助于国际象棋 AI 的后续研究和教学展示

该项目的成果由于支持人机、机机博弈,也具有一定的游戏性和观赏价值

1.2 项目目标

完成一个图形界面国际象棋棋盘软件。它主要具备以下功能:

图形界面显示(显示与用户交互的窗体控件、显示棋盘和棋子)

游戏参与者加载 AI 程序

游戏组织者选择游戏模式(自动、手动)

游戏组织者开始游戏、进行游戏

软件与 AI 程序通信,完成自动博弈

游戏参与者/游戏测试者手动走子

软件判断走法符合规则

软件判断游戏结束(局面是否出现将军、欠行等,计时是否结束)

软件对走子计时

一些性能约束:

能在时下主流的笔记本电脑(x86和x64 架构的多核 CPU)上运行

在 Windows 7 及以上操作系统运行

1.3 开发用语言和环境

项目的编码用C#语言写成,图形界面用 WinForm(Windows 窗体 API)实现。

开发环境为 Visual Studio 2017,框架为.NET Framework 4.6。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1783.html

转载于:https://my.oschina.net/u/4188102/blog/3090755

[源码和文档分享]基于C#实现的支持AI人机博弈的国际象棋游戏程序相关推荐

  1. c# sigmoid_[源码和文档分享]基于C#实现的支持AI人机博弈的国际象棋游戏程序

    1 背景和意义 1.1 项目意义 该项目的成功推进和完成将达到 AI 比赛过程自动化的目的,有助于比赛的顺畅.成功开展以及比赛时间的有效节约 该项目的成果将有助于<人工智能原理>课程的学生 ...

  2. 基于C#实现的支持AI人机博弈的国际象棋游戏程序

    1 背景和意义 1.1 项目意义 该项目的成功推进和完成将达到 AI 比赛过程自动化的目的,有助于比赛的顺畅.成功开展以及比赛时间的有效节约 该项目的成果将有助于<人工智能原理>课程的学生 ...

  3. [源码和文档分享]基于Java Swing JFream 组件的趣味推箱子小游戏

    一 需求分析 设计一个经典的推箱子小游戏,在窗体里有墙,箱子,胜利的标志,和工人,用户可以通过键盘上的"上"."下"."左"."右 ...

  4. [源码和文档分享]基于WIN32 API界面编程实现的彩球滑梯小游戏

    一.游戏说明 1.1 玩法 游戏界面会生成不断上升的板子,玩家需要控制小球向下条约板子,使它不碰到上方陷阱. 1.2 游戏内容 两种球:轻球(生命2).重球(生命4) 5种板子:普通木板,移动石板.陷 ...

  5. [源码和文档分享]基于Cocos2d-x实现的畜不及防鬼畜音乐节奏游戏

    1 开发环境 Window10 下 VS2015,server.jar 2 项目阐述 2.1 简介 这是一款类似节奏大师的游戏,结合 B 站上火爆且富有带感的鬼畜音乐,让玩家在游戏中挑战手速.准确性和 ...

  6. java记事本技术参数_[源码和文档分享]基于JAVA的记事本

    一.绪论 现如今,电脑已经成为了每家每户甚至是每个人手头都必有的一种实用性工具,它改变了人们的生活,大大提高了人们的工作效率.在此基础上,电脑端的记事本应用一直是每台电脑所必备的实用性应用,不管是在台 ...

  7. [源码和文档分享]基于Android Studio实现的在线学习课堂APP

    1 项目介绍 1.1 背景 本软件的开发意图是想让更多想学习外语,却没有好的方法,不知道如何学习,怎么学习,本软件可以为那些想学习的外语的用户,提供各种资源文件,因为现在是互联网的时代普通的纸质书籍不 ...

  8. [源码和文档分享]基于Java语言的电梯调度模拟程序

    一 需求分析 某一栋楼有20层,有5部互联的电梯.基于线程的思想,编写一个电梯调度程序.这五部电梯项目联结,即当一个电梯按钮按下去时,其它电梯相应按钮同时点亮,表示也按下去了. 二 程序设计 本项目采 ...

  9. java rpg对战_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议的故事.玩家可 ...

最新文章

  1. mysql enum mybatis_Mybatis 枚举类处理
  2. 靠,上班打游戏!不,我只是在Minecraft里管理Kubernetes...
  3. 【福利】赠书:Spring Cloud与Docker微服务架构实战(第2版)
  4. jvm:运行时数据区
  5. HDU 3123 GCC(同余模定理)
  6. mysql into_MYSQL中replace into的用法
  7. 【网络流24题】星际转移问题(最大流)
  8. MaxCompute 项目子账号做权限管理
  9. 加载elementor时出现问题_在使用聚氨酯发泡机时出现问题的解决方法!
  10. mysql宠物销售系统论文,宠物店管理系统的设计与实现.doc
  11. macd的VB计算机程序,大智慧自选股实时同步到通达信VB小软件简单升级
  12. java音量调节_音量控制setVolumeControlStream
  13. 树莓派linux led字符设备驱动( platform)
  14. 【FLUENT】【VOF】液滴铺展问题模拟示例
  15. python随机生成4位验证码并判断是否正确_python生成4位验证码
  16. 【数据库查询--计算机、电脑系列】--查询价格最高的打印机型号。
  17. Android基础-MMKV基本使用
  18. Maximum Profit(C++最大利益简单算法)
  19. ios与android指纹识别,iOS开发实现TouchID指纹解锁
  20. DM8168 - BT656格式视频采集

热门文章

  1. VCC_VID_VTT等的含义
  2. DDS元模型、应用模型
  3. 美团2023届秋招第一场笔试记录2022年8月6日
  4. 内网上传、浏览“AV 信息”,一员工被百度开除了!
  5. Emlog调用数据库加速显示标签tag缓存优化方法教程
  6. 回溯法求解:工作分配问题
  7. 像埃隆·马斯克一样思考
  8. 【你评论,我送书】Python的爬虫基础知识
  9. CentOS7中文乱码解决方法
  10. 详解JavaScript中shift()方法的使用