欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    貪吃蛇(也叫做貪食蛇)游戲是一款休閑益智類(lèi)游戲,有PC和手機(jī)等多平臺(tái)版本。既簡(jiǎn)單又耐玩。該游戲通過(guò)控制蛇頭方向吃蛋,從而使得蛇變得越來(lái)越長(zhǎng)。

    我們的今天的目標(biāo)就是:用C語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)貪吃蛇項(xiàng)目,也不用太復(fù)雜c語(yǔ)言小游戲程序c語(yǔ)言小游戲程序,初學(xué)者能看懂就行!

    貪吃蛇小程序,主要采用C語(yǔ)言描述,采用數(shù)組進(jìn)行數(shù)據(jù)存儲(chǔ)的圖形化操作界面,會(huì)涉及一點(diǎn)點(diǎn)C++ 知識(shí)(特別少的一點(diǎn)點(diǎn)),但是有C語(yǔ)言基礎(chǔ)就夠用了,編譯器:,會(huì)涉及部分庫(kù)函數(shù)的安裝及使用,不過(guò)也很簡(jiǎn)單啦!

    效果展示:

    看到了這個(gè)效果之后,那我們就動(dòng)手來(lái)實(shí)現(xiàn)吧!

    希望大家都能輕松實(shí)現(xiàn)這個(gè)項(xiàng)目!另外涉及到的# 需要額外安裝圖形庫(kù)插件easyX哦~

    代碼如下:

    #include #include #include #include #include #include "snake.h" int score = 0;int gamespeed = 100;                //蛇運(yùn)行速度 static void Init(void);             /*圖形驅(qū)動(dòng)*/static void Close(void);            /*圖形結(jié)束*/static void Game_interface(void);   /*游戲界面*/static void GameOver(void);         /*結(jié)束游戲*/static void GamePlay(void);         /*游戲過(guò)程*/static void PrScore(void);          /*輸出成績(jī)*/ /*主函數(shù)*/int main(void){     Init();                      Game_interface();                      GamePlay();                   Close();                      return 0;} /*圖形驅(qū)動(dòng)*/static void Init(void){    int gd=9,gm=2;     initgraph(&gd,&gm," ");    cleardevice();} /* 開(kāi)始畫(huà)面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻 */static void Game_interface(void){     int i;      setcolor(LIGHTCYAN);                           /*setbkcolor(LIGHTGREEN);*/     setlinestyle(PS_SOLID,0,1);                    /*設(shè)置線(xiàn)型*/     for(i=50;i<=600;i+=10)                          /*畫(huà)邊框*/     {         rectangle(i,40,i+10,49);                   /*上邊框*/         rectangle(i,451,i+10,460);                 /*下邊框*/     }     for(i=40;i<=450;i+=10)     {         rectangle(50,i,59,i+10);                   /*左邊框*/         rectangle(601,i,610,i+10);                 /*右邊框*/     }} /* 游戲主函數(shù) */static void GamePlay(void){     int i;           srand(time(NULL));                             /*隨機(jī)數(shù)發(fā)生器*/     food.yes = 1;                                  /*1表示需要出現(xiàn)新食物,0表示已經(jīng)存在食物*/     snake.life = 0;                                /*活著*/     snake.direction = 1;                           /*方向往右*/     snake.x[0] = 100;     snake.y[0] = 100;                                   snake.x[1] = 110;     snake.y[1] = 100;     snake.node = 2;                                /*節(jié)數(shù)*/      PrScore();                                     /*輸出得分*/     while(1)                                       /*可以重復(fù)玩游戲,壓ESC鍵結(jié)束*/     {         while( !kbhit() )                          /*在沒(méi)有按鍵的情況下,蛇自己移動(dòng)*/         {             if(food.yes == 1)                      /*需要出現(xiàn)新食物*/             {                 food.x = rand()%400 + 60;                 food.y = rand()%350 + 60;                 while(food.x%10 != 0)              /*食物隨機(jī)出現(xiàn)后必須讓食物能夠在整格內(nèi),這樣才可以讓蛇吃到*/                     food.x++;                 while(food.y%10 != 0)                     food.y++;                 food.yes = 0;                      /*畫(huà)面上有食物了*/             }             if(food.yes == 0)                      /*畫(huà)面上有食物了就要顯示*/             {                 setcolor(GREEN);                 rectangle(food.x,food.y,food.x + 10,food.y - 10);             }               for(i=snake.node-1;i>0;i--)          /*蛇的每個(gè)環(huán)節(jié)往前移動(dòng),也就是貪吃蛇的關(guān)鍵算法*/             {                 snake.x[i] = snake.x[i-1];                 snake.y[i] = snake.y[i-1];             }             /*1,2,3,4表示右,左,上,下四個(gè)方向,通過(guò)這個(gè)判斷來(lái)移動(dòng)蛇頭*/             switch(snake.direction)             {                 case 1:                      snake.x[0] += 10;                     break;                 case 2:                      snake.x[0] -= 10;                     break;                 case 3:                      snake.y[0] -= 10;                     break;                 case 4:                      snake.y[0] += 10;                     break;             }             /* 從蛇的第四節(jié)開(kāi)始判斷是否撞到自己 */             for(i=3;i             {                 if((snake.x[i] == snake.x[0]) && (snake.y[i] == snake.y[0]))                 {                     GameOver();                  /*顯示失敗*/                     snake.life = 1;                     break;                 }             }             if((snake.x[0] < 55) || (snake.x[0] > 595) || (snake.y[0] < 55) || (snake.y[0] > 455))     /*蛇是否撞到墻壁*/             {                   GameOver();                                            /*本次游戲結(jié)束*/                 snake.life = 1;                                        /*蛇死*/             }             if(snake.life == 1)                                        /*以上兩種判斷以后,如果蛇死就跳出內(nèi)循環(huán),重新開(kāi)始*/                 break;             if((snake.x[0] == food.x) && (snake.y[0] == food.y))       /*吃到食物以后*/             {                 setcolor(BLACK);                                       /*把畫(huà)面上的食物東西去掉*/                 rectangle(food.x,food.y,food.x+10,food.y-10);                 snake.x[snake.node] = -20;                 snake.y[snake.node] = -20;                  /* 新的一節(jié)先放在看不見(jiàn)的位置,下次循環(huán)就取前一節(jié)的位置 */                  snake.node++;                      /*蛇的身體長(zhǎng)一節(jié)*/                 food.yes = 1;                      /*畫(huà)面上需要出現(xiàn)新的食物*/                 score += 10;                 PrScore();                         /*輸出新得分*/             }             setcolor(RED);                         /*畫(huà)出蛇*/               for(i=0;i                 rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);             Sleep(gamespeed);             setcolor(BLACK);                        /*用黑色去除蛇的的最后一節(jié)*/             rectangle(snake.x[snake.node-1],snake.y[snake.node-1],                       snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);         }        /*endwhile(!kbhit)*/                   if(snake.life == 1)                        /*如果蛇死就跳出循環(huán)*/             break;                   key=getch();                          /*接收按鍵*/         if (key == ESC) break;                  /*按ESC鍵退出*/                   switch(key)         {                                              case UP:                 if(snake.direction != 4)           /*判斷是否往相反的方向移動(dòng)*/                     snake.direction = 3;                 break;             case RIGHT:                 if(snake.direction != 2)                     snake.direction = 1;                 break;             case LEFT:                 if(snake.direction != 1)                     snake.direction = 2;                 break;             case DOWN:                 if(snake.direction != 3)                     snake.direction = 4;                 break;         }      }/*endwhile(1)*/} /*游戲結(jié)束*/static void GameOver(void){     cleardevice();     PrScore();     setcolor(RED);     setfont(56,0,"黑體");     outtextxy(200,200,"GAME OVER");     getch();} /*輸出成績(jī)*/static void PrScore(void){     char str[10];      setfillstyle(YELLOW);     bar(50,15,220,35);     setcolor(BROWN);     setfont(16,0,"宋體");     sprintf(str,"score:%d",score);     outtextxy(55,16,str);} static void Close(void){     closegraph();}
    #ifndef SNAKE_H#define SNAKE_H #define LEFT 'a'#define RIGHT 'd'#define DOWN 's'#define UP 'w'#define ESC 27 #define N 200 /*蛇的最大長(zhǎng)度*/ char key; /*控制按鍵*/ struct Food{ int x; /*食物的橫坐標(biāo)*/ int y; /*食物的縱坐標(biāo)*/ int yes; /*判斷是否要出現(xiàn)食物的變量*/}food; /*食物的結(jié)構(gòu)體*/ struct Snake{ int x[N]; int y[N]; int node; /*蛇的節(jié)數(shù)*/ int direction; /*蛇移動(dòng)方向*/ int life; /* 蛇的生命,0活著,1死亡*/}snake; #endif

    此外,我也給大家分享我收集的其他資源,從最零基礎(chǔ)開(kāi)始的教程到C語(yǔ)言C++項(xiàng)目案例,幫助大家在學(xué)習(xí)C語(yǔ)言的道路上披荊斬棘!

    整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)最重要的是你可以在群里面交流提問(wèn)編程問(wèn)題哦!

    歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶(hù)案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話(huà):010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有