重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天我新开了一个专栏,在这里我将会一步步带大家写出一个国际象棋小游戏
那么今天我就先带大家写一下定义各种棋的代码,这里我们需要用到struct
创新互联公司于2013年开始,先为朝阳等服务建站,朝阳等地企业,进行企业商务咨询服务。为朝阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。上代码:
#includeusing 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);
那么今天就写到这里啦,今天完整代码:
#includeusing 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;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧