C/C++項(xiàng)目源碼——五子棋

這是小編自己寫的一個(gè)簡單地五子棋代碼,還有點(diǎn)錯(cuò)誤,歡迎大家來指正我的錯(cuò)誤

這是我項(xiàng)目的源碼:

#include <stdio.h> //方便我們輸入輸出

#include <conio.h> //getch

#include <Windows.h>

#pragma comment(lib, "winmm.lib") //包含靜態(tài)庫文件

//Windows 90%代碼是用C語言開發(fā)

//C和C++開發(fā)

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

int g_currentGamer; //當(dāng)前玩家 1:黑子;2:白子

int g_cursorX, g_cursorY; //代表光標(biāo)位置(下子的位置)

//運(yùn)行游戲

int PlayGame();

//初始化

void Init();

//繪制棋盤

void PrintCheckboard();

//下子

int Put();

int main()

{

//設(shè)置控制臺(tái)窗口的標(biāo)題

SetConsoleTitle(L"五子棋大戰(zhàn)游戲");

//設(shè)置控制臺(tái)界面顏色

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

//播放音樂

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

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

//死循環(huán)

while (1)

{

//不斷的執(zhí)行游戲

PlayGame();

}

//應(yīng)該等待一下不能讓程序退出

//getchar();

//system("pause");

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

}

//運(yùn)行游戲

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、光標(biāo)居中

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()

{

//什么時(shí)候下子失敗

//下子的本質(zhì) :不是就是 改變二維數(shù)組,里面的值

//根據(jù)二維數(shù)組里面的值不同而打印不同的東西

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

{

g_ckeckboard[g_cursorX][g_cursorY] = g_currentGamer;

return 1;

}

else

return 0;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容