C/C 项目源码——五子棋

C/C 项目源码——五子棋

首页休闲益智五子棋大作战更新时间:2024-06-03

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

这是我项目的源码:

#include <stdio.h> //方便我们输入输出

#include <conio.h> //getch

#include <Windows.h>

#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("\n");

}

}

//下子

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

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved