新聞中心
《linux C 實(shí)現(xiàn)的貪吃蛇游戲》

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了克山免費(fèi)建站歡迎大家使用!
隨著計算機(jī)的普及,計算機(jī)游戲也深受廣大玩家的喜愛,一般認(rèn)為貪吃蛇游戲是經(jīng)典游戲之一,由于它的實(shí)現(xiàn)比較簡單,采用 Linux C 來實(shí)現(xiàn)的貪吃蛇游戲也漸漸開始流行起來。
具體來看,Linux C 實(shí)現(xiàn)的貪吃蛇游戲主要完成以下幾個步驟:
第一步,編寫初始化函數(shù),此函數(shù)完成游戲窗口的初始化,以及初始化貪吃蛇、食物、空地圖等內(nèi)容,此函數(shù)代碼如下:
void Initialize()
{
initscr();
clear(); //清屏
noecho(); //不回顯
curs_set(0); //隱藏光標(biāo)
nodelay(stdscr,TRUE); //設(shè)置不等待
for(int i=0;i
{
for(int j=0;j
{
Map[i][j]=' ';
}
}
FruitX=rand()%Width; //食物的位置
FruitY=rand()%Height;
SnakeDir=RIGHT; //貪吃蛇的方向
SnakeLen=3; //貪吃蛇的長度
for(int k=0;k
{
snakeX[k]=Width/2 - k; //貪吃蛇的位置
snakeY[k]=Height/2;
}
}
第二步,編寫游戲主循環(huán)函數(shù),完成貪吃蛇自動移動,以及檢測是否吃到食物,成功通關(guān)等操作。此函數(shù)代碼如下:
void gameLoop()
{
while(1)
{
Node n; //獲取方向鍵信息
n=get_key();
if(n.dir != -1)
SnakeDir=change_dir(SnakeDir,n.dir); //改變蛇頭方向
for(int i=SnakeLen-1;i>0;i--) //身體跟隨蛇頭移動
{
SnakeX[i]=SnakeX[i-1];
SnakeY[i]=SnakeY[i-1];
}
SnakeX[0]+=moveX[SnakeDir];
SnakeY[0]+=moveY[SnakeDir];
if(SnakeX[0] == FruitX && SnakeY[0] == FruitY) //吃到食物,蛇身+1
{
SnakeLen++;
SnakeX[SnakeLen-1]=FruitX;
SnakeY[SnakeLen-1]=FruitY;
FruitX=rand()%Width; //更新食物位置
FruitY=rand()%Height;
}
if(collision()) //檢測碰撞
{
game_over();
break;
}
if(game_success()) //檢測游戲勝利
{
game_win();
break;
}
drawMap(); //繪制地圖
usleep(TIME*1000); //延時
}
endwin(); //釋放窗口資源
}
第三步,編寫碰撞檢測函數(shù),檢測蛇頭是否碰撞到邊界或者碰撞到自身,代碼如下:
bool collision()
{
if(SnakeX[0] == 0 || SnakeY[0] == 0
|| SnakeX[0] == Width-1 || SnakeY[0] == Height-1) //檢測是否碰到邊界
return true;
for(int i=1;i
{
if(SnakeX[0] == SnakeX[i] && SnakeY[0] == SnakeY[i])
return true;
}
return false;
}
總之,上面介紹的是Linux C 實(shí)現(xiàn)的貪吃蛇游戲,完成了游戲初始化、游戲主循環(huán)以及碰撞檢測等步驟,最終實(shí)現(xiàn)了一款經(jīng)典的貪吃蛇游戲,有興趣的同學(xué)可以來嘗試實(shí)現(xiàn)一下,也許能從中找到意想不到的樂趣。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
網(wǎng)頁標(biāo)題:LinuxC實(shí)現(xiàn)的貪吃蛇游戲(linuxc貪吃蛇)
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dheiesj.html


咨詢
建站咨詢
