www.tjgcgs88.cn-狠狠久久亚洲欧美专区不卡,久久精品国产99久久无毒不卡,噼里啪啦国语版在线观看,zσzσzσ女人极品另类

  • <strike id="qgi8o"><td id="qgi8o"></td></strike>
  • <ul id="qgi8o"><acronym id="qgi8o"></acronym></ul>
  • <li id="qgi8o"></li>
    <ul id="qgi8o"></ul>
    <strike id="qgi8o"><rt id="qgi8o"></rt></strike>
    <ul id="qgi8o"><center id="qgi8o"></center></ul>
  • <kbd id="qgi8o"></kbd>

    C語(yǔ)言課程設(shè)計(jì),貪吃蛇應(yīng)該怎么做? C語(yǔ)言課程設(shè)計(jì) 貪吃蛇

    2.1程序功能介紹

    貪吃蛇游戲是一個(gè)經(jīng)典小游戲,一條蛇在封閉圍墻里,圍墻里隨機(jī)出現(xiàn)一個(gè)食物,通過按鍵盤四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞倒食物,則食物被吃掉,蛇身體長(zhǎng)一節(jié),同時(shí)記10分,接著又出現(xiàn)食物,等待蛇來(lái)吃,如果蛇在移動(dòng)中撞到墻或身體交叉蛇頭撞倒自己身體游戲結(jié)束。

    2.2程序整體設(shè)計(jì)說(shuō)明

    一個(gè)游戲要有開始部分,運(yùn)行部分,結(jié)束部分(實(shí)際上開始部分與運(yùn)行部分是一體的)。

    2.2.1設(shè)計(jì)思路

    這個(gè)程序的關(guān)鍵是表示蛇的圖形以及蛇的移動(dòng)。用一個(gè)小矩形表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用兩節(jié)表示。移動(dòng)時(shí)必須從蛇頭開始,所以蛇不能向相反方向移動(dòng),也就是蛇尾不能改作蛇頭。如果不按任何鍵,蛇自行在當(dāng)前方向上前移,當(dāng)游戲者按了有效的方向鍵后,蛇頭朝著指定的方向移動(dòng),一步移動(dòng)一節(jié)身體,所以當(dāng)按了有效的方向鍵后,先確定蛇頭的位置,然后蛇身體隨著蛇頭移動(dòng),圖形的實(shí)現(xiàn)是從蛇頭的新位置開始畫出蛇,這時(shí)由于沒有慶平的原因,原來(lái)蛇的位置和新蛇的位置差一個(gè)單位,所以看起來(lái)社會(huì)多一節(jié)身體,所以將蛇的最后一節(jié)用背景色覆蓋。食物的出現(xiàn)和消失也是畫矩形塊和覆蓋矩形塊

    2.2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明 

    開始部分:

    游戲是運(yùn)行在圖形模式下的,所以第一步一定是初始化圖形模式,接著要有開始的界面,就像書有封面一樣,我設(shè)置了一個(gè)游戲的標(biāo)題畫面,除了游戲標(biāo)題畫面我還設(shè)置了一個(gè)歡迎畫面。標(biāo)題畫面以后,還要為游戲的運(yùn)行部分作初始化,包括繪制游戲運(yùn)行時(shí)的背景,對(duì)游戲某些重 要變量的初始化。

    運(yùn)行部分:

    作為游戲的核心部分,這里包括的函數(shù)比較多,也就是模塊比較多,首先讓我模擬一下貪吃蛇的游戲模式:某個(gè)世界上突然出現(xiàn)一條蛇,它很短,它的運(yùn)動(dòng)神經(jīng)異常,它沒法停止自己的多動(dòng)癥在它的世界里就只有食物,它很餓,也很貪吃;同樣在不明原因的情況下,食物從天而降,可惜的是沒有落到嘴邊;饑餓的主人公,不管它有沒有毒,也不問食物的來(lái)歷,徑直向食物爬去;它吃到食物啦,它超出想象的同化能力讓食物很快的成為自己身體的一部分,它的身子變長(zhǎng)啦。當(dāng)它吃到第一顆食物時(shí),上帝有給它第二顆,于是它吃了第二顆,于是又變長(zhǎng)了,于是又有第三顆……它的身子是一直的加長(zhǎng),它不管自己過長(zhǎng)身體的麻煩——轉(zhuǎn)身不便,繼續(xù)吃下去,現(xiàn)在它是直接把巴張大,好讓食物有個(gè)綠色通道。但是在某天的下午,它咬到了自己,它才想起自己是一條毒蛇,于是暈死過去(不是毒死);又或者它往食物沖鋒的時(shí)候,它失去控制,撞到了墻上。

    第一輪循環(huán):第一步,出現(xiàn)食物;第二步,蛇不停運(yùn)動(dòng);第三步,檢查蛇是撞到自己或墻壁;由第四步起游戲有兩條支線(A、B):

    A :第四步,蛇沒有碰到自己或墻壁,蛇繼續(xù)前進(jìn),繪制蛇的動(dòng)作;第五步,判斷蛇是否吃到食物,如果蛇吃到食物,身子變長(zhǎng),原來(lái)的食物消失;第六步,讓玩家輸入控制指令,讓蛇在下一輪循環(huán)的第二步改變運(yùn)動(dòng)方向;第七步,第二輪循環(huán)的第一步,重復(fù)第一輪的步驟;

    B:第四步,蛇碰到自己或墻壁,終止游戲。

    結(jié)束部分:

    游戲結(jié)束時(shí),顯示“GAME OVER”,已經(jīng)是約定俗成的規(guī)律了,我的游戲也不例外。除了游戲結(jié)束畫面外,我還設(shè)置了一個(gè)游戲退出畫面,“善始善終”嘛。

    有了上述的大致劃分,我把整個(gè)程序劃分成(13+2)個(gè)模塊(其實(shí)就是函數(shù))

    2.2.3程序結(jié)構(gòu)(流程圖)

    圖2.1流程圖

    依據(jù)所需要處理的任務(wù)要求,規(guī)劃輸入數(shù)據(jù)和輸出結(jié)果,決定存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。

    C語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)集中體現(xiàn)在數(shù)據(jù)類型上,因此在進(jìn)行C語(yǔ)言程序設(shè)計(jì)時(shí),應(yīng)統(tǒng)籌規(guī)劃程序中所使用的變量,數(shù)組,指針等,以及它們的類型等。這點(diǎn)是很重要的,如果在此期間選擇不合適的變量或者數(shù)組,將來(lái)修改就十分困難。

    現(xiàn)在分析一下貪吃蛇游戲中的元素,繼而得出與它們對(duì)應(yīng)的在程序中的描述:

    蛇:

    基本描述:長(zhǎng)度,顏色,位置。

    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:長(zhǎng)度—雖然可以用坐標(biāo)表示,但是這樣的話,運(yùn)算量將很大,所以換算成較大的單位—節(jié)數(shù),以固定長(zhǎng)度的每節(jié)描述;坐標(biāo)--整型;顏色--整型; 位置--X,Y坐標(biāo)。

    增加的描述:蛇運(yùn)動(dòng)的方向,蛇的生命。

    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:這些描述是為了與程序的按鍵的輸入部分與判斷游戲結(jié)束部分相聯(lián)系而設(shè)的。方向只有四個(gè)方向:上下左右。可以設(shè)置與之對(duì)應(yīng)的四個(gè)整型數(shù):3、4、2、1。生命就只有兩種情況:死或生,對(duì)應(yīng)0或1。

    食物:   

    基本描述:顏色,位置。

    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:由于顏色設(shè)成固定的,所以不再討論。位置—X、Y坐標(biāo)。

    增加的描述:食物的存在。

    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:這是為了避免重復(fù)出現(xiàn)食物而設(shè)置的,與繪制食物的函數(shù)有聯(lián)系。只有兩個(gè)值:0或1(沒有食物或有食物)

    其他的元素:墻,由于它在顯示上是作為背景而存在的,所以并沒有什么說(shuō)明實(shí)際的墻壁就是四條直線組成的邊框,由坐標(biāo)描述。

    還需要的變量:鍵盤鍵入的鍵值(作為全局變量,整型);經(jīng)常要使用的循環(huán)變量;自定義的填充圖案;說(shuō)明文字的字符數(shù)組;游戲的記分;游戲的速度(蛇的速度)。

    圖2.2蛇的不停運(yùn)動(dòng)的關(guān)鍵算法的流程圖

    2.2.4各模塊的功能及程序說(shuō)明

    主要模塊的實(shí)現(xiàn)思路和算法的流程圖說(shuō)明:

    關(guān)鍵所在——蛇不停移動(dòng)的Snakemove():

    蛇的不停移動(dòng),就是蛇的下一節(jié)取代前一節(jié)的位置,在計(jì)算機(jī)中就是蛇下一節(jié)的位置坐標(biāo)變成前一節(jié)的位置坐標(biāo)。在上文中,已定義蛇的位置坐標(biāo)為數(shù)組類型,一組坐標(biāo)對(duì)應(yīng)一節(jié)的位置,假設(shè)有i+1節(jié),由0到i節(jié),第i節(jié)的坐標(biāo)取第i-1節(jié)的坐標(biāo),第i-1節(jié)的坐標(biāo)取第i-2節(jié)的坐標(biāo)……直到第1節(jié)取第0節(jié)的坐標(biāo)。而第0節(jié)的坐標(biāo),即蛇頭的坐標(biāo)要往某個(gè)方向變化,變化量為蛇每節(jié)的長(zhǎng)度。蛇的這種坐標(biāo)輪換需要循環(huán)語(yǔ)句使其繼續(xù)下去。  

    2.2.5程序結(jié)果

    運(yùn)行程序得到如下初始界面圖:

    圖2.3程序結(jié)果圖

    用一個(gè)小矩形表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用兩節(jié)表示:

    圖2.4程序結(jié)果圖

    蛇沒有碰到自己或墻壁,蛇繼續(xù)前進(jìn):

    圖2.5程序結(jié)果圖

    游戲結(jié)束時(shí),顯示“GAME OVER”

    圖2.6程序結(jié)果圖

    2.3程序源代碼及注釋

    #define N 200

    #include <graphics.h>

    #include <stdlib.h>

    #include <dos.h>

    #define LEFT 0x4b00

    #define RIGHT 0x4d00

    #define DOWN 0x5000

    #define UP 0x4800

    #define ESC 0x011b

    int i,key;

    int score=0;/*得分*/

    int gamespeed=50000;/*游戲速度自己調(diào)整*/

    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;

    void Init(void);/*圖形驅(qū)動(dòng)*/

    void Close(void);/*圖形結(jié)束*/

    void DrawK(void);/*開始畫面*/

    void GameOver(void);/*結(jié)束游戲*/

    void GamePlay(void);/*玩游戲具體過程*/

    void PrScore(void);/*輸出成績(jī)*/

    /*主函數(shù)*/

    void main(void){

    Init();/*圖形驅(qū)動(dòng)*/

    DrawK();/*開始畫面*/

    GamePlay();/*玩游戲具體過程*/

    Close();/*圖形結(jié)束*/}

    /*圖形驅(qū)動(dòng)*/

    void Init(void){

    int gd=DETECT,gm;

    registerbgidriver(EGAVGA_driver);

    initgraph(&gd,&gm,"c:\\program files\\winyes\c20h\\bgi");

    cleardevice();}

    /*開始畫面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻*/

    void DrawK(void){

    /*setbkcolor(LIGHTGREEN);*/

    setcolor(11);

    setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設(shè)置線型*/

    for(i=50;i<=600;i+=10)/*畫圍墻*/   {

    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);/*右邊*/ }}

    /*玩游戲具體過程*/

    void GamePlay(void){

    randomize();/*隨機(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())/*在沒有按鍵的情況下,蛇自己移動(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;/*畫面上有食物了*/     }

    if(food.yes==0)/*畫面上有食物了就要顯示*/     {

    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è)方向,通過這個(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;     }

    for(i=3;i<snake.node;i++)/*從蛇的第四節(jié)開始判斷是否撞到自己了,因?yàn)樯哳^為兩節(jié),第三節(jié)不可能拐過來(lá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),重新開始*/

    break;

    if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/    {

    setcolor(0);/*把畫面上的食物東西去掉*/

    rectangle(food.x,food.y,food.x+10,food.y-10);

    snake.x[snake.node]=-20;snake.y[snake.node]=-20;

    /*新的一節(jié)先放在看不見的位置,下次循環(huán)就取前一節(jié)的位置*/

    snake.node++;/*蛇的身體長(zhǎng)一節(jié)*/

    food.yes=1;/*畫面上需要出現(xiàn)新的食物*/

    score+=10;

    PrScore();/*輸出新得分*/    }

    setcolor(4);/*畫出蛇*/

    for(i=0;i<snake.node;i++)

    rectangle(snake.x[i],snake.y[i],snake.x[i]+10,

    snake.y[i]-10);

    delay(gamespeed);

    setcolor(0);/*用黑色去除蛇的的最后一節(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=bioskey(0);/*接收按鍵*/

    if(key==ESC)/*按ESC鍵退出*/

    break;

    else

    if(key==UP&&snake.direction!=4)

    /*判斷是否往相反的方向移動(dòng)*/

    snake.direction=3;

    else

    if(key==RIGHT&&snake.direction!=2)

    snake.direction=1;

    else

    if(key==LEFT&&snake.direction!=1)

    snake.direction=2;

    else

    if(key==DOWN&&snake.direction!=3)

    snake.direction=4;

    }/*endwhile(1)*/}

    /*游戲結(jié)束*/

    void GameOver(void){

    cleardevice(); 

    PrScore();

    setcolor(RED);

    settextstyle(0,0,4);

    outtextxy(200,200,"GAME OVER");

    getch();}

    /*輸出成績(jī)*/

    void PrScore(void){   

    char str[10];

    setfillstyle(SOLID_FILL,YELLOW);

    bar(50,15,220,35);

    setcolor(6);

    settextstyle(0,0,2);

    sprintf(str,"score:%d",score);

    outtextxy(55,20,str);}

    /*圖形結(jié)束*/

    void Close(void){   

    getch();

    closegraph();

    }



    2.1程序功能介紹
    貪吃蛇游戲是一個(gè)經(jīng)典小游戲,一條蛇在封閉圍墻里,圍墻里隨機(jī)出現(xiàn)一個(gè)食物,通過按鍵盤四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞倒食物,則食物被吃掉,蛇身體長(zhǎng)一節(jié),同時(shí)記10分,接著又出現(xiàn)食物,等待蛇來(lái)吃,如果蛇在移動(dòng)中撞到墻或身體交叉蛇頭撞倒自己身體游戲結(jié)束。
    2.2程序整體設(shè)計(jì)說(shuō)明
    一個(gè)游戲要有開始部分,運(yùn)行部分,結(jié)束部分(實(shí)際上開始部分與運(yùn)行部分是一體的)。
    2.2.1設(shè)計(jì)思路
    這個(gè)程序的關(guān)鍵是表示蛇的圖形以及蛇的移動(dòng)。用一個(gè)小矩形表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用兩節(jié)表示。移動(dòng)時(shí)必須從蛇頭開始,所以蛇不能向相反方向移動(dòng),也就是蛇尾不能改作蛇頭。如果不按任何鍵,蛇自行在當(dāng)前方向上前移,當(dāng)游戲者按了有效的方向鍵后,蛇頭朝著指定的方向移動(dòng),一步移動(dòng)一節(jié)身體,所以當(dāng)按了有效的方向鍵后,先確定蛇頭的位置,然后蛇身體隨著蛇頭移動(dòng),圖形的實(shí)現(xiàn)是從蛇頭的新位置開始畫出蛇,這時(shí)由于沒有慶平的原因,原來(lái)蛇的位置和新蛇的位置差一個(gè)單位,所以看起來(lái)社會(huì)多一節(jié)身體,所以將蛇的最后一節(jié)用背景色覆蓋。食物的出現(xiàn)和消失也是畫矩形塊和覆蓋矩形塊
    2.2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明
    開始部分:
    游戲是運(yùn)行在圖形模式下的,所以第一步一定是初始化圖形模式,接著要有開始的界面,就像書有封面一樣,我設(shè)置了一個(gè)游戲的標(biāo)題畫面,除了游戲標(biāo)題畫面我還設(shè)置了一個(gè)歡迎畫面。標(biāo)題畫面以后,還要為游戲的運(yùn)行部分作初始化,包括繪制游戲運(yùn)行時(shí)的背景,對(duì)游戲某些重 要變量的初始化。
    運(yùn)行部分:
    作為游戲的核心部分,這里包括的函數(shù)比較多,也就是模塊比較多,首先讓我模擬一下貪吃蛇的游戲模式:某個(gè)世界上突然出現(xiàn)一條蛇,它很短,它的運(yùn)動(dòng)神經(jīng)異常,它沒法停止自己的多動(dòng)癥在它的世界里就只有食物,它很餓,也很貪吃;同樣在不明原因的情況下,食物從天而降,可惜的是沒有落到嘴邊;饑餓的主人公,不管它有沒有毒,也不問食物的來(lái)歷,徑直向食物爬去;它吃到食物啦,它超出想象的同化能力讓食物很快的成為自己身體的一部分,它的身子變長(zhǎng)啦。當(dāng)它吃到第一顆食物時(shí),上帝有給它第二顆,于是它吃了第二顆,于是又變長(zhǎng)了,于是又有第三顆……它的身子是一直的加長(zhǎng),它不管自己過長(zhǎng)身體的麻煩——轉(zhuǎn)身不便,繼續(xù)吃下去,現(xiàn)在它是直接把巴張大,好讓食物有個(gè)綠色通道。但是在某天的下午,它咬到了自己,它才想起自己是一條毒蛇,于是暈死過去(不是毒死);又或者它往食物沖鋒的時(shí)候,它失去控制,撞到了墻上。
    第一輪循環(huán):第一步,出現(xiàn)食物;第二步,蛇不停運(yùn)動(dòng);第三步,檢查蛇是撞到自己或墻壁;由第四步起游戲有兩條支線(A、B):
    A :第四步,蛇沒有碰到自己或墻壁,蛇繼續(xù)前進(jìn),繪制蛇的動(dòng)作;第五步,判斷蛇是否吃到食物,如果蛇吃到食物,身子變長(zhǎng),原來(lái)的食物消失;第六步,讓玩家輸入控制指令,讓蛇在下一輪循環(huán)的第二步改變運(yùn)動(dòng)方向;第七步,第二輪循環(huán)的第一步,重復(fù)第一輪的步驟;
    B:第四步,蛇碰到自己或墻壁,終止游戲。
    結(jié)束部分:
    游戲結(jié)束時(shí),顯示“GAME OVER”,已經(jīng)是約定俗成的規(guī)律了,我的游戲也不例外。除了游戲結(jié)束畫面外,我還設(shè)置了一個(gè)游戲退出畫面,“善始善終”嘛。
    有了上述的大致劃分,我把整個(gè)程序劃分成(13+2)個(gè)模塊(其實(shí)就是函數(shù))
    2.2.3程序結(jié)構(gòu)(流程圖)

    圖2.1流程圖

    依據(jù)所需要處理的任務(wù)要求,規(guī)劃輸入數(shù)據(jù)和輸出結(jié)果,決定存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
    C語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)集中體現(xiàn)在數(shù)據(jù)類型上,因此在進(jìn)行C語(yǔ)言程序設(shè)計(jì)時(shí),應(yīng)統(tǒng)籌規(guī)劃程序中所使用的變量,數(shù)組,指針等,以及它們的類型等。這點(diǎn)是很重要的,如果在此期間選擇不合適的變量或者數(shù)組,將來(lái)修改就十分困難。
    現(xiàn)在分析一下貪吃蛇游戲中的元素,繼而得出與它們對(duì)應(yīng)的在程序中的描述:
    蛇:
    基本描述:長(zhǎng)度,顏色,位置。
    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:長(zhǎng)度—雖然可以用坐標(biāo)表示,但是這樣的話,運(yùn)算量將很大,所以換算成較大的單位—節(jié)數(shù),以固定長(zhǎng)度的每節(jié)描述;坐標(biāo)--整型;顏色--整型; 位置--X,Y坐標(biāo)。
    增加的描述:蛇運(yùn)動(dòng)的方向,蛇的生命。
    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:這些描述是為了與程序的按鍵的輸入部分與判斷游戲結(jié)束部分相聯(lián)系而設(shè)的。方向只有四個(gè)方向:上下左右。可以設(shè)置與之對(duì)應(yīng)的四個(gè)整型數(shù):3、4、2、1。生命就只有兩種情況:死或生,對(duì)應(yīng)0或1。
    食物:
    基本描述:顏色,位置。
    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:由于顏色設(shè)成固定的,所以不再討論。位置—X、Y坐標(biāo)。
    增加的描述:食物的存在。
    對(duì)應(yīng)數(shù)據(jù)與數(shù)據(jù)類型:這是為了避免重復(fù)出現(xiàn)食物而設(shè)置的,與繪制食物的函數(shù)有聯(lián)系。只有兩個(gè)值:0或1(沒有食物或有食物)
    其他的元素:墻,由于它在顯示上是作為背景而存在的,所以并沒有什么說(shuō)明實(shí)際的墻壁就是四條直線組成的邊框,由坐標(biāo)描述。
    還需要的變量:鍵盤鍵入的鍵值(作為全局變量,整型);經(jīng)常要使用的循環(huán)變量;自定義的填充圖案;說(shuō)明文字的字符數(shù)組;游戲的記分;游戲的速度(蛇的速度)。

    圖2.2蛇的不停運(yùn)動(dòng)的關(guān)鍵算法的流程圖

    2.2.4各模塊的功能及程序說(shuō)明
    主要模塊的實(shí)現(xiàn)思路和算法的流程圖說(shuō)明:
    關(guān)鍵所在——蛇不停移動(dòng)的Snakemove():
    蛇的不停移動(dòng),就是蛇的下一節(jié)取代前一節(jié)的位置,在計(jì)算機(jī)中就是蛇下一節(jié)的位置坐標(biāo)變成前一節(jié)的位置坐標(biāo)。在上文中,已定義蛇的位置坐標(biāo)為數(shù)組類型,一組坐標(biāo)對(duì)應(yīng)一節(jié)的位置,假設(shè)有i+1節(jié),由0到i節(jié),第i節(jié)的坐標(biāo)取第i-1節(jié)的坐標(biāo),第i-1節(jié)的坐標(biāo)取第i-2節(jié)的坐標(biāo)……直到第1節(jié)取第0節(jié)的坐標(biāo)。而第0節(jié)的坐標(biāo),即蛇頭的坐標(biāo)要往某個(gè)方向變化,變化量為蛇每節(jié)的長(zhǎng)度。蛇的這種坐標(biāo)輪換需要循環(huán)語(yǔ)句使其繼續(xù)下去。
    2.2.5程序結(jié)果
    運(yùn)行程序得到如下初始界面圖:

    圖2.3程序結(jié)果圖

    用一個(gè)小矩形表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用兩節(jié)表示:

    圖2.4程序結(jié)果圖

    蛇沒有碰到自己或墻壁,蛇繼續(xù)前進(jìn):

    圖2.5程序結(jié)果圖
    游戲結(jié)束時(shí),顯示“GAME OVER”

    圖2.6程序結(jié)果圖

    2.3程序源代碼及注釋
    #define N 200
    #include <graphics.h>
    #include <stdlib.h>
    #include <dos.h>
    #define LEFT 0x4b00
    #define RIGHT 0x4d00
    #define DOWN 0x5000
    #define UP 0x4800
    #define ESC 0x011b
    int i,key;
    int score=0;/*得分*/
    int gamespeed=50000;/*游戲速度自己調(diào)整*/
    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;
    void Init(void);/*圖形驅(qū)動(dòng)*/
    void Close(void);/*圖形結(jié)束*/
    void DrawK(void);/*開始畫面*/
    void GameOver(void);/*結(jié)束游戲*/
    void GamePlay(void);/*玩游戲具體過程*/
    void PrScore(void);/*輸出成績(jī)*/
    /*主函數(shù)*/
    void main(void)
    {
    Init();/*圖形驅(qū)動(dòng)*/
    DrawK();/*開始畫面*/
    GamePlay();/*玩游戲具體過程*/
    Close();/*圖形結(jié)束*/
    }
    /*圖形驅(qū)動(dòng)*/
    void Init(void)
    {
    int gd=DETECT,gm;
    registerbgidriver(EGAVGA_driver);
    initgraph(&gd,&gm,"c:\\program files\\winyes\\tc20h\\bgi");
    cleardevice();
    }
    /*開始畫面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻*/
    void DrawK(void)
    {
    /*setbkcolor(LIGHTGREEN);*/
    setcolor(11);
    setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設(shè)置線型*/
    for(i=50;i<=600;i+=10)/*畫圍墻*/
    {
    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);/*右邊*/
    }
    }
    /*玩游戲具體過程*/
    void GamePlay(void)
    {
    randomize();/*隨機(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())/*在沒有按鍵的情況下,蛇自己移動(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;/*畫面上有食物了*/
    }
    if(food.yes==0)/*畫面上有食物了就要顯示*/
    {
    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è)方向,通過這個(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;
    }
    for(i=3;i<snake.node;i++)/*從蛇的第四節(jié)開始判斷是否撞到自己了,因?yàn)樯哳^為兩節(jié),第三節(jié)不可能拐過來(lá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),重新開始*/
    break;
    if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/
    {
    setcolor(0);/*把畫面上的食物東西去掉*/
    rectangle(food.x,food.y,food.x+10,food.y-10);
    snake.x[snake.node]=-20;snake.y[snake.node]=-20;
    /*新的一節(jié)先放在看不見的位置,下次循環(huán)就取前一節(jié)的位置*/
    snake.node++;/*蛇的身體長(zhǎng)一節(jié)*/
    food.yes=1;/*畫面上需要出現(xiàn)新的食物*/
    score+=10;
    PrScore();/*輸出新得分*/
    }
    setcolor(4);/*畫出蛇*/
    for(i=0;i<snake.node;i++)
    rectangle(snake.x[i],snake.y[i],snake.x[i]+10,
    snake.y[i]-10);
    delay(gamespeed);
    setcolor(0);/*用黑色去除蛇的的最后一節(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=bioskey(0);/*接收按鍵*/
    if(key==ESC)/*按ESC鍵退出*/
    break;
    else
    if(key==UP&&snake.direction!=4)
    /*判斷是否往相反的方向移動(dòng)*/
    snake.direction=3;
    else
    if(key==RIGHT&&snake.direction!=2)
    snake.direction=1;
    else
    if(key==LEFT&&snake.direction!=1)
    snake.direction=2;
    else
    if(key==DOWN&&snake.direction!=3)
    snake.direction=4;
    }/*endwhile(1)*/
    }
    /*游戲結(jié)束*/
    void GameOver(void)
    {
    cleardevice();
    PrScore();
    setcolor(RED);
    settextstyle(0,0,4);
    outtextxy(200,200,"GAME OVER");
    getch();
    }
    /*輸出成績(jī)*/
    void PrScore(void)
    {
    char str[10];
    setfillstyle(SOLID_FILL,YELLOW);
    bar(50,15,220,35);
    setcolor(6);
    settextstyle(0,0,2);
    sprintf(str,"score:%d",score);
    outtextxy(55,20,str);
    }
    /*圖形結(jié)束*/
    void Close(void)
    {
    getch();
    closegraph();
    }

    第3章 課程設(shè)計(jì)總結(jié)
    課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) ,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們的實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握程序開發(fā)技術(shù)是十分重要的,而C語(yǔ)言又是最常見,功能最強(qiáng)大的一種高級(jí)語(yǔ)言,因此做好C語(yǔ)言課程設(shè)計(jì)是十分必要的。 回顧起此次課程設(shè)計(jì),至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)月的日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)一些前面學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)結(jié)構(gòu)體,指針,鏈表……通過這次課程設(shè)計(jì)之
    后,我們把前面所學(xué)過的知識(shí)又重新溫故了一遍。
    我做的是做貪吃蛇游戲。簡(jiǎn)單的一個(gè),但對(duì)我一個(gè)初學(xué)者來(lái)說(shuō)卻是一個(gè)很大的困難。更加是第一次做課程設(shè)計(jì),所以第一天下午在機(jī)房做了一個(gè)下午卻絲毫沒有進(jìn)展,最主要是不知從何開始,這個(gè)時(shí)候才知道上課老師們不厭其煩的教導(dǎo)是多么的寶貴,這個(gè)時(shí)候才后悔上課的時(shí)候沒有認(rèn)真的聽講。可是現(xiàn)在一切都晚了,還好時(shí)間還算是充裕,只好拿出書本重新復(fù)習(xí)一下。特別是結(jié)構(gòu)體,指針的部分,幾乎是一片空白。不過經(jīng)過幾天的努力,大體上把課本上的知識(shí)點(diǎn)看了一遍,知識(shí)點(diǎn)也都基本是撐握了,所以一下一步就是開始正式的編程序了。不過畢竟是個(gè)新手,還是不知如何下手,于是就在網(wǎng)上下了一篇類似的程序,經(jīng)過仔細(xì)的研究,終于讀懂了C語(yǔ)言編程的基本過程和方法。 經(jīng)過
    一波三折,終于開始正式編程。
    編程是一件很枯燥很無(wú)聊的事情,但是出于完成作業(yè),得到學(xué)分的壓力,還必須強(qiáng)破自己堅(jiān)持下去,按照老師所說(shuō)的模塊化思想,分部分的進(jìn)行編寫。而且編程是一件高精度、模范化的事情,稍有疏乎都會(huì)影響全局,也可能因?yàn)槟骋惶幍男〉腻e(cuò)誤而導(dǎo)致整個(gè)程序的無(wú)法運(yùn)行。所以認(rèn)真仔細(xì)就是非常重要的了。開始的時(shí)候真的感覺編程是一件很無(wú)聊的事情,不過當(dāng)一個(gè)程序運(yùn)行成功的時(shí)候那種喜悅是無(wú)法言語(yǔ)的,那種成就感是無(wú)法比擬的。又經(jīng)過幾天的努力,終于把程序完成了,盡管程序還是有很多錯(cuò)誤和漏洞,不過還是很高興的。無(wú)論如何是自己的勞動(dòng)成果,是自己經(jīng)過努力得到的成績(jī),同時(shí)也
    是學(xué)習(xí)C語(yǔ)言的一次實(shí)踐作業(yè),自己進(jìn)步的證明。
    通過這次課程設(shè)計(jì),使我對(duì)C語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有對(duì)C語(yǔ)言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)C語(yǔ)言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐的學(xué)習(xí),我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過 程
    中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。
    在課程設(shè)計(jì)過程中,收獲知識(shí),提高能力的同時(shí),我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。

    c語(yǔ)言貪吃蛇最簡(jiǎn)單代碼
    include stdio.h include windows.h include time.h include conio.h define frame_height 20 \/\/define map size define frame_width 40 define UP 'w' \/\/define operate key define DOWN 's'define LEFT 'a'define RIGHT 'd'int i,j,k;char ch=UP; \/\/initial direction int grow=0; \/\/...

    用C語(yǔ)言怎么做貪吃蛇游戲?
    詳情請(qǐng)查看視頻回答

    C語(yǔ)言貪吃蛇游戲代碼
    實(shí)現(xiàn)貪吃蛇游戲,用戶通過鍵盤操控蛇體,遵循規(guī)則移動(dòng)。游戲畫面直觀,蛇體碰觸自身或窗口邊緣判定失敗,吃到食物則增長(zhǎng)。游戲框架設(shè)計(jì)利用全局變量與函數(shù),地圖構(gòu)建與蛇體動(dòng)作實(shí)現(xiàn)依靠二維數(shù)組。時(shí)間控制通過靜態(tài)變量?jī)?yōu)化。游戲結(jié)束與食物獲取,實(shí)現(xiàn)蛇體增長(zhǎng)功能。代碼涉及二維數(shù)組、if-else、scanf、局部變量與...

    如何用Java語(yǔ)言寫一個(gè)貪吃蛇游戲
    所以我們需要定義swing組件,并在類初始化時(shí)初始化這些組件,添加組件。因?yàn)楹竺嬖O(shè)計(jì)游戲的時(shí)候,我們要確切知道游戲區(qū)的大小,所以這里設(shè)置游戲區(qū)固定大小值。本來(lái)想用布局來(lái)更好的管理,但作者對(duì)布局也掌握不夠,所以就先設(shè)置固定大小吧。定義我們的游戲。貪吃蛇游戲其實(shí)就是包含很多細(xì)小網(wǎng)格,然后蛇在網(wǎng)格...

    怎么改c語(yǔ)言貪吃蛇源代碼才能讓貪吃蛇吃到自己尾巴后不死?
    在C語(yǔ)言貪吃蛇游戲中,當(dāng)蛇頭與蛇尾相碰時(shí),游戲通常會(huì)結(jié)束。為了改變這種行為,可以修改相關(guān)代碼。原來(lái)的實(shí)現(xiàn)可能是在蛇頭與蛇尾相碰時(shí)顯示游戲結(jié)束并清除上下文。現(xiàn)在,我們可以修改為其他邏輯,比如讓蛇吃掉自己的尾巴,但游戲繼續(xù)進(jìn)行。具體來(lái)說(shuō),可以修改if語(yǔ)句如下:if (snake[head].pos_x == snake[...

    C語(yǔ)言做貪吃蛇用什么軟件編寫?
    問題上已經(jīng)說(shuō)了,是用C語(yǔ)言做的貪吃蛇,那么編寫它的軟件就是:C語(yǔ)言(一門通用計(jì)算機(jī)編程語(yǔ)言,廣泛應(yīng)用于底層開發(fā))。

    C語(yǔ)言編寫貪吃蛇需要用哪些函數(shù)??
    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;\/*蛇的結(jié)構(gòu)體*\/ void Choicelevle(void);\/*選擇游戲等級(jí)*\/ void Init(void...

    保姆級(jí)配置git與使用+C語(yǔ)言編寫貪吃蛇
    git push -u origin master C語(yǔ)言編寫貪吃蛇程序的步驟如下:使用vim編輯器編寫代碼:vim tanchishe.c 編輯完成后保存并退出:按下esc鍵,然后輸入:wq 編譯代碼:gcc tanchishe.c 運(yùn)行代碼:.\/a.out 以上內(nèi)容由Zeee撰寫并發(fā)布于地平線開發(fā)者社區(qū),原始文檔和代碼鏈接請(qǐng)點(diǎn)擊此處一鍵直達(dá)。

    用C語(yǔ)言來(lái)編寫貪吃蛇代碼時(shí),貪吃蛇的構(gòu)思是怎樣的?
    這是個(gè)輸入輸出同時(shí)進(jìn)行的程序 要調(diào)用DOS中斷功能(鍵盤中斷)可以參考浙江大學(xué)出版的《C語(yǔ)言高級(jí)程序設(shè)計(jì)》

    貪吃蛇,c語(yǔ)言,數(shù)據(jù)結(jié)構(gòu)?
    按照題目要求編寫的程序如下(見圖,圖中有重復(fù)的地方只需寫一次,中間有一行重復(fù))

    相關(guān)評(píng)說(shuō):

  • 沙談19882737978: 學(xué)生成績(jī)名次表c語(yǔ)言代碼 -
    臨夏市側(cè)垂: ______ #include typedef struct { int num; int score; int order;}stu;void classorder(stu s[], int total, int m, int n);void gradeorder(stu s[], i...
  • 沙談19882737978: C語(yǔ)言課程設(shè)計(jì),在進(jìn)入系統(tǒng)需要密碼的源代碼
    臨夏市側(cè)垂: ______ 給你講講思路吧, 其實(shí)很簡(jiǎn)單的,只要一個(gè)循環(huán)語(yǔ)句就行了,最簡(jiǎn)單的就是for語(yǔ)句了. 具體方法:先輸入你想要設(shè)置的密碼.當(dāng)要進(jìn)入管理系統(tǒng)時(shí),這里就用for語(yǔ)句實(shí)現(xiàn)循環(huán),要求輸入密碼,如果輸入的密碼和你設(shè)置的密碼一樣,循環(huán)結(jié)束,進(jìn)入;如果輸入密碼和你設(shè)置的密碼不同,那就重新輸入,直到輸入相同才結(jié)束,進(jìn)入,否則永遠(yuǎn)循環(huán)下去. 為保證管理系統(tǒng)的安全性,你也可以設(shè)置下循環(huán)的次數(shù),比如輸入三次還是錯(cuò)誤的,那就終止循環(huán).
  • 沙談19882737978: 數(shù)據(jù)結(jié)構(gòu)c語(yǔ)言課程設(shè)計(jì)檢查網(wǎng)絡(luò)1.問題描述<br/>給定一個(gè)計(jì)算
    臨夏市側(cè)垂: ______ #include using namespace std; #define N 507 static int arcs[N 1][N 1]; static int m; static bool g=false; void connect(int a,int b) { for(int k=a;k>m; while(m!=0) { for(int i=1;i>x>>...
  • 沙談19882737978: 用C++語(yǔ)言 編寫 課程設(shè)計(jì)的安排.. -
    臨夏市側(cè)垂: ______ #include#include#include#include#include#define M 20#define N 12#define MAX 100clas...
  • 沙談19882737978: 通訊錄管理 C語(yǔ)言課程設(shè)計(jì) -
    臨夏市側(cè)垂: ______ #include #include #include struct record { char id[10]; char name[20]; char phone[20]; char adress[4...
  • 沙談19882737978: 急需貪吃蛇的設(shè)計(jì)改進(jìn)思想 -
    臨夏市側(cè)垂: ______ 給你個(gè)無(wú)任何控件的源代碼,,,,,,, 你復(fù)制以下代碼到你窗體下,按F5就行了具體的設(shè)計(jì)思想,,自己分析吧!'貪吃蛇代碼(無(wú)控件、全代碼)Private WithEvents Timer1 As TimerPriva...
  • 沙談19882737978: c語(yǔ)言輸入10個(gè)浮點(diǎn)數(shù)構(gòu)成一個(gè)浮點(diǎn)數(shù)組,輸出最小值.要求采用多重指針實(shí)現(xiàn) -
    臨夏市側(cè)垂: ______ #include void main(){ float a[10],*min; int i; for(i=0;i<10;i++) scanf("%f",a+i); min =...
  • 沙談19882737978: 用C語(yǔ)言制作一個(gè)“學(xué)生成績(jī)管理”的小型軟件系統(tǒng). -
    臨夏市側(cè)垂: ______ #include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];...
  • 沙談19882737978: C語(yǔ)言設(shè)計(jì)案例張傳學(xué)P75編寫電腦隨機(jī)偶數(shù) -
    臨夏市側(cè)垂: ______ 6.6得到如下代碼:#include #include #include int main(){ int num[10][2], answer[10], sc = 0, t; int op[10]; i...
  • 亚洲中文字幕无码av不卡网址| 午夜在线欧美曰韩精品影视| 亚洲av无码电影网| 青柠影院在线观看免费高清电视剧| zσzσzσ女人极品另类| 亚洲成a人片在线观看无码| 夜夜春成人产品| 69一区二三区好的精华液| 成全免费高清观看在线电视| 亚洲精品沙发午睡系列|