1 问题描述

1.1 要求

设计棋盘,棋子等数据,两个玩家可以依次输入数据控制某一个棋子的移动,并且可以判断一步棋是否合法,不合法不能移动,游戏可以存档,读档,记录下棋的过程,如能按棋谱走棋更佳。

1.2 问题分析

1.2.1 象棋记谱规则

红方从右往左为一至九列(用汉字),黑方从左往右为1至9列(用阿拉伯数字)

若欲移动的棋子那列没有与该棋子相同的棋子,则记为:

棋子+列号+动作+步数,其中,列号按6.1的规则产生,动作有进、退、平三种:往对方棋盘方向走为进,往己方棋盘方向走为退,在同一行上移动为平

步数:若棋子移动时不改变列,则记为移动的行数(红方汉字黑方阿拉伯数字);若棋子移动时改变列或棋子走斜线,则记为移动到的新列号。例如:

马三进一 红方第三列的马向黑方棋盘方向走一步,移动到第一列

卒3进1 黑方第3列的卒向红方棋盘方向走1步,未改变列

车二平五 红方第二列的车走到第五列,未改变行

象9退7 黑方第9列的象向己方棋盘方向走一步,移动到第七列

该列有重子且移动的棋子不为兵、卒,则记为:

位置+棋子+动作+步数,其中动作和步数的记法与上述相同

位置分为前、后两种,在己方前进方向的为前,己方后退方向的为后。例如:

前炮进一 红方位于棋盘前方的炮前进一步(红方共两个炮,不会混淆)

该列有重子且移动的棋子不为兵、卒,则记为:

位置+列号+动作+步数,其中动作和步数的记法与6.2相同

位置分为前、中前、中、中后、后五种,望文生义。例如:

前五进一 红方位于最前方的兵前进一步

1.2.2 目标

在控制台界面绘制棋盘和棋子

设计光标系统,可用键盘方向键控制棋子移动,能用鼠标更佳

可判断每步棋是否合法,不合法不能移动

可存档、读档、记录下棋过程

按棋谱走棋(可选)

计时、暂停(可选)

自动判断胜负(可选)

联机对战(可选)

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

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

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

[源码和文档分享]基于VC++实现的中国象棋-双人象棋游戏相关推荐

  1. [源码和文档分享]基于VC++的四国军棋局域网联网游戏的设计与实现

    本文详细介绍了一个在Windows环境下的基于游戏大厅框架的四国军棋网络游戏的设计和实现.该游戏可在局域网上联机对战,实现了游戏.聊天.积分等功能.该软件在Windows环境下用VC++6.0实现. ...

  2. bootstrap signin将邮件改成用户名_[源码和文档分享]基于VC++和Oracle数据库的邮件管理系统的设计与实现...

    摘 要 电子邮件的使用简易,投递迅速,收费低廉,易于保存,全球畅通无阻,使得电子邮件被广泛地应用,当前流行的各大邮件系统除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功 ...

  3. [源码和文档分享]基于VC++控制台实现的图书信息管理系统

    1 需求分析 开发一个图书信息管理系统,图书信息包括:图书编号.书名.作者.出版社.类别.出版时间.价格等基本信息(也可以根据自己情况进行扩充,比如是否借出.库存量等).使之能提供以下基本功能: 图书 ...

  4. qt 三方源码 画饼图_[源码和文档分享]基于VC++和QT实现的图的可视化工具

    一.开发环境 OS Windows 7 Ultimate 64 Bit IDE Visual Studio 2012 Premium (MSVC++ 11.0) Qt5 Visual Studio A ...

  5. [源码和文档分享]基于VC++的WIN32 API界面编程实现的飞机太空大战小游戏

    一.程序功能介绍 炫酷精美的飞机太空大战,为体现"设计"的原创性,团队不使用游戏引擎,也没有抄袭任何源代码.全局使用团队自行编写的游戏类对象编写程序.建立以WIN32分辨率960* ...

  6. [源码和文档分享]基于VC++和OpenCV实现的全民飞机大战游戏

    摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...

  7. [源码和文档分享]基于VC++的MFC类库实现的住房贷款计算器

    1 系统需求分析 1.1 系统目标 在我们的日常生活中,经常会遇到一些繁琐的计算,比如房贷的计算,手工计算非常的繁琐,这时我们就需要用到一个专门的房贷计算器,所以借着课程设计这个机会我便开发了这个房贷 ...

  8. [源码和文档分享]基于VC++的WIN32 API界面编程实现的百战天虫小游戏

    1 游戏介绍 本游戏是建立在百战天虫游戏框架下的,具有完全不同的游戏背景的一款回合制对战游戏.游戏设计者受到口袋妖怪,以及近期上映的电影<神奇动物在哪里>的启发,设定了"收服精灵 ...

  9. [源码和文档分享]基于Java的带GUI界面猜数字游戏

    一 需求分析 完成一个猜数字的GUI游戏. 开始游戏后,产生一个没有重复数字的4位随机数,用户每猜一个数字,显示出"完全猜中的数字个数"和"猜中数字但位置错误的数字个数& ...

  10. [源码和文档分享]基于JAVA实现简易版泡泡堂小游戏

    一.简介--童年记忆 <泡泡堂>是由韩国游戏公司Nexon开发的一款休闲游戏(Casual Game),于2003年在中国大陆上线,由盛大网络运营.游戏讲述了在哈巴森林的一个村落的村民们利 ...

最新文章

  1. GLSL实现图像处理
  2. UVA 11149.Power of Matrix-矩阵快速幂倍增
  3. opencv java ubuntu_Ubuntu 16.04配置OpenCV 3.1.0 for Java
  4. MyEclipse下XFire开发Webservice实例
  5. 使用GDAL下载并转换SRTM的DEM数据(一)
  6. GetLogicalDrives,GetLogicalDriveStrings,GetDri...
  7. Vue引入vue-qr组件实现生成二维码,且实现在二维码中间加入logo图片功能
  8. Web前端-html页面-网易注册表单,美化及时验证效果
  9. 《SVN web管理工具CollabNetSubversionEdge》
  10. Sql Server 增加字段、修改字段、修改类型、修改默认值
  11. 国外的英文JAVA论坛
  12. 通过输入的年份判断生肖
  13. Windows10常用功能一键设置优化工具分享
  14. mysql出现LF怎么办,MySQL的LF_HASH
  15. DirectShow编程
  16. 怎么通过助记词登录MetaMask和通过私钥登录
  17. DC/DC电源输入输出滤波电容摆放位置
  18. 变脸软件成犯罪帮凶​,上万个限用微信号被“复活”
  19. 配置网络接口的“IP“命令
  20. 没用的大用_拔剑-浆糊的传说_新浪博客

热门文章

  1. EMC-电磁兼容-电磁骚扰的耦合机理
  2. API卡_什么是图形API,API又是用来做什么的,其实它是一名出色的翻译官
  3. 对偶理论与灵敏度分析
  4. 植物大战僵尸tv版显示无法连接服务器,创维云电视植物大战僵尸tv版总是无法连接服务器...
  5. 2018年秋季学期课表
  6. 客户端session与服务端session
  7. 免费的客户订单及商品管理系统
  8. HCRM医院客户管理系统
  9. Win10鼠标右键菜单不显示怎么办?
  10. el-table样式美化