C++五子棋编写控制台CMD命令框简单五子棋游戏适合初学者学习代码有详细注释Word文件下载.docx
- 文档编号:1110785
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:24
- 大小:165.54KB
C++五子棋编写控制台CMD命令框简单五子棋游戏适合初学者学习代码有详细注释Word文件下载.docx
《C++五子棋编写控制台CMD命令框简单五子棋游戏适合初学者学习代码有详细注释Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++五子棋编写控制台CMD命令框简单五子棋游戏适合初学者学习代码有详细注释Word文件下载.docx(24页珍藏版)》请在冰点文库上搜索。
┼"
┤"
└"
┴"
┘"
○"
●"
}。
//可供选用的字符,输出棋盘或者棋子用5PCzVD7HxA
staticintRecord[15][15]={0}。
//记录棋子
staticintScore[15][15]={0}。
//评分
staticintSum=0,Renum=0。
intmain(>
{
intDefault[15][15]={0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,//空棋盘jLBHrnAILg
3,4,4,4,4,4,4,4,4,4,4,4,4,4,5,
3,4,4,4,4,4,4,4,4,4,4,4,4,4,5,
3,4,4,4,4,4,4,4,4,4,4,4,4,4,5,
6,7,7,7,7,7,7,7,7,7,7,7,7,7,8}。
intvalue[15][15]={0}。
FiveChessStart。
do
{
Start.StartGame(value,Default>
。
//开始游戏
}
while(Start.Continue>
//若是要退出就修改这个值
return0。
}
//------------------------------开始游戏------------------------------------------//xHAQX74J0X
voidFiveChess:
:
StartGame(intvalue[][15],intDefault[][15]>
LDAYtRyKfE
Empty(value,Default>
//初始化棋盘ad
ExWhile=true。
while(ExWhile>
Choice=MainMenu(>
//调用主菜单,并把用户选择的值储存在Choice里Zzz6ZB2Ltk
switch(Choice>
case1:
flag=1。
ExWhile=false。
break。
//把标志设置为1,与AI对战dvzfvkwMI1
case2:
flag=2。
//把标志设置为2,双人对战rqyn14ZNXI
case3:
Select=Introduce(>
ExWhile=Select。
Continue=false。
//游戏说明函数EmxvxOtOco
case4:
Select=Coder(>
//作者介绍函数SixE2yXPq5
case5:
Exit(>
//退出游戏函数6ewMyirQFL
default:
cin.fail(>
cin.clear(>
cin.sync(>
cout<
<
"
输出错误,请重新输入!
\n"
system("
pause>
nul2>
nul"
>
ExWhile=true。
//其它kavU42VRUs
}
if(flag==1>
//如果标志等于1,说明为单人游戏
Single(value>
elseif(flag==2>
//如果标志等于2,说明为双人游戏
Double(value>
flag=0。
//------------------------清空棋盘或初始化棋盘-----------------------------------//y6v3ALoS89
Empty(intvalue[][15],intDefault[][15]>
//清空棋盘M2ub6vSTnP
for(inti=0。
i<
15。
i++>
for(intj=0。
j<
j++>
{
value[i][j]=Default[i][j]。
//退出游戏
system("
cls"
cout<
┌—————————————————————————┐\n"
│感谢您使用:
简单五子棋Ver2.1│\n"
0YujCfmUCw
││\n"
│[游戏制作]:
落叶化尘│\n"
eUts8ZQVRd
│[联系QQ]:
775904764│\n"
sQsAEJkW5T
│[联系邮箱]:
lxhdjwg@│\n"
GMsIasNXkA
│[简单说明]:
游戏结束界面,谢谢您的使用!
│\n"
└—————————————————————————┘\n"
感谢您的使用,谢谢!
按任意键退出游戏...\n"
boolFiveChess:
Introduce(>
//游戏介绍
│简单五子棋Ver2.1[游戏介绍界面]│\n"
TIrRGchYzg
│[单人游戏]:
玩家和AI<
人工智能)对战,AI智商不高。
│\n"
│[双人游戏]:
可以两个玩家一起对战,可能不是很方便。
│[游戏方法]:
输入XY坐标落子,输入双-1悔棋。
│[特别提示]:
若游戏中想突然退出,按Ctrl+C即可中断。
是否返回?
[Y-返回N-退出]:
charchoice。
cin>
choice。
if(choice=='
N'
||choice=='
n'
cout<
returnfalse。
else
returntrue。
Coder(>
//作者介绍
│简单五子棋Ver2.1[作者介绍界面]│\n"
7EqZcWLZNX
lzq7IGf02E
zvpgeqJ1hk
NrpoJac3v1
│[简单介绍]:
游戏制作简陋,还请见谅^_^!
│[附加说明]:
作者正在努力学习C++中,嘿嘿~│\n"
//-------------------------------选择主菜单-----------------------------//1nowfTG4KI
intFiveChess:
MainMenu(>
//清屏fjnFLDa5Zo
title五子棋游戏By--落叶化尘QQ:
775904764"
//修改窗口标题tfnNhnE6e5
color3f"
//定义窗口颜色HbmVN777sL
system("
modeconcols=56lines=20"
//设置窗口大小V7l4jRB8Hs
│简单五子棋Ver2.1│\n"
83lcPA59W9
│[1]、单人游戏│\n"
mZkklkzaaP
│[2]、双人游戏│\n"
AVktR43bpw
│[3]、游戏介绍│\n"
ORjBnOwcEd
│[4]、关于作者│\n"
2MiJTy0dTT
│[5]、退出│\n"
gIiSpiue7A
请选择:
intselect。
select。
returnselect。
//返回用户选择的值
//--------------------------------胜利界面--------------------------------//uEh0U1Yfmh
Victory(intNum>
//设置窗口大小IAg9qLsgBX
if(Num==1>
system("
color1f"
│恭喜玩家1[黑棋]获得胜利!
WwghWvVhPE
│[胜利玩家]:
玩家1│\n"
asfpsfpi4k
│[所属棋子]:
黑色│\n"
ooeyYZTjj1
│[祝福话语]:
不错哦^_^!
恭喜您获得了胜利!
elseif(Num==2>
color2f"
│恭喜玩家2[白棋]获得胜利!
BkeGuInkxI
玩家2│\n"
PgdO0sRlMo
白色│\n"
3cdXwckm15
恭喜您获得了胜利,再接再厉哈^_^!
elseif(Num==3>
│恭喜您,获得了胜利│\n"
h8c52WOngM
自己│\n"
v4bdyGious
J0bm4qMpJ9
不错哦,打败了AI,恭喜!
elseif(Num==4>
color5f"
│非常遗憾,您输了!
XVauA9grYP
AI<
电脑)│\n"
bR9C6TJscw
pN9LBDdtrd
加油吧,下次一定要把AI打败哦!
│势均力敌——平局│\n"
DJ8T7nHuGT
无[平局]│\n"
QF81D7bvUA
黑色或白色│\n"
4B7a9QFw9h
棋盘居然被走满了,不错不错~!
是否返回主界面?
Continue=false。
Continue=true。
//----------------------------悔棋-------------------------------//ix6iFA8xoX
Retract(int&
x1,int&
y1,int&
x2,int&
y2,intvalue[][15]>
wt6qbkCyDE
if(Sum>
=1>
Sum--。
if((x1==-1>
&
(y1==-1>
(x2==-1>
(y2==-1>
当前无法悔棋,棋盘上没有棋子!
elseif(Renum>
=6>
悔棋超过6次,为了公平,您不能再次悔棋!
Renum++。
if(x1==0&
y1==0>
{value[x1][y1]=0。
Record[x1][y1]=0。
}Kp5zH46zRk
elseif(x1==0&
y1==14>
{value[x1][y1]=2。
}Yl4HdOAA61
elseif(x1==14&
{value[x1][y1]=6。
}ch4PJx4BlI
{value[x1][y1]=8。
}qd3YfhxCzo
(y1>
0&
y1<
14>
{value[x1][y1]=7。
}E836L11DO5
elseif(y1==14&
(x1>
x1<
{value[x1][y1]=5。
}S42ehLvE3M
{value[x1][y1]=1。
}501nNvZFis
elseif(y1==0&
{value[x1][y1]=3。
}jW1viftGw9
else{value[x1][y1]=4。
if(x2==0&
y2==0>
{value[x2][y2]=0。
Record[x2][y2]=0。
}xS0DOYWHLP
elseif(x2==0&
y2==14>
{value[x2][y2]=2。
}LOZMkIqI0w
elseif(x2==14&
{value[x2][y2]=6。
}ZKZUQsUJed
{value[x2][y2]=8。
}dGY2mcoKtT
(y2>
y2<
{value[x2][y2]=7。
}rCYbSWRLIA
elseif(y2==14&
(x2>
x2<
{value[x1][y2]=5。
}FyXjoFlMWh
{value[x2][y2]=1。
}TuWrUpPObX
elseif(y2==0&
{value[x2][y2]=3。
}7qWAq9jPqE
else{value[x2][y2]=4。
每盘最多允许悔棋6次,且最多只能回到上一步!
//-----------------------------判断用户输入的坐标合法性-------------------------//llVIWTNQFk
Position(int*x,int*y,intvalue[][15]>
yhUQsDgRT1
{
if(cin.fail(>
||*x<
0||*x>
=15||*y<
0||*y>
=15>
cin.clear(>
return1。
//返回1表示不在范围内或者输入的不是数字
elseif(value[*x][*y]==9||value[*x][*y]==10>
return2。
//存在棋子
//返回0表示坐标正常
//---------------------------判断该哪个玩家先走----------------------------//MdUZYnKS8I
NextPlayer(intvalue[][15]>
inti,j。
intplayer1=0,player2=0。
for(i=0。
for(j=0。
if(value[i][j]==10>
{
player1++。
//统计棋盘上面黑子的个数
}
elseif(value[i][j]==9>
player2++。
//统计棋盘上白子的个数
if(player1>
player2||player1<
player2>
//该玩家2走了(白子>
else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 五子棋 编写 控制台 CMD 命令 简单 游戏 适合 初学者 学习 代码 详细 注释
![提示](https://static.bingdoc.com/images/bang_tan.gif)
链接地址:https://www.bingdoc.com/p-1110785.html