//创建对话框,绘制五子棋,并实现五子棋的输赢判断
#include<windows.h>
#include <tchar.h>
//棋盘和棋手,黑子先手
LPCWSTR lps[11] = { L" 1",L" 2",L" 3",L" 4",L" 5",L" 6",L" 7",L" 8",L" 9",L"10",L"11" };
int chessboard[11][11] = {
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0
}, chequer = -1;
//重新开始
void reset()
{
for (int i = 0; i <= 10; i++)
for (int j = 0; j <= 10; j++)
chessboard[i][j] = 0;
chequer = -1;
}
//判断输赢
int judgeWinner()
{
//横向
for (int i = 0; i <= 10; i++)
for (int j = 0; j <= 6; j++)
{
if (chessboard[i][j] == 1 && chessboard[i][j + 1] == 1 && chessboard[i][j + 2] == 1 && chessboard[i][j + 3] == 1 && chessboard[i][j + 4] == 1)
return 1;
if (chessboard[i][j] == -1 && chessboard[i][j + 1] == -1 && chessboard[i][j + 2] == -1 && chessboard[i][j + 3] == -1 && chessboard[i][j + 4] == -1)
return -1;
}
//纵向
for (int j = 0; j <= 10; j++)
for (int i = 0; i <= 6; i++)
{
if (chessboard[i][j] == 1 && chessboard[i + 1][j] == 1 && chessboard[i + 2][j] == 1 && chessboard[i + 3][j] == 1 && chessboard[i + 4][j] == 1)
return 1;
if (chessboard[i][j] == -1 && chessboard[i + 1][j] == -1 && chessboard[i + 2][j] == -1 && chessboard[i + 3][j] == -1 && chessboard[i + 4][j] == -1)
return -1;
}
//右斜线
for (int i = 0; i <= 6; i++)
for (int j = 0; j <= 6; j
C++ 五子棋
最新推荐文章于 2025-11-05 23:28:54 发布
本文介绍如何使用C++编程语言实现一个简单的五子棋游戏。内容涵盖棋盘的初始化,玩家轮流落子,判断胜负,以及游戏的回溯算法等关键功能。

最低0.47元/天 解锁文章
2934

被折叠的 条评论
为什么被折叠?



