c++ 项目_C/C++项目源码——五子棋

这是小编自己写的一个简单地五子棋代码,还有点错误,欢迎大家来指正我的错误

0a094c0fea089a5d6613f0a6c4902e1f.png

这是我项目的源码:

#include //方便我们输入输出

#include //getch

#include

#pragma comment(lib, "winmm.lib") //包含静态库文件

//Windows 90%代码是用C语言开发

//C和C++开发

int g_ckeckboard[15][15]; //棋盘

int g_currentGamer; //当前玩家 1:黑子;2:白子

int g_cursorX, g_cursorY; //代表光标位置(下子的位置)

//运行游戏

int PlayGame();

//初始化

void Init();

//绘制棋盘

void PrintCheckboard();

//下子

int Put();

int main()

{

//设置控制台窗口的标题

SetConsoleTitle(L"五子棋大战游戏");

//设置控制台界面颜色

system("color E0"); //其他颜色

//播放音乐

//mciSendString(L"open bkmusic.mp3 alias music", 0,0,0);

//mciSendString(L"play music repeat",0, 0, 0);

//死循环

while (1)

{

//不断的执行游戏

PlayGame();

}

//应该等待一下不能让程序退出

//getchar();

//system("pause");

return 0;//立刻马上退出程序了

}

//运行游戏

int PlayGame()

{

//首先先完成初始化

Init();

while (1)

{

//绘制棋盘

PrintCheckboard();

char ch = getch();

switch (ch)

{

case 32://空格键

if (1 == Put())

{

g_currentGamer = 3 - g_currentGamer;

}

break;

case 72://往上

g_cursorX--; if (g_cursorX < 0) g_cursorX = 14;

break;

case 80://往下

g_cursorX++; if (g_cursorX > 14) g_cursorX = 0;

break;

case 75://往左

g_cursorY--; if (g_cursorY < 0) g_cursorY = 14;

break;

case 77://往右

g_cursorY++; if (g_cursorY > 14) g_cursorY = 0;

break;

}

}

return 1;

}

//初始化

void Init()

{

//1、空棋盘

memset(g_ckeckboard, 0, sizeof(g_ckeckboard));

//2、玩家谁先

g_currentGamer = 1; //黑子先

//3、光标居中

g_cursorX = g_cursorY = 15 / 2;

}

//绘制棋盘

void PrintCheckboard()

{

//清屏

system("cls");

for (int i = 0; i < 15; i++)

{

for (int j = 0; j < 15; j++)

{

if (i == g_cursorX && j == g_cursorY)

{

printf("╬");

}

else if (g_ckeckboard[i][j] == 1)

{

printf("●");

}

else if (g_ckeckboard[i][j] == 2)

{

printf("○");

}

else if (i == 0 && j == 0)

{

printf("┏");

}

else if (i == 0 && j == 14)

{

printf("┓");

}

else if (i == 14 && j == 0)

{

printf("┗");

}

else if (i == 14 && j == 14)

{

printf("┛");

}

else if (i == 0)

{

printf("┳");

}

else if (i == 14)

{

printf("┻");

}

else if (j == 0)

{

printf("┣");

}

else if (j == 14)

{

printf("┫");

}

else

{

printf("┼");

}

}

printf("");

}

}

//下子

int Put()

{

//什么时候下子失败

//下子的本质 :不是就是 改变二维数组,里面的值

//根据二维数组里面的值不同而打印不同的东西

if (g_ckeckboard[g_cursorX][g_cursorY] == 0)

{

g_ckeckboard[g_cursorX][g_cursorY] = g_currentGamer;

return 1;

}

else

return 0;

}

C/C++学习交流群:1083020561

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值