C++制作汉字版国际象棋第一篇
前言
今天我新开了一个专栏,在这里我将会一步步带大家写出一个国际象棋小游戏
定义
那么今天我就先带大家写一下定义各种棋的代码,这里我们需要用到struct
上代码:
#include<string>
using namespace std;
struct Qi{string name;char id;short a[8];
}qi[6];
这里我们一行一行的看:
string name;
这是这个棋的名字
char id;
。。。这是,代表它的字母(记录要用)
short a[8];
表示在i个方向能不能走,-1只能往这个方向攻击,0不能走,1只能走一步,2无限步(马都赋为-2)
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
前方 |
后方 |
左方 |
右方 |
左前方 |
右前方 |
左后方 |
右后方 |
赋值
既然定义都写出来,那我们就把赋值也写出来吧
我们在再加一个赋值函数,方便赋值(我懒得用数组)
名字要用一个字,方便输出整齐
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;
}
小兵(只能往前走,攻击只能斜走)
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);//因为比较特殊,先都填-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);
那么今天就写到这里啦,今天完整代码:
#include<string>
using namespace std;
struct Qi{string name;char id;short a[8];
}qi[6];
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);
}
int main(){csh();return 0;
}
C++制作汉字版国际象棋第一篇相关推荐
- C++制作汉字版国际象棋(2)
前言 上次我写出了棋类型的定义与赋值,今天我们来写地图与马 地图 定义 struct MAP{int i;bool dui;bool color; }mp[9][9]; int i; 现在格上是哪个棋 ...
- C++制作汉字版国际象棋(3)
前言 今天我们会写所有的输出操作. 输出 color函数 void color(int a) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAND ...
- JS版数据结构第一篇(栈)
前端入行门槛低,人员参差不齐 前端就是写页面的 前端的人都不懂数据结构和算法 背景 相信大家在社区经常会听到类似以上的话 由于前端上手比较快,而且平时开发时大部分写的都是业务逻辑以及交互,常常导致我们 ...
- 觉得tkinter界面不好看?Extkinter带你制作进阶版窗口(ExButton篇)
用了tkinter很长时间了,一直都是觉得tkinter功能挺到位,但就是不够美观,所以就有了这个窗口美化计划(我管它叫Extkinter),这篇文章介绍一下它的第一个组件:按钮(ExButton) ...
- 汉字版九九乘法表c语言,WPS表格怎么制作九九乘法表和汉字版九九乘法表?
小编在这给大家讲讲WPS表格制作九九乘法表和汉字版九九乘法表 详细教程: 一.九九乘法表的3种制作方法 1. 单元格引用方法(混合引用单元格) =IF($A2 复制代码 2. 借助行列函数方法(行:r ...
- Dialogue System for Unity文档中文对照版(简雨原创翻译)第一篇(我们开始仙剑demo的剧情)
这篇文档本身有快300页,因为实在太多,所以不像前面的插件那样翻译的,很多地方直接用了机翻,因为文字量实在太大,如果翻译完全套,再加上讲解的话,估计要花几个月的时间,对于普通的程序来说,其实 ...
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备...
相信很多人或多或少听说了微信公众平台的火热.但是开发还是有一点门槛,鉴于挺多朋友问我怎么开发,问多了,自己平时也进行以下总结. 所以下面给大家分享一下我的经验: 第一部分 介绍微信公众号的一些简单 ...
- vue使用e-charts制作专题图(广西省为例)---第一篇
vue使用E-Charts制作专题图(广西省为例)---第一篇 写博客是为了做笔记 先给大家看一下效果图: "专题图"顾名思义就是地图的每一部分根据一定的标准,展现出不一样颜色,使 ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第一篇:人物动画序列帧
文章目录 一.前言 二.创建工程 三.导入序列帧图片素材 四.设置图片格式 五.切割序列帧 六.制作序列帧动画 七.运行效果 一.前言 嗨,大家好,我是新发,今天是大年初一,大家牛年快乐,牛气冲天. ...
最新文章
- centos7配置bind重启后错误解决
- C++中的.hpp理解
- 【Android】ActionBar的使用(1)
- 把jquery的this写入选择器里(伪写入)哈哈~
- php 规格,PHP 设计模式系列之 specification规格模式_PHP
- ajax提交file空指针,excel导入上传文件报空指针错误
- 这只猫在云端定居了?边缘计算在天猫精灵云应用上的落地实践
- 机器学习之数据归一化
- 获取linux samba的文件访问日志
- matlab数据栅格化,新手求卫星降水数据CMORPH_V1.0数据完整处理方法,有matlab打开的代码但是不会处理...
- NV12等常用YUV数据格式
- java中tab键_Java 9中的JShell中Tab键的用途是什么?
- 狂野飙车显示无法连接服务器,狂野飙车(极速版)无法连接服务器是什么原因...
- 阿里六面(总结他人事迹)
- 转:领导者能够坦诚错误,员工就能畅所欲言
- Value did not match schema:\n1. return.ok.Ok2: Invalid type. Expected: array, given: null
- 猫眼app产品分析和原型绘制
- 谷歌浏览器Chrome八年来首次更新标识 几个月后全面开放
- C++ stack pop()返回值 error: cannot initialize a variable of type ‘int‘ with an rvalue of type ‘void‘
- 8种食品,塑身美体过程中的你不要空腹食用