C++制作汉字版国际象棋(2)
前言
上次我写出了棋类型的定义与赋值,今天我们来写地图与马
地图
定义
struct MAP{int i;bool dui;bool color;
}mp[9][9];
int i;
现在格上是哪个棋(编号)
bool dui;
哪个队的
bool color;
当前格子的颜色
黑格与白格
国际象棋里的格子(8❌8)分黑与白,交替互换
下面实现颜色赋值
bool _color=0;for(int i=1;i<=8;i++){for(int j=1;j<=8;j++){mp[i][j].color=_color;_color=!_color;}_color=!_color;}
这里我们定义了个_color记录当前颜色为,
颜色是交替的,所以每次都要转一次
但每行的末尾与下一行的开头颜色一样,所以再换回来
棋子的摆放
没啥可说的,直接赋值(国际象棋的摆放规则)
short _mp[9][9]={{-1,-1,-1,-1,-1,-1,-1,-1},{-1,1,3,2,4,5,2,3,1},{-1,0,0,0,0,0,0,0,0},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,0,0,0,0,0,0,0,0},{-1,1,3,2,4,5,2,3,1}};for(int i=1;i<=8;i++){for(int j=1;j<=8;j++){mp[i][j].i=_mp[i][j];}}
(-1代表没子或出界(i为0或j为0))
队
直接判定
for(int i=1;i<=8;i++){ //队初始化 for(int j=1;j<=8;j++){if(i==1||i==2) mp[i][j].dui=1;else if(i==7||i==8) mp[i][j].dui=0;else mp[i][j].dui=-1;}}
(-1代表没子)
马
上一期我们把马都设为了待定,今天我们来搞定马的路线
这是马能走的所有路线
short ma_zoux[8]={1,1,-1,-1,2,2,-2,-2},ma_zouy[8]={2,-2,2,-2,1,-1,1,-1};
代码
这是目前为止的代码
#include<string>
using namespace std;
struct MAP{int i;short dui;bool color;
}mp[9][9];
struct Qi{string name;char id;short a[8];
}qi[6];
short ma_zoux[8]={1,1,-1,-1,2,2,-2,-2},ma_zouy[8]={2,-2,2,-2,1,-1,1,-1};
void qi_fuzhi(int ii,string _name,char iid,short a1,short a2,short a3,short a4,short a5,short a6 ,short a7,short a8){qi[ii].name=_name;qi[ii].id=iid;qi[ii].a[0]=a1;qi[ii].a[1]=a2;qi[ii].a[2]=a3;qi[ii].a[3]=a3;qi[ii].a[4]=a4;qi[ii].a[5]=a5;qi[ii].a[6]=a7;qi[ii].a[7]=a8;
}
void csh(){qi_fuzhi(0,"兵",' ',1,0,0,0,-1,-1,0,0); //棋子初始化 qi_fuzhi(1,"车",'R',2,2,2,2,0,0,0,0);qi_fuzhi(2,"象",'B',0,0,0,0,2,2,2,2);qi_fuzhi(3,"马",'N',-2,-2,-2,-2,-2,-2,-2,-2);qi_fuzhi(4,"后",'Q',2,2,2,2,2,2,2,2);qi_fuzhi(5,"王",'K',1,1,1,1,1,1,1,1);bool _color=0;for(int i=1;i<=8;i++){ //棋盘颜色初始化 for(int j=1;j<=8;j++){mp[i][j].color=_color;_color=!_color;}_color=!_color;}short _mp[9][9]={{-1,-1,-1,-1,-1,-1,-1,-1}, //棋盘棋子初始化 {-1,1,3,2,4,5,2,3,1},{-1,0,0,0,0,0,0,0,0},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1,-1,-1,-1},{-1,0,0,0,0,0,0,0,0},{-1,1,3,2,4,5,2,3,1}};for(int i=1;i<=8;i++){for(int j=1;j<=8;j++){mp[i][j].i=_mp[i][j];}}for(int i=1;i<=8;i++){ //队初始化 for(int j=1;j<=8;j++){if(i==1||i==2) mp[i][j].dui=1;else if(i==7||i==8) mp[i][j].dui=0;else mp[i][j].dui=-1;}}
}
int main(){csh();return 0;
}
C++制作汉字版国际象棋(2)相关推荐
- C++制作汉字版国际象棋第一篇
前言 今天我新开了一个专栏,在这里我将会一步步带大家写出一个国际象棋小游戏 定义 那么今天我就先带大家写一下定义各种棋的代码,这里我们需要用到struct 上代码: #include<strin ...
- C++制作汉字版国际象棋(3)
前言 今天我们会写所有的输出操作. 输出 color函数 void color(int a) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAND ...
- 汉字版九九乘法表c语言,WPS表格怎么制作九九乘法表和汉字版九九乘法表?
小编在这给大家讲讲WPS表格制作九九乘法表和汉字版九九乘法表 详细教程: 一.九九乘法表的3种制作方法 1. 单元格引用方法(混合引用单元格) =IF($A2 复制代码 2. 借助行列函数方法(行:r ...
- .net 数字转汉字_[原创工具] 小熊汉字笔顺学习软件,查笔顺、学拼音、制作汉字英文数字字贴...
点击右上角"设为星标"每日精彩内容,第一时间送达! 前言 今天带来的是原创软件.家里有上一二年级的小朋友有福了!家里有打印机的可以把设置好的字帖打印出来,小朋友即可临摹.赶紧下载使 ...
- dockerfile安装yum_Docker镜像-基于DockerFile制作yum版nginx镜像
Docker镜像-基于DockerFile制作yum版nginx镜像 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. DockerFile可以说是一种能被Docker程序解释的脚本, ...
- 制作网页版电子时钟特效
可以加我QQ1975728171代做 一.语言和环境 A.实现语言 JavaScript B.环境要求 Dreamweaver.WebStorm.Sublime任选其一 二.功能要求 利用JavaSc ...
- stable diffusion制作韩国版AI女友关键词
问题 怎么样使用stable diffusion简单制作韩国版AI女友?这里假设已经安装好stable diffusion webui版.这里主要记录一下韩国版AI女友sd配置参数 Stable Di ...
- 纯CSS制作加div制作动画版哆啦A梦
纯CSS代码加上<div>制作动画版哆啦A梦(机器猫) 哆啦A梦(机器猫)我们大家一定都很熟悉,今天给大家演示怎么用纯CSS代码,来做一个动画版的哆啦A梦. 效果图: ###下面代码同学可 ...
- 简单的《找不同汉字版》,来考考你的眼力吧
概述 简单的<找不同汉字版>,来考考你的眼力吧 详细 代码下载:http://www.demodashi.com/demo/10494.html 一.准备工作 本次游戏开发需要用到lufy ...
最新文章
- 制定OKR的两种方式,你知道吗?
- Azure Redis Cache (3) 创建和使用P级别的Redis Cache
- 你只管打开清华小姐姐总结的Python学习知识手册 ,剩下的交给「卧槽」
- Windows系统中安装Python模块pip numpy matplotlib
- switch 条件判断_C语言学习第7篇---C语言三大结构之一判断结构
- k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)
- Neo4j fails creating index,创建索引失败
- python期末复习卷_【期末复习卷A】六年级科学上册期末复习试题
- python循环结构高一信息技术会考_高一信息技术会考样题及参考答案
- 学计算机的思维导图,电脑上最好用的6款,思维导图软件测评
- 【密码学原理】密钥管理和分发——对称密钥分发
- 马克思对“货币之谜”的 历史唯物主义解答
- lbs mysql_使用mysql来实现lbs排序
- Android 9.0 简单适配
- CMYK模式(cmyk模式导出的图片颜色变了)
- 第壹近场让天下没有难做的生意
- 还在为动态太大不能用发愁么?只需3步学会高效压缩GIF动图
- maven model inspection
- “2019世界计算机大会”新闻发布会在京召开
- 【windows service】C# 创建Windows Service(Windows服务)程序