資源描述:
《c++課程設(shè)計(jì)報(bào)告--坦克游戲》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、《面向?qū)ο缶幊碳夹g(shù)》課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告——————坦克二班級(jí):軟124姓名:學(xué)號(hào):129074282目錄一、程序名稱二、設(shè)計(jì)目的三、程序設(shè)計(jì)的意義四、功能介紹五、開(kāi)發(fā)平臺(tái)六、課程設(shè)計(jì)總體規(guī)劃1、處理流程圖2、結(jié)構(gòu)模塊分析七、主要代碼八、運(yùn)行效果抓圖九、創(chuàng)新和難點(diǎn)十、課程設(shè)計(jì)中目前存在的問(wèn)題十一、心得體會(huì)一、程序名稱以《坦克大戰(zhàn)》游戲?yàn)轭}材,自己動(dòng)手,從零開(kāi)始,寫(xiě)出簡(jiǎn)單坦克小游戲-----坦克二。二、設(shè)計(jì)目的1、進(jìn)一步掌握C++進(jìn)行類的定義和操作方法;2、學(xué)習(xí)和掌握C++程序設(shè)計(jì)方法以及上機(jī)調(diào)試技巧,為以后學(xué)校其他專業(yè)課程打好基礎(chǔ);3、能夠培養(yǎng)我們獨(dú)立分析問(wèn)
2、題、解決問(wèn)題、查閱資料以及自學(xué)的能力,以適應(yīng)計(jì)算機(jī)只是日新月異發(fā)展的形式;4、程序設(shè)計(jì)的目的不單單是課堂上的學(xué)習(xí),我覺(jué)得最重要的是讓我們學(xué)生掌握程序設(shè)計(jì)的思想與方法。在課程設(shè)計(jì)的過(guò)程中,我們充分運(yùn)用我們課堂上學(xué)習(xí)到的知識(shí),并且復(fù)習(xí)C語(yǔ)言中的函數(shù)等知識(shí)點(diǎn)。在這個(gè)過(guò)程中,我們能夠不斷提高對(duì)C++面向?qū)ο蟪绦蛟O(shè)計(jì)的理解,最終能夠獨(dú)立自主解決一些問(wèn)題。三、程序設(shè)計(jì)的意義大學(xué)最重要無(wú)疑是動(dòng)手能力與自學(xué)能力的培養(yǎng),課程設(shè)計(jì)明顯給了我們這樣的一個(gè)機(jī)會(huì)。遇到瓶頸的時(shí)候,我們需要去圖書(shū)館查閱書(shū)籍,代碼錯(cuò)誤的時(shí)候我們需要反復(fù)的調(diào)試,在這個(gè)過(guò)程中,我們的動(dòng)手能力以及自學(xué)能力都
3、在不知不覺(jué)中得到了很大的提升?;仡櫰鸫舜握n程設(shè)計(jì),我還是感慨頗多,從理論到實(shí)踐,在這幾乎一個(gè)學(xué)期的時(shí)間里(課程設(shè)計(jì)是C++第一次上課的時(shí)候提出來(lái)的),我學(xué)到了很多很多的東西,不僅鞏固了以前所學(xué)過(guò)的C語(yǔ)言方面的知識(shí),而且自己也去圖書(shū)館查閱資料學(xué)到了很多。通過(guò)這次的課程設(shè)計(jì)使我懂得了理論與實(shí)際結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐結(jié)合起來(lái),從理論中得出結(jié)論,才是自己真正掌握了的,屬于自己的知識(shí),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在課程設(shè)計(jì)的過(guò)程中遇到了各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中也發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)
4、的知識(shí)理解的不夠深刻,掌握的不夠牢固,通過(guò)這次課程設(shè)計(jì),把以前所學(xué)的知識(shí)重新溫故,鞏固了所學(xué)的知識(shí)。四、功能介紹在坦克二程序中,小坦克能夠上下左右自由移動(dòng),飛機(jī)能夠左右移動(dòng),并且能夠發(fā)射子彈,飛機(jī)每次只能發(fā)一顆子彈但是坦克可以多發(fā)子彈連續(xù)發(fā)射,在坦克子彈打中飛機(jī)或者飛機(jī)子彈打中坦克之后,游戲結(jié)束。五、開(kāi)發(fā)平臺(tái)操作系統(tǒng):win7開(kāi)發(fā)軟件:MirosoftVisualC++6.0六、課程設(shè)計(jì)總體規(guī)劃1、處理流程圖開(kāi)始N是否開(kāi)始游戲Y主要事項(xiàng)使用方法開(kāi)始游戲NY游戲結(jié)束坦克被打死或者飛機(jī)被打死發(fā)射子彈坦克移動(dòng)2、結(jié)構(gòu)模塊分析Tankwar類Plane類Tank
5、類Bullet類類Tankwar類是Bullet類、Tank類、Plane類的服務(wù)類,Tankwar類內(nèi)部只有幾個(gè)函數(shù)。七、主要代碼/*子彈類*/classBullet{public:voidshowTankBullet(){printf("T");}voidshowPlaneBullet(){printf("F");}Bullet(intX,intY){x=X;y=Y;next=NULL;}Bullet(){x=36;y=23;next=NULL;}voidsetlocationBullet(intX,intY){x=X;y=Y;}voidmove_u
6、p(){gotoxy(x,y);printf("");//setlocationBullet(x,y-1);if(y!=0){y--;gotoxy(x,y);showTankBullet();}}intgetX(){returnx;}intgetY(){returny;}~Bullet(){}Bullet*next;private:intx,y;};//飛機(jī)類classPlane{public:voidshowPlane(){gotoxy(x,y-2);printf("Y");gotoxy(x,y-1);printf("Y");gotoxy(x-1,y)
7、;printf("YYY");gotoxy(x,y+1);printf("Y");}Plane(intX=1,intY=2){x=X;y=Y;mmm=0;}voidsetlocationPlane(intX,intY){x=X;y=Y;}voidmove(){if(mmm==2){intX=x,Y=y;mmm=0;deletePlane(X,Y);if(X==78)X=0;//飛機(jī)如果到達(dá)最右邊,則返回最左邊setlocationPlane(X+1,Y);showPlane();}mmm++;}voiddeletePlane(intx_myplane,i
8、nty_myplane){gotoxy(x_myplane,y_myplane-