基于VC++实现的中国象棋-双人象棋游戏
1 问题描述
1.1 要求
设计棋盘,棋子等数据,两个玩家可以依次输入数据控制某一个棋子的移动,并且可以判断一步棋是否合法,不合法不能移动,游戏可以存档,读档,记录下棋的过程,如能按棋谱走棋更佳。
1.2 问题分析
1.2.1 象棋记谱规则
红方从右往左为一至九列(用汉字),黑方从左往右为1至9列(用阿拉伯数字)
若欲移动的棋子那列没有与该棋子相同的棋子,则记为:
- 棋子+列号+动作+步数,其中,列号按6.1的规则产生,动作有进、退、平三种:往对方棋盘方向走为进,往己方棋盘方向走为退,在同一行上移动为平
- 步数:若棋子移动时不改变列,则记为移动的行数(红方汉字黑方阿拉伯数字);若棋子移动时改变列或棋子走斜线,则记为移动到的新列号。例如:
- 马三进一 红方第三列的马向黑方棋盘方向走一步,移动到第一列
- 卒3进1 黑方第3列的卒向红方棋盘方向走1步,未改变列
- 车二平五 红方第二列的车走到第五列,未改变行
- 象9退7 黑方第9列的象向己方棋盘方向走一步,移动到第七列
- 该列有重子且移动的棋子不为兵、卒,则记为:
- 位置+棋子+动作+步数,其中动作和步数的记法与上述相同
- 位置分为前、后两种,在己方前进方向的为前,己方后退方向的为后。例如:
- 前炮进一 红方位于棋盘前方的炮前进一步(红方共两个炮,不会混淆)
- 该列有重子且移动的棋子不为兵、卒,则记为:
- 位置+列号+动作+步数,其中动作和步数的记法与6.2相同
- 位置分为前、中前、中、中后、后五种,望文生义。例如:
- 前五进一 红方位于最前方的兵前进一步
1.2.2 目标
在控制台界面绘制棋盘和棋子
设计光标系统,可用键盘方向键控制棋子移动,能用鼠标更佳
可判断每步棋是否合法,不合法不能移动
可存档、读档、记录下棋过程
按棋谱走棋(可选)
计时、暂停(可选)
自动判断胜负(可选)
联机对战(可选)
点击此处下载文档和源码
基于VC++实现的中国象棋-双人象棋游戏相关推荐
- 【C++课程设计】期末大作业 - 基于Qt开发的中国象棋软件
1 题目 基于Qt的中国象棋软件开发 本博客只是简略的描述论文的大致结构.框架,以及软件开发的大致过程.有兴趣的参考原文档资料. 2总体设计与主要功能 2.1概述 中国象棋是起源于中国的一种棋,属于二 ...
- 基于python的游戏设计与实现-基于Python的网络中国象棋游戏设计与实现
基于Python的网络中国象棋游戏设计与实现 摘要中国象棋是一种家喻户晓的棋类游戏,随着互联网时代的到来,人们的娱乐方式也逐渐向PC端和移动端上发展.本文将传统的中国象棋游戏和当下的互联网技术结合作为 ...
- 基于Java EE的中国象棋网上对战的设计与实现
技术:Java.JSP等 摘要:中国象棋是一种起源于中国古代的双人对战棋类游戏,广泛的流行在全国各地,是中华文化的典型代表之一,体现着中华文化的智慧和蕴含.为了传承这一重要的传统,理解其中的精髓,以及 ...
- 基于Java+Swing实现中国象棋游戏
基于Java+Swing实现中国象棋游戏 一.系统介绍 二.功能展示 三.其他系统 四.获取源码 前言 中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味 ...
- 【181008】VC++写的中国象棋游戏源程序
VC++写的中国象棋游戏源程序,界面看上去挺不错,可以选择人与电脑对战,通过网络人与人对战,程序虽小,不过考验的编程水平是多方面的,因此通过游戏我们有学习不少实用的技巧.简要说明一下:游戏网络运行方法 ...
- 基于UDP协议的中国象棋游戏实现!
基于UDP协议的中国象棋游戏 1.效果图 2.项目阐述 3.项目知识点 4.部分界面实现 4.1.背景界面面板 4.2.输入客户端信息界面面板 4.3.主界面 5.功能实现 5.1.界面切换 5.2. ...
- QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)
QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...
- QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)
QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...
- QT象棋暗棋游戏(一)
QT象棋暗棋游戏(一) 学习目标: 学习时间: 学习产出: 代码部分 学习目标: 程序使用C/S架构 (1)MFC/Qt编程实现server程序象棋界面: (2)编程实现server端暗棋的初始化随机 ...
- QT象棋暗棋游戏(二)
QT象棋暗棋游戏(二) 本次更新可能是最后更新了,因为这次个人设计项目已经做好提交了,基本实现了如下功能,当然还存在一堆问题,希望有人能够解答: 本人懒,在上面复制一堆代码估计你们也不会看,具体代码文 ...
最新文章
- 架构师之路 — API 经济 — RESTful API
- 通过子类化创建新的层和模型
- Java设计模式学习02——工厂模式
- java冒泡怎么写_java 冒泡 又一种写法
- SPOJ DQUERY D-query(主席树 区间不同数个数)
- Beta-Binomial 共轭
- 这个全新的 “万能文库”下载器,竟然可以下载VIP文档!
- nvidia控制面板官方版-nvidia控制面板附安装教程
- Windows新建文本文档的快捷键设置
- 谷歌服务组件安装简介
- 手把手教你基于PaddlePaddle的情绪识别
- c语言贾宗璞答案,c语言答案 贾宗璞、许合利
- n个节点互异的拉格朗日插值基函数之和等于一证明
- 2023年计算机考研数学一考试大纲
- 基于APS排程系统的物料管理有哪些优势?
- 搜书吧自动购买(下载)功能实现
- 【机器学习 吴恩达】2022课程笔记(持续更新)
- 手机对LED软件的操作
- 爬虫-菜谱信息爬取(保存至数据库)
- 管家婆勒索病毒怎么处理?管家婆勒索病毒怎么办?管家婆勒索病毒怎么解决?
热门文章
- 高一计算机算法教案,高中信息技术 算法及其实现 教案
- 分时操作系统与分布式操作系统
- struts2 通配符的配置方式
- 快嘴企业名录搜索 2007 是什么
- 迅盘从入门到精通 彻底告别WIN7关机烦恼 T400亲测
- 使用layui修改table样式
- 【经典源码】网络安全--远程控制--Gh0st3.6饭客网络sid版
- vue引入百度离线地图
- error PRJ0003 : 生成“C:\WINDOWS\system32\cmd.exe”时出错
- CSS3参考手册(所有属性)