C++实现双人对战五子棋项目,内含项目源码,演示demo,开发具体流程文档。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-26 12:55 C++实现五子棋项目(附源码)
文件 1038797 2019-07-26 12:51 C++实现五子棋项目(附源码)demo.gif
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vs
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobang
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16
文件 28160 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16.suo
文件 36438016 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16Browse.VC.db
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipch
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH9f00a37c38189f49
文件 2359296 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH9f00a37c38189f49MAIN.ipch
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebug
文件 114176 2019-07-26 12:29 C++实现五子棋项目(附源码)gobangDebuggobang.exe
文件 866016 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.ilk
文件 88 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.log
文件 913408 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.pdb
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlog
文件 616 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.command.1.tlog
文件 26834 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.read.1.tlog
文件 404 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.write.1.tlog
文件 202 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tloggobang.lastbuildstate
文件 1134 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tloglink.command.1.tlog
文件 3602 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tloglink.read.1.tlog
文件 424 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tloglink.write.1.tlog
文件 25199 2019-07-26 12:29 C++实现五子棋项目(附源码)gobangDebugmain.obj
文件 257024 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebugvc142.idb
文件 151552 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebugvc142.pdb
文件 1432 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.sln
文件 6118 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.vcxproj
文件 949 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.vcxproj.filters
............此处省略6个文件信息
#include
#include //图形库头文件
#include //播放音乐头文件
#include
#pragma comment(lib “winmm.lib“) //播放音乐库文件
int flag = 0; //表示下棋次数
int board[20][20] = { 0 }; //0表示棋盘没有棋子状态
void initGame();
int judge(int a int b);
void playChess();
int main() {
initGame();
playChess();
getchar();
return 0;
}
//1.画出棋盘
void initGame() { //初始化游戏
//1.1 绘图环境 库函数
//默认调用系统的窗口
initgraph(600 500); //创建自定义窗口
//setbkcolor(BLUE); //设置窗口背景颜色
//cleardevice(); //刷新
//1.2 贴图
loadimage(NULL “./src/bg.jpg“);
//1.3 背景音乐 mci 多媒体控制结口
mciSendString(“open ./src/skyCity.mp3“ 0 0 0);
//mciSendString(“play ./src/skyCity.mp3“ 0 0 0);
//setlinecolor(BLACK);
//1.4 绘制棋盘
//画线 20 20 25 25 500 500
for (int i = 0; i <= 500; i += 25) {
line(0 i 500 i);
line(i 0 i 500);
}
line(501 0 501 500);
//1.5 print out
outtextxy(510 100 “玩家1:黑棋“);
outtextxy(510 200 “玩家2:白棋“);
}
//2.下棋
void playChess() {
//鼠标
MOUSEMSG m; //保存鼠标消息
int x=0 y=0; //坐标
int a=0 b=0; //行列
//持续下棋
while (1) {
m = GetMouseMsg(); //获取一个鼠标消息
//获取离鼠标最近的点的坐标信息
for (int i = 1; i < 20; i++) {
for (int j = 1; j < 20; j++) {
if (abs(m.x - i * 25) < 12 && abs(m.y - j * 25) < 12) {
x = i * 25;
y = j * 25;
a = i;
b = j;
}
}
}
if (m.uMsg == WM_LBUTTONDOWN) {
//棋子重复下在一个位置上
if (board[a][b] != 0) {
MessageBox(NULL “这里已经有棋子了,请重新选择。“ “提示“ MB_OK); //弹出一个提示框
continue; //进入下一循环
}
//判断黑白子
if (flag % 2 == 0) { // 偶数次 黑子
setfillcolor(BLACK);
solidcircle(x y 10);
board[a][b] = 1;
}
else { //奇数次
setfillcolor(WHITE);
solidcircle(x y 10);
board[a][b] = 2;
}
flag++;
}
if (judge(a b)) {
if (flag % 2 == 0) {
MessageBox(NULL “玩家2胜利。“ “游戏结束“ MB_OK); //弹出一个提示框
exit(0);
}
else {
MessageBox(NULL “玩家1胜利。“ “游戏结束“ MB_OK); //弹出一个提示框
exit(0);
}
}
}
}
//3.判断输赢
int judge(int a int b) {
int i j;
int t = 2 - flag % 2; //1 判断黑子是否赢 2 判断白子是否赢
//横向
for (i = a - 4 j = b; i <= a; i++) {
if (i > 0 && i < 16 && t == board[i][j] && t == board[i + 1][j] && t == board[i + 2][j] && t == board[i + 3][j] && t == board[i + 4][j]) {
return 1;
}
}
//纵向
for (i = a j = b - 4; j <= b; j++) {
if (j > 0 && j < 16 && t == board[i][j] && t == board[i][j + 1] && t == board[i][j + 2] && t == board[i][j + 3] && t == board[i][j + 4]) {
return 1;
}
}
//右下
for (i = a - 4 j = b - 4; i <= a j <= b; i++ j++) {
if (i > 0 && i < 16 && j > 0 && j < 16 && t == board[i][j] && t == board[i + 1][j + 1] && t == board[i + 2][j + 2] && t == board[i + 3][j + 3] && t == board[i + 4][j + 4]) {
return 1;
}
}
//左下
for (i = a - 4 j = b + 4; i <= a j >= b; i++ j--) {
if (i > 0 && i < 16 && j > 0 && j < 16 && t == board[i][j] && t == board[i + 1][j - 1] && t == board[i + 2][j - 2] &&
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-26 12:55 C++实现五子棋项目(附源码)
文件 1038797 2019-07-26 12:51 C++实现五子棋项目(附源码)demo.gif
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vs
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobang
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16
文件 28160 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16.suo
文件 36438016 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16Browse.VC.db
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipch
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH9f00a37c38189f49
文件 2359296 2019-07-26 12:51 C++实现五子棋项目(附源码)gobang.vsgobangv16ipchAutoPCH9f00a37c38189f49MAIN.ipch
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebug
文件 114176 2019-07-26 12:29 C++实现五子棋项目(附源码)gobangDebuggobang.exe
文件 866016 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.ilk
文件 88 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.log
文件 913408 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.pdb
目录 0 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlog
文件 616 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.command.1.tlog
文件 26834 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.read.1.tlog
文件 404 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogCL.write.1.tlog
文件 202 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tloggobang.lastbuildstate
文件 1134 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogli
文件 3602 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogli
文件 424 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebuggobang.tlogli
文件 25199 2019-07-26 12:29 C++实现五子棋项目(附源码)gobangDebugmain.obj
文件 257024 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebugvc142.idb
文件 151552 2019-07-26 12:51 C++实现五子棋项目(附源码)gobangDebugvc142.pdb
文件 1432 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.sln
文件 6118 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.vcxproj
文件 949 2019-07-26 12:51 C++实现五子棋项目(附源码)gobanggobang.vcxproj.filters
............此处省略6个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)