1.很直观地去看这个中国象棋的界面,数一下它有多少行和多少列.

10行,9列:要注意这里数的是安放象棋的位置,有10行9列

这里我们首先想到的必然是二维数组,每一个行列交叉的点都设置成二维数组a[i][j]这样的格式,以此来确定棋盘上面每一个棋子的位置和走向.

我们把上面安放棋子的二维数组定义成一个地图,也就是map[i][j]的格式,但同时要注意,每一个象棋棋子都有行,列,颜色,是否过河和名称(也就是什么棋子)几种定义区分.

那么这里我们就需要把棋子定义成一个结构.如下:

struct  Chesscoordinate//棋子综合信息
{int x;int y;DWORD type;  //颜色bool river;//是否过河int id;
};

当定义了棋子综合信息,我们是不是需要每一个信息都拓展一下?

x代表的是在棋盘上面的列,也就是竖行,y代表的是棋子在棋盘上面的行,也就是横线,而type代表的棋子的颜色,棋子颜色可以分为黑色和红色两种;river设置成bool型的,只需要判断棋子是否过河就可以了.最后id定义的是棋子上面的名称,比如将,帅等.

接下来我们就来VS当中进行棋子的程序定义拓展:

#define distance  35//窗口线与棋盘边界线的距离
#define   longth  65//棋盘方格的长
#define   

用VS软件开发“中国象棋“游戏相关推荐

  1. 用VS软件开发“中国象棋“游戏<笔记摘录>

    整体架构如上 1.很直观地去看这个中国象棋的界面,数一下它有多少行和多少列. 10行,9列:要注意这里数的是安放象棋的位置,有10行9列 这里我们首先想到的必然是二维数组,每一个行列交叉的点都设置成二 ...

  2. 基于python的游戏设计与实现-基于Python的网络中国象棋游戏设计与实现

    基于Python的网络中国象棋游戏设计与实现 摘要中国象棋是一种家喻户晓的棋类游戏,随着互联网时代的到来,人们的娱乐方式也逐渐向PC端和移动端上发展.本文将传统的中国象棋游戏和当下的互联网技术结合作为 ...

  3. 基于UDP协议的中国象棋游戏实现!

    基于UDP协议的中国象棋游戏 1.效果图 2.项目阐述 3.项目知识点 4.部分界面实现 4.1.背景界面面板 4.2.输入客户端信息界面面板 4.3.主界面 5.功能实现 5.1.界面切换 5.2. ...

  4. 使用Qt开发中国象棋(一):概述

    最近看了一些关于中国象棋的实现书籍,里面讲述了如何开发一个完整的中国象棋游戏,看了里面的内容,感觉里面的内容特别巧妙的,比如书中提到了用位棋盘来表示中国象棋的棋盘以及一些精妙的走棋算法.基于这些,自己 ...

  5. 使用Qt开发中国象棋(三):走棋着法列表

    在一个完整的中国象棋游戏中,一般界面上都显示了中文着法,为了简单起见,我开发的这个用了两个着法列表,红方一个,黑方一个,其实用一个就够了,只是感觉那样稍微会麻烦些.着法列表显示了每一步的走棋.下图是着 ...

  6. 【180928】中国象棋游戏源码

    一.源码特点     采用c#winform编的象棋游戏,不带人工智能,棋子可以正常的行动,但功能上还有待完善 二.功能介绍     本源码是一个中国象棋游戏源码,由于没有人工智能,所以只能自己跟自己 ...

  7. 基于Java+Swing实现中国象棋游戏

    基于Java+Swing实现中国象棋游戏 一.系统介绍 二.功能展示 三.其他系统 四.获取源码 前言 中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味 ...

  8. Qt终极教程——用Qt编程实现中国象棋游戏(提供源代码和程序编译运行教程)

    Qt终极教程--用Qt编程实现中国象棋游戏 目录 Qt终极教程--用Qt编程实现中国象棋游戏 简介 运行可执行程序体验象棋游戏 Qt 安装 源代码的编译.运行与调试 生成预编译的可执行程序 简介 本文 ...

  9. C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!

    中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 它是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规 ...

最新文章

  1. 人脸识别不只是隐私问题 信息泄露面临更大安全隐患
  2. 高性能缓存服务器Varnish详解
  3. CH 5102 Mobile Service(线性DP)
  4. COMP9313 2018s2 Project 3
  5. java word文档生成目录_JAVA合并word文档生成目录
  6. 2015蓝桥杯省赛---java---B---3(三羊献瑞)
  7. 吴恩达作业10:用卷积神经网络识别人脸happy(基于Keras)
  8. Web开发者的最佳开发调试环境Chrome
  9. 通过显式寻找物体的 extremity 区域加快 DETR 的收敛:Conditional DETR
  10. vim 删除当前词_VIM中常用的查找、替换、删除模式总结
  11. Linux服务器安全加固
  12. 猴子摘香蕉-人工智能实验的思考
  13. MySQL学习笔记(6)
  14. PostScript 与 Encapsulated PostScript
  15. Uniapp Base64码 播放音频(MP3)
  16. 把你的面子撕下来扔到地上,狠狠踹几脚!
  17. string函数的模拟实现
  18. python枪械_Python的七种武器
  19. 毕业设计-基于 MATLAB 的车牌识别系统设计
  20. Mac Xcode崩溃 (打开ios项目引起崩溃)

热门文章

  1. 【计算机网络】—— 数据链路层的功能概述
  2. Python大数据-电商产品评论情感数据分析
  3. [PPPOE]PPPD源码分析
  4. 山中无甲子,寒尽不知年
  5. 产品的概念:提出与筛选--第三章人人都是产品经理
  6. Java读写txt文件案例-统计学生名单
  7. 小程序获取用户信息相关 获取头像名称 微信用户
  8. PS图片素描化(画)
  9. 微信上一定有重做贴吧的机会!
  10. win10共享打印机怎么设置_win10系统设置共享打印机的方法步骤