這是小編自己寫的一個簡單地五子棋代碼落萎,還有點錯誤濒翻,歡迎大家來指正我的錯誤
這是我項目的源碼:
#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; //當前玩家 1:黑子;2:白子
int g_cursorX, g_cursorY; //代表光標位置(下子的位置)
//運行游戲
int PlayGame();
//初始化
void Init();
//繪制棋盤
void PrintCheckboard();
//下子
int Put();
int main()
{
//設置控制臺窗口的標題
SetConsoleTitle(L"五子棋大戰(zhàn)游戲");
//設置控制臺界面顏色
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();
}
//應該等待一下不能讓程序退出
//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()
{
//什么時候下子失敗
//下子的本質(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;
}