使用非常簡單的easyx框架進行開發遊戲https://easyx.cn/
遊戲下載鏈接:https://download.csdn.net/download/xiaoxiao133/12526622
直接上主流程代碼:
int main()
{
int MyScore = 0;
srand((unsigned int)time(NULL)); //隨機數???
CreateThread(NULL, NULL, BackgroundMisic, NULL, NULL, NULL);//加載背景音樂
loadResource();
for (int i = 0; i < 3; i++)
{
initPillar(arrayPillar, i); //設置隨機位置
arrayPillar[i].x = 288 + i * 150; //設置 arrayPillar[i].x = 438 arrayPillar[i].x = 588 arrayPillar[i].x = 738
}
initgraph(288, 512);
while (1)
{
GameOver_Tow(arrayPillar,3);
//控制小鳥的移動
putimage(0, 0, &background); //加載背景圖
drawBird(); //加載鳥的位置
for (int i = 0; i < 3; i++)
{
arrayPillar[i].x -= 1; //讓這些柱子越來越近
}
//上下柱子
for (int i = 0; i < 3; i++)
{
drawPillar(arrayPillar[i]); //顯示這3個柱子的上柱子與下柱子
if (arrayPillar[i].x < (-52 - 150)) //如果使用了一個柱子,就挪到最後面重新
{
initPillar(arrayPillar,i);
}
}
//鳥墜落
flayBird.y += flayBird.speed; //鳥墜落
//撞牆檢測
if (CollisionWall() || isGameOver) //撞牆檢測
{
break;
}
//監視按鍵
if (_kbhit()) //有按鍵kbhit會返回一個非0值,即true
{
KeyDown(); //等待按鍵
}
// 打印分數
TCHAR scoreBuff[512] = _T(" Score:"), intChar[64] = { 0 };
_itow_s(MyScore, intChar, 10);
lstrcat(scoreBuff, intChar);
MyScore++;
outtextxy(0, 0, (scoreBuff));
outtextxy(0, 17, _T(" QQ270734392"));
Sleep(15); //界面更新間隔
}
GameOver();
//outtextxy(100,200,L"Game Over"); //向窗口的x_100,y_200處打印
//如果失敗 //更新視圖
_getch(); //等待任意按鍵
closegraph(); //關閉graph
system("pause"); //任意鍵繼續
return 0; //返回0
}
遊戲效果圖如下:
**
使用空格鍵飛行
**