版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p><b> 貪吃蛇游戲設(shè)計</b></p><p><b> 貪吃蛇游戲設(shè)計</b></p><p> 摘要:貪吃蛇是一款經(jīng)典的休閑游戲,操作小蛇不停的朝食物的方向前進,直到吃掉了食物。每吃一個食物,小蛇都會長長一節(jié),隨之而來的難
2、度加大;當(dāng)小蛇的頭撞到墻時或者小蛇的頭與身體相撞時,小蛇就會死亡;當(dāng)然,小蛇的速度越快,每一個食物的分?jǐn)?shù)就越高。</p><p><b> 進程安排</b></p><p> 3月28日:規(guī)劃程序需要調(diào)用的各個函數(shù),根據(jù)要求要實現(xiàn)的內(nèi)容</p><p> 3月29日:圖形驅(qū)動函數(shù)</p><p> 3月30日:開
3、始畫面函數(shù)</p><p> 3月31日:控制玩游戲過程的函數(shù)</p><p> 4月1日: 圖形結(jié)束函數(shù)組裝程序,及其調(diào)試</p><p><b> 開發(fā)環(huán)境概述</b></p><p> Visual C++是微軟公司的重要產(chǎn)品之一, 是一種功能強大行之有效的可視化編程工具。它提供了MFC類庫,使用戶可以方便
4、的開發(fā)自己想實現(xiàn)的功能。Visual C++6.0的主要特點:</p><p> ?。?)自動化和宏功能。</p><p> ?。?)可以靈活地定制工具欄和菜單。</p><p> ?。?)可以直接運行和調(diào)試程序,還可以使用宏語言來自動操作調(diào)試器。</p><p> ?。?)支持Internet連接。</p><p>
5、 ?。?)一個新的便捷的項目系統(tǒng)可以允許一個工作區(qū)內(nèi)包含多個不同的項目類型。</p><p> ?。?)在工作區(qū)內(nèi)可以包含多個并列的工程文件。</p><p> (7)可以在對話框中使用WizardBar將程序同可視化元素聯(lián)系起來。</p><p> ?。?)Find in File命令支持兩個獨立的輸出窗格,可以保存上一次搜索的結(jié)果。</p>&l
6、t;p> 這些新特性可以更好地利用Visual C++開發(fā)工具進行Windows應(yīng)用程序開發(fā)。</p><p><b> 目 錄</b></p><p><b> 概述</b></p><p> 1.1、用C類環(huán)境設(shè)計程序的方法…………………………………………1</p><p>
7、 1.2、簡要說明.,…………………………………………………………….1</p><p> 2、設(shè)計要求……………………………………………………………….1</p><p> 3、系統(tǒng)分析與模塊設(shè)計…………………………………………………2</p><p><b> 3.1、算法設(shè)計</b></p><p><
8、;b> 3.2、數(shù)據(jù)結(jié)構(gòu)</b></p><p><b> 3.3、模塊設(shè)計</b></p><p><b> 3.4、模塊枝干圖</b></p><p><b> 4、程序流程圖</b></p><p> 4.1、圖形驅(qū)動…………………………………
9、…………………………..3</p><p> 4.2、開始畫面……………………………………………………………..4</p><p> 4.3、顯示食物……………………………………………………………..5</p><p> 4.4、蛇向前移動…………………………………………………………..6</p><p> 4.5、判蛇死………………
10、………………………………………………..7</p><p> 4.6、吃到食物后處理……………………………………………………..8</p><p> 4.7、判蛇反向移動………………………………………………………..9</p><p> 4.8、游戲結(jié)束……………………………………………………………..10</p><p> 4.9、
11、圖形結(jié)束……………………………………………………………..10</p><p> 5、程序設(shè)計及源代碼……………………………………………………10-17</p><p> 6、運行結(jié)果分析…………………………………………………………18-20</p><p> 7、實習(xí)心得………………………………………………………………21</p><p&
12、gt;<b> 貪吃蛇游戲的設(shè)計</b></p><p> 1 .概 述 </p><p> 1.1、用TC設(shè)計程序的方法</p><p> 首先應(yīng)了解設(shè)計要求,然后按照功能設(shè)計模塊,每個模塊完成特定的功能,要使模塊間的耦合性小,內(nèi)聚性高;設(shè)計模塊是相當(dāng)重要的一個環(huán)節(jié)。模塊的數(shù)量不宜太多,也不宜太少,要使每個模塊都能
13、比較簡單的轉(zhuǎn)換成流程圖。模塊設(shè)計完成后,就該給每個模塊繪制流程圖了。流程圖要簡單,容易理解,多用中文。不宜寫過長的代碼,增加理解難度。流程圖與模塊枝干圖均可用繪圖軟件繪制,可適當(dāng)加些背景色,用以區(qū)分。此外,流程圖應(yīng)容易轉(zhuǎn)換成代碼。繪制好了流程圖,就要編寫代碼了。直接在TC環(huán)境里輸入代碼,然后運行測試,檢查錯誤,最終,將設(shè)計出可行的程序。</p><p><b> 1.2、簡要說明</b>
14、</p><p> 開始時以界面形式選擇快速,中速,慢速,點擊回車進入游戲。</p><p> 以快速為代表,為其設(shè)定一個變量,其延時為30000,設(shè)定的延時為蛇每前進一步到下一步的相隔時間,并且設(shè)定的分?jǐn)?shù)為3分,這樣,蛇就能以30000單位的延時和3分的游戲規(guī)則進行游戲。慢速和中速一次類推。</p><p> 在蛇不停的情況下,蛇的每后一節(jié)會到達蛇的前一節(jié),
15、依次類推,就是蛇不停的移動。</p><p> 在靠近界面有圍欄,畫出圍欄,并記錄其坐標(biāo),蛇頭一旦到達這個坐標(biāo),即判斷蛇死;并且從蛇的第4節(jié)開始判斷蛇頭的位置是否與其相等,如果是的話,也判斷蛇死,退出游戲。</p><p> 通過對蛇頭的X.Y坐標(biāo)的加減蛇的寬度,可以用上下左右鍵來進行游戲,并且判斷是否反方向移動。</p><p> 食物的坐標(biāo)用隨機數(shù)產(chǎn)生,但
16、通過取余再加的方法使之處于圍欄的范圍之內(nèi),并且在坐標(biāo)的整十的倍數(shù)上,保證蛇頭能與之相等。</p><p> 當(dāng)蛇頭的坐標(biāo)等于食物的坐標(biāo)時,即蛇吃到了食物,此時,增加的一節(jié)暫時沒有顯現(xiàn)出來,當(dāng)下一步時在末尾加上一節(jié)即可。</p><p> 當(dāng)蛇死之后,在屏幕上顯示“GAME OVER”,表示游戲結(jié)束,顯示分?jǐn)?shù)后,退出。</p><p><b> 2.設(shè)
17、計要求</b></p><p> 外觀為矩形,食物隨機產(chǎn)生,添加注釋,統(tǒng)計得分、每吃到一個食物獲得相應(yīng)分?jǐn)?shù)。蛇碰到自己或墻壁,游戲均結(jié)束。游戲結(jié)束時輸出得分。畫出模塊枝干圖與每個模塊的程序流程圖。修改某些代碼,改變其外觀及功能。</p><p> 游戲操作應(yīng)盡量簡單。</p><p> 界面美觀,讓人看了覺得舒服。</p><p
18、> 3、系統(tǒng)分析與模塊設(shè)計</p><p><b> 3.1、算法設(shè)計</b></p><p> 玩游戲過程采用遞歸算法,由while(1)控制循環(huán)過程,可使游戲重復(fù)玩,在蛇死之前不停的玩。判斷蛇死的算法是通過判斷蛇有沒有碰到自己及墻壁。使蛇向前移動采用遞歸算法,通過遞歸將蛇的每一節(jié)依次向前移動,橫坐標(biāo)與縱坐標(biāo)依次向前賦值,從而達到使蛇前移的目的。蛇的前進
19、方向通過if結(jié)構(gòu)判斷。</p><p><b> 3.2、數(shù)據(jù)結(jié)構(gòu)</b></p><p> 蛇與食物信息分別用兩個結(jié)構(gòu)體存儲與表示。將食物的橫坐標(biāo)x、縱坐標(biāo)y和判斷是否要出現(xiàn)食物的變量yes分別作為食物的結(jié)構(gòu)體的成員。蛇的橫坐標(biāo)數(shù)組x[n],縱坐標(biāo)數(shù)組y[n],蛇的節(jié)數(shù)node,蛇的移動方向direction、蛇的生命life分別作為蛇的結(jié)構(gòu)體的成員。結(jié)構(gòu)體內(nèi)每
20、個成員的存儲類型均為整型。</p><p><b> 3.3、模塊設(shè)計</b></p><p> 模塊應(yīng)具有高內(nèi)聚性,低耦合性。這樣,程序運行才更穩(wěn)定,效率更高。</p><p> 據(jù)功能將貪吃蛇游戲劃分成四個大模塊,九個小模塊。每個模塊均具有自己的功能,而且,比較容易畫出各個模塊的流程圖。</p><p><
21、;b> 3.4、模塊枝干圖</b></p><p> 簡要說明:圖形驅(qū)動即完成初始化圖形系統(tǒng)功能;開始畫面模塊的主要作用是根據(jù)設(shè)置繪制出玩游戲區(qū)域四周的墻壁;玩游戲的過程是游戲此游戲程序的核心,又可細分為好多小的功能模塊;其中,顯示食物模塊僅完成顯示食物功能;蛇前移模塊即通過遞歸算法實現(xiàn)蛇的向某方向移動;判蛇死模塊的功能是通過判斷蛇是否碰到自己或墻壁來判斷蛇有沒有死亡。吃到食物后小模塊只有蛇
22、吃到食物后才起作用。即當(dāng)蛇吃到食物后,蛇自身延長一節(jié)并繪出蛇,同時加10分。通過鍵盤操控來玩游戲主要由判反向移動模塊完成,即當(dāng)蛇不是反向移動時,按照鍵盤上方向鍵指示移動。游戲結(jié)束模塊功能簡單,僅完成輸出得分與提示語功能。最后圖形結(jié)束模塊完成關(guān)閉圖形功能。</p><p><b> 4、程序流程圖</b></p><p><b> 4.1、圖形驅(qū)動<
23、/b></p><p><b> 4.2、開始畫面</b></p><p><b> 顯示食物</b></p><p><b> 蛇向前移動</b></p><p><b> 判蛇死</b></p><p><b
24、> 吃到食物后處理</b></p><p><b> 判蛇反向移動</b></p><p><b> 游戲結(jié)束</b></p><p><b> 圖形結(jié)束</b></p><p> 5、程序設(shè)計及關(guān)鍵源代碼</p><p>
25、 /*函數(shù)定義是對各個基礎(chǔ)函數(shù)的定義,并且設(shè)置需要運用的信息,便于調(diào)用</p><p><b> */ </b></p><p> #define N 200//宏定義</p><p> #include <graphics.h>//TC中特有的與圖形有關(guān)的函數(shù)</p><p> #include &
26、lt;stdlib.h>//標(biāo)準(zhǔn)庫函數(shù)</p><p> #include <dos.h>//包含很多BIOS調(diào)用函數(shù)</p><p> #define LEFT 0x4b00//鍵盤掃描碼</p><p> #define RIGHT 0x4d00//鍵盤掃描碼</p><p> #define DOWN 0x50
27、00//鍵盤掃描碼</p><p> #define UP 0x4800//鍵盤掃描碼</p><p> #define ESC 0x011b//鍵盤掃描碼</p><p> int i,key;</p><p> int score=0;/*得分*/</p><p> int gamespeed=0;/*游
28、戲速度自己調(diào)整*/</p><p> int choice=0;</p><p> struct Food</p><p><b> {</b></p><p> int x;/*食物的橫坐標(biāo)*/</p><p> int y;/*食物的縱坐標(biāo)*/</p><p>
29、; int yes;/*判斷是否要出現(xiàn)食物的變量*/</p><p> }food;/*食物的結(jié)構(gòu)體*/</p><p> struct Snake</p><p><b> {</b></p><p><b> int x[N];</b></p><p><
30、b> int y[N];</b></p><p> int node;/*蛇的節(jié)數(shù)*/</p><p> int direction;/*蛇移動方向*/</p><p> int life;/* 蛇的生命,0活著,1死亡*/</p><p> }snake; /*蛇的結(jié)構(gòu)體*/</p><p&g
31、t; void Init(void);/*圖形驅(qū)動*/</p><p> void Close(void);/*圖形結(jié)束*/</p><p> void DrawK();/*開始畫面*/</p><p> void GameOver(void);/*結(jié)束游戲*/</p><p> void GamePlay(void);/*玩游戲具
32、體過程*/</p><p> void PrScore(void);/*輸出成績*/</p><p> void speed(void);</p><p> void get(void);</p><p> /*主函數(shù)是程序的主流程,首先定義使用到的常數(shù)、全局變量及函數(shù)原型說明,然后初始化圖形系統(tǒng),調(diào)用函數(shù)DrawK()畫出開始畫面,
33、調(diào)用函數(shù)GamePlay(),即玩游戲的具體過程,游戲結(jié)束后調(diào)用Close()關(guān)閉圖形系統(tǒng),結(jié)束程序</p><p><b> */</b></p><p> void main(void)</p><p><b> {</b></p><p><b> speed();</
34、b></p><p> Init();/*圖形驅(qū)動*/</p><p> DrawK();/*開始畫面*/</p><p> GamePlay();/*玩游戲具體過程*/</p><p> Close();/*圖形結(jié)束*/</p><p><b> }</b></p>
35、<p> void speed(void)</p><p><b> {</b></p><p> printf("******************Welcome into the greesnake game******************\n");</p><p> printf("
36、Choice 1 is slow\nChoice 2 is middle\nChoice 3 is quick\nYour choice:");</p><p> scanf("%d",&choice);</p><p> if(choice==1)</p><p> gamespeed=50000;</p>
37、<p> if(choice==2)</p><p> gamespeed=40000;</p><p> if(choice==3)</p><p> gamespeed=30000;</p><p><b> }</b></p><p><b> /*圖形驅(qū)動
38、*/</b></p><p> void Init(void)</p><p><b> {</b></p><p> int gd=DETECT,gm; /*宏定義,當(dāng)GD為0時,自動檢測顯卡,不需要自己賦值*/</p><p> initgraph(&gd,&gm,"c:
39、\\tc"); /*GD為圖形驅(qū)動器,GM為圖形模式*/</p><p> cleardevice(); /*清屏*/</p><p><b> }</b></p><p> /*主界面是一個封閉的圍墻,用兩個循環(huán)語句分別在水平和垂直方向輸出連續(xù)的寬度和高度均的矩形方塊,表示圍墻,為了醒目,設(shè)置為綠色。</p>&
40、lt;p><b> */</b></p><p> /*開始畫面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻*/</p><p> void DrawK(void)</p><p><b> {</b></p><p> /*setbkcolor(LIGHTGR
41、EEN);*/</p><p> setcolor(11);</p><p> setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設(shè)置線型*/</p><p> for(i=40;i<=450;i+=10)</p><p><b> {</b></p><
42、p> rectangle(50,i,59,i+10); /*左邊*/</p><p> rectangle(601,i,610,i+10);/*右邊*/</p><p><b> }</b></p><p> for(i=50;i<=600;i+=10)/*畫圍墻*/</p><p><b>
43、; {</b></p><p> rectangle(i,40,i+10,49); /*上邊*/</p><p> rectangle(i,451,i+10,460);/*下邊*/</p><p><b> }</b></p><p><b> }</b></p>
44、<p><b> /*計分器*/</b></p><p> void get(void)</p><p><b> {</b></p><p> if(choice==1)</p><p> score=1+score;</p><p> if(cho
45、ice==2)</p><p> score=2+score;</p><p> if(choice==3)</p><p> score=3+score;</p><p><b> }</b></p><p> /*玩游戲具體過程,這是游戲的主要組成部分,他采用將前一節(jié)的坐標(biāo)賦給后一節(jié)
46、,用背景顏色將最后節(jié)去除,當(dāng)蛇頭的坐標(biāo)與食物的坐標(biāo)相等時,表示食物被吃掉了。</p><p><b> */</b></p><p> void GamePlay(void)</p><p><b> {</b></p><p> randomize();/*隨機數(shù)發(fā)生器*/</p&g
47、t;<p> food.yes=1;/*1表示需要出現(xiàn)新食物,0表示已經(jīng)存在食物*/</p><p> snake.life=0;/*活著*/</p><p> snake.direction=1;/*方向往右*/</p><p> snake.x[0]=100;snake.y[0]=100;/*蛇頭*/</p><p>
48、; snake.x[1]=110;snake.y[1]=100;</p><p> snake.node=2;/*節(jié)數(shù)*/</p><p> PrScore();/*輸出得分*/</p><p> while(1)/*可以重復(fù)玩游戲,壓ESC鍵結(jié)束*/</p><p><b> {</b></p>
49、<p> while(!kbhit())/*在沒有按鍵的情況下,蛇自己移動身體*/</p><p><b> {</b></p><p> if(food.yes==1)/*需要出現(xiàn)新食物*/</p><p><b> {</b></p><p> food.x=rand()%
50、400+60;</p><p> food.y=rand()%350+60;</p><p> while(food.x%10!=0)/*食物隨機出現(xiàn)后必須讓食物能夠在整格內(nèi),這樣才可以讓蛇吃到*/</p><p><b> food.x++;</b></p><p> while(food.y%10!=0)&l
51、t;/p><p><b> food.y++;</b></p><p> food.yes=0;/*畫面上有食物了*/</p><p><b> }</b></p><p> if(food.yes==0)/*畫面上有食物了就要顯示*/</p><p><b>
52、 {</b></p><p> setcolor(GREEN);</p><p> rectangle(food.x,food.y,food.x+10,food.y-10);</p><p><b> }</b></p><p> for(i=snake.node-1;i>0;i--)/*蛇的
53、每個環(huán)節(jié)往前移動,也就是貪吃蛇的關(guān)鍵算法*/</p><p><b> {</b></p><p> snake.x[i]=snake.x[i-1];</p><p> snake.y[i]=snake.y[i-1];</p><p><b> }</b></p><p&
54、gt; /*1,2,3,4表示右,左,上,下四個方向,通過這個判斷來移動蛇頭*/</p><p> switch(snake.direction)</p><p><b> {</b></p><p> case 1:snake.x[0]+=10;break;</p><p> case 2: snake.x[
55、0]-=10;break;</p><p> case 3: snake.y[0]-=10;break;</p><p> case 4: snake.y[0]+=10;break;</p><p><b> }</b></p><p> for(i=3;i<snake.node;i++)/*從蛇的第四節(jié)開
56、始判斷是否撞到自己了,因為蛇頭為兩節(jié),第三節(jié)不可能拐過來*/</p><p><b> {</b></p><p> if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])</p><p><b> {</b></p><p>
57、GameOver();/*顯示失敗*/</p><p> snake.life=1;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(snake
58、.x[0]<55||snake.x[0]>595||snake.y[0]<55||</p><p> snake.y[0]>455)/*蛇是否撞到墻壁*/</p><p><b> {</b></p><p> GameOver();/*本次游戲結(jié)束*/</p><p> snake.li
59、fe=1; /*蛇死*/</p><p><b> }</b></p><p> if(snake.life==1)/*以上兩種判斷以后,如果蛇死就跳出內(nèi)循環(huán),重新開始*/</p><p><b> break;</b></p><p> if(snake.x[0]==food.x&
60、&snake.y[0]==food.y)/*吃到食物以后*/</p><p><b> {</b></p><p> setcolor(0);/*把畫面上的食物東西去掉*/</p><p> rectangle(food.x,food.y,food.x+10,food.y-10);</p><p> sn
61、ake.x[snake.node]=-20;snake.y[snake.node]=-20;</p><p> /*新的一節(jié)先放在看不見的位置,下次循環(huán)就取前一節(jié)的位置*/</p><p> snake.node++;/*蛇的身體長一節(jié)*/</p><p> food.yes=1;/*畫面上需要出現(xiàn)新的食物*/</p><p><
62、b> get();</b></p><p> PrScore();/*輸出新得分*/</p><p><b> }</b></p><p> setcolor(4);/*畫出蛇*/</p><p> for(i=0;i<snake.node;i++)</p><p&g
63、t; rectangle(snake.x[i],snake.y[i],snake.x[i]+10,</p><p> snake.y[i]-10);</p><p> delay(gamespeed);</p><p> setcolor(0);/*用黑色去除蛇的的最后一節(jié)*/</p><p> rectangle(snake.x[
64、snake.node-1],snake.y[snake.node-1],</p><p> snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);</p><p> } /*endwhile(!kbhit)*/</p><p> if(snake.life==1)/*如果蛇死就跳出循環(huán)*/</p>
65、<p><b> break;</b></p><p> key=bioskey(0);/*接收按鍵*/</p><p> if(key==ESC)/*按ESC鍵退出*/</p><p><b> break;</b></p><p><b> else</b&
66、gt;</p><p> if(key==UP&&snake.direction!=4)</p><p> /*判斷是否往相反的方向移動*/</p><p> snake.direction=3;</p><p><b> else</b></p><p> if(key
67、==RIGHT&&snake.direction!=2)</p><p> snake.direction=1;</p><p><b> else</b></p><p> if(key==LEFT&&snake.direction!=1)</p><p> snake.dire
68、ction=2;</p><p><b> else</b></p><p> if(key==DOWN&&snake.direction!=3)</p><p> snake.direction=4;</p><p> }/*endwhile(1)*/</p><p>&
69、lt;b> }</b></p><p> /*游戲結(jié)束,清除屏幕,輸出分?jǐn)?shù),顯示游戲結(jié)束信息。*/</p><p> void GameOver(void)</p><p><b> {</b></p><p> cleardevice(); </p><p> Pr
70、Score();</p><p> setcolor(RED);</p><p> settextstyle(0,0,4);</p><p> outtextxy(200,200,"GAME OVER");</p><p><b> getch();</b></p><p&
71、gt;<b> }</b></p><p><b> /*輸出成績*/</b></p><p> void PrScore(void)</p><p><b> { </b></p><p> char str[10];</p><p>
72、 setfillstyle(SOLID_FILL,YELLOW);</p><p> bar(50,15,220,35);</p><p> setcolor(6);</p><p> settextstyle(0,0,2);</p><p> sprintf(str,"score:%d",score);</
73、p><p> outtextxy(55,20,str);</p><p><b> }</b></p><p><b> /*圖形結(jié)束*/</b></p><p> void Close(void)</p><p><b> { </b><
74、;/p><p> getch();/*getch()觀察屏幕輸出*/</p><p> closegraph();</p><p><b> }</b></p><p><b> 6、運行結(jié)果分析</b></p><p> 通過運行,我對自己的設(shè)計比較滿意。運行結(jié)果正如
75、我所料,此貪吃蛇游戲具有易操作性及充滿活力的外觀。</p><p><b> 截圖及描述:</b></p><p> 第一個開始DOS界面</p><p><b> 圖6-1 開始畫面</b></p><p> 此圖為開始畫面圖,蛇有三節(jié),墻壁顏色為綠色,顯得較有活力。</p>
76、<p> 圖6-2 蛇吃到兩個食物后</p><p> 蛇吃到食物后,得分為2分,蛇延長兩節(jié)。</p><p> 圖6-3 游戲結(jié)束畫面</p><p><b> 7、實習(xí)心得</b></p><p> 為了提高我們的實踐能力,讓我們學(xué)以致用,能靈活運用所學(xué)的知識進行再創(chuàng)造,學(xué)校特安排我們進行為期一
77、周的Visual C++課程設(shè)計實習(xí),并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們在規(guī)范化、嚴(yán)謹(jǐn)化、實用化上面有了很大進展。</p><p> 在此次字符統(tǒng)計程序開發(fā)過程中,有很多東西值得我們思考并總結(jié)。</p><p> 開發(fā)過程大體可分為以下幾個步驟:</p><p> ?。?)思考總體設(shè)計方案:總體結(jié)構(gòu)和模塊外部設(shè)計,功能分配。思考要實現(xiàn)整個程序大體需要的幾個模塊和其
78、中用到的Visual C++語言基本操作符、語句等。</p><p> ?。?)畫出總體設(shè)計方案流程圖:用流程圖的形式展現(xiàn)你的基本編程思想。</p><p> (3)流程圖具體化:即將流程圖中的幾大模塊的具體實現(xiàn)思考清楚,可以用流程圖的形式展現(xiàn).并想好實現(xiàn)的關(guān)鍵代碼。</p><p> ?。?)編輯程序代碼:這是一個至關(guān)重要復(fù)雜而且需要反復(fù)修改的環(huán)節(jié),在此環(huán)節(jié)中你
79、將發(fā)現(xiàn)總體設(shè)計和模塊思想會存在很多問題,需不斷改進.如何實現(xiàn)各函數(shù)功能,達到預(yù)期效果也將是一項繁復(fù)的工作。</p><p> ?。?)代碼的調(diào)試:在Visual C++6.0環(huán)境下輸入代碼并進行調(diào)試和正確運行。在調(diào)試過程中會遇到很多需要精化的地方,需要十足的耐心與細心,不斷改進完善程序。</p><p> (6)最后修飾:程序可以正確運行之后,再不影響程序功能的情況下,運用各種輔助性符號
80、,使界面更加美觀漂亮,操作更人性化.增強程序的新意與可行性?!?lt;/p><p> 通過這次課程設(shè)計,使我們更加熟悉的掌握了Visual C++語言的運用。幫助我們熟悉了更多Visual C++語言的功能,提高了我們的動手能力,學(xué)到了許多解決實際問題的寶貴經(jīng)驗.同時也挖掘出了我們潛在的能力,使我們對自己更有自信,對編程也更有興趣。我相信,只要努力、勤奮、堅持不懈,就沒有什么做不到的事,不能還沒開始就退縮,要勇于拼
81、搏,敢于創(chuàng)新。</p><p> 總之,通過這次實習(xí),我學(xué)到了好多書本以外的知識!</p><p><b> 參考文獻</b></p><p> [1]譚浩強《c程序設(shè)計》</p><p> [2] 張岳新《Visual C++程序設(shè)計》。</p><p> [3] 張岳新《Visual
82、 C++程序設(shè)計基礎(chǔ)實驗指導(dǎo)書》。</p><p> [4]沈被娜 劉祖照 《計算機軟件技術(shù)基礎(chǔ)》</p><p> [5] 李強,賈云霞. Visual C++項目開發(fā)實踐.北京:中國鐵道出版社,2004</p><p> [6] 鄭莉,董淵,張瑞豐.C++語言程序設(shè)計.2003.</p><p> [7] H.M.Deitel,P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論