版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C程序設(shè)計(jì)</b></p><p><b> 掃雷游戲</b></p><p> 一、設(shè)計(jì)題目:掃雷游戲</p><p><b> 二、設(shè)計(jì)目的</b></p><p> 1.使學(xué)生更深入地理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計(jì)思想和方
2、法。</p><p> 2.培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成課題的能力。</p><p> 3.培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯(cuò)必改,用實(shí)踐來(lái)檢驗(yàn)理論,全方位考慮問(wèn)題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。</p><p> 4.提高學(xué)生對(duì)工作認(rèn)真負(fù)責(zé)、一絲不茍,對(duì)同學(xué)團(tuán)結(jié)友愛(ài),協(xié)作攻關(guān)的基本素質(zhì)。</p><p> 5.培養(yǎng)學(xué)生從資料
3、文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識(shí)的能力,提高學(xué)生從別人經(jīng)驗(yàn)中找到解決問(wèn)題的新途徑的悟性,初步培養(yǎng)工程意識(shí)和創(chuàng)新能力。</p><p> 6.對(duì)學(xué)生掌握知識(shí)的深度、運(yùn)用理論去處理問(wèn)題的能力、實(shí)驗(yàn)?zāi)芰?、課程設(shè)計(jì)能力、書(shū)面及口頭表達(dá)能力進(jìn)行考核。</p><p><b> 三、設(shè)計(jì)要求</b></p><p> 1.汪洋和孔維亮組成設(shè)計(jì)小組。小組成員分
4、工協(xié)作完成。要求每個(gè)成員有自己相對(duì)獨(dú)立的模塊,同時(shí)要了解其他組員完成的內(nèi)容。</p><p> 2.查閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識(shí)。 </p><p> 3.采用結(jié)構(gòu)化、模塊化程序設(shè)計(jì)方法,功能要完善,界面要美觀。</p><p> 4.按要求寫(xiě)出課程設(shè)計(jì)報(bào)告,并于設(shè)計(jì)結(jié)束后1周內(nèi)提交。 </p>&
5、lt;p><b> 一 概述</b></p><p> 掌握數(shù)組指針的概念及其應(yīng)用</p><p><b> 培養(yǎng)團(tuán)結(jié)合作精神</b></p><p> 2. 課程設(shè)計(jì)的要求</p><p> 要求我們有扎實(shí)的C語(yǔ)言知識(shí),以及良好的編程習(xí)慣,能夠熟練的應(yīng)用循環(huán),有毅力,還要求我們有較
6、強(qiáng)的合作精神,善于總結(jié)。同時(shí)還要求我們自學(xué)C語(yǔ)言作圖部分知識(shí)。在必要時(shí)還要上網(wǎng)查相關(guān)資料。</p><p> 課程設(shè)計(jì)的主要設(shè)計(jì)思想</p><p> 掃雷游戲主要用了一個(gè)10行10列的二維數(shù)組,剛開(kāi)始利用random隨機(jī)布雷。</p><p> 每一個(gè)程序最主要的是算法。掃雷游戲算法的重點(diǎn)是一開(kāi)始統(tǒng)計(jì)好每個(gè)格子周?chē)卸嗌倮?,?dāng)鼠標(biāo)左鍵點(diǎn)在格子上時(shí)做出判斷,如
7、果周?chē)?個(gè)格子有雷則顯示出雷數(shù),如果沒(méi)有雷則顯示空白格(在四個(gè)角的格子顯示周?chē)?個(gè)格子,其它邊緣的格子顯示周?chē)?個(gè)的狀態(tài)),我們?cè)谥骱瘮?shù)中用兩個(gè)for語(yǔ)句來(lái)判斷周?chē)讛?shù)。我們還加了鼠標(biāo)處理函數(shù)。</p><p> 如果格子上有雷則調(diào)用函FailExitGame(),顯示“Fail!”,游戲結(jié)束。若所有的雷都標(biāo)出,且所有的格子都處理過(guò),則調(diào)用函數(shù)ExitGame(),顯示“OK,Good!”,游戲結(jié)束。游戲結(jié)束后
8、,按任意鍵出去。</p><p><b> 二 總體方案設(shè)計(jì)</b></p><p> 封面是由圖形和動(dòng)態(tài)文字,伴隨聲音接替出現(xiàn)。程序用了一個(gè)10行10列的二維數(shù)組表示掃雷界面。在游戲中要隨機(jī)步雷,游戲開(kāi)始前要統(tǒng)計(jì)好每個(gè)格子周?chē)睦讛?shù),游戲開(kāi)始后可以點(diǎn)擊鼠標(biāo)玩游戲,游戲結(jié)束后,按任意鍵結(jié)束跳出游戲界面。</p><p><b>
9、 整體框圖</b></p><p><b> 三 詳細(xì)設(shè)計(jì)</b></p><p><b> 程序流程</b></p><p> 以下是主函數(shù)中的一些主要的。</p><p><b> 主函數(shù)</b></p><p> 主要定義常用
10、到的常量,全局變量,有關(guān)的函數(shù)原形說(shuō)明。然后隨機(jī)布雷,統(tǒng)計(jì)好每個(gè)格子周?chē)睦讛?shù),畫(huà)掃雷游戲界面,游戲接受鼠標(biāo)操作,按任意鍵結(jié)束游戲,關(guān)閉圖形系統(tǒng),程序結(jié)束。</p><p> BYTE MouseState() /*等待接受鼠標(biāo)命令函數(shù)*/</p><p><b> {</b></p><p> union REGS
11、regs;</p><p> regs.x.ax = 3;</p><p> int86(MOUSE, ®s, ®s); /*鼠標(biāo)端口*/</p><p> return(regs.x.bx); </p><p><b> }</b></p&
12、gt;<p> void MouseShow() /*鼠標(biāo)顯示函數(shù)*/</p><p><b> {</b></p><p> union REGS regs;</p><p> regs.x.ax = 1;</p><p> int86(MOUSE, &re
13、gs, ®s);</p><p><b> }</b></p><p> void MouseHide() /*鼠標(biāo)隱藏函數(shù)*/</p><p><b> {</b></p><p> union REGS regs;</p&g
14、t;<p> regs.x.ax = 2;</p><p> int86(MOUSE, ®s, ®s);</p><p><b> }</b></p><p> BOOL InitMouse() /*取鼠標(biāo)端口函數(shù)*/</p>
15、<p><b> {</b></p><p> union REGS regs;</p><p> regs.x.ax = 0;</p><p> int86(MOUSE, ®s, ®s);</p><p> return (regs.x.ax);</p>
16、<p><b> }</b></p><p> void WaitMouse()</p><p><b> {</b></p><p> int xx,yy;</p><p> while (MouseState())</p><p><b>
17、 {</b></p><p> GetXY(&xx,&yy);</p><p> if (xx!=x||yy!=y)</p><p> SetXY(x,y);</p><p><b> }</b></p><p><b> }</b>&
18、lt;/p><p> void Prt(int x,int y,BYTE ch,BYTE color) /*定義雷區(qū)地址入口*/</p><p><b> { </b></p><p> pokeb(0xb800,y*160+x*2,ch);</p><p> pokeb(0xb800,y*1
19、60+x*2+1,color);</p><p><b> }</b></p><p> BYTE Scr(int x,int y) /*返回雷區(qū)地址入口*/</p><p><b> {</b></p><p> return peekb(0
20、xb800,y*160+x*2);</p><p><b> }</b></p><p> void CursorHide() /*光標(biāo)隱藏*/</p><p><b> {</b></p><p><b> _AH=3;</
21、b></p><p> geninterrupt(0x10);</p><p> CursorMode=_CX;</p><p><b> _AH=1;</b></p><p><b> _CH=32;</b></p><p> geninterrupt(0x
22、10);</p><p><b> }</b></p><p> void CursorShow() /*光標(biāo)顯示*/</p><p><b> {</b></p><p><b> _AH=1;</b></p
23、><p> _CX=CursorMode;</p><p> geninterrupt(0x10);</p><p><b> }</b></p><p><b> 四、源程序如下:</b></p><p> # include <dos.h> <
24、/p><p> # include <time.h> </p><p> # include <conio.h></p><p> # include <stdio.h></p><p> # include <stdlib.h></p><p> # i
25、nclude <graphics.h> </p><p> # define BYTE unsigned char</p><p> # define BOOL BYTE</p><p> # define WORD unsigned int</p><p> # de
26、fine DWORD unsigned long</p><p> # define TRUE 1</p><p> # define FALSE !TRUE</p><p> # define MOUSE 0x33 </p><p> # define LBU
27、TTON 1</p><p> # define RBUTTON 2</p><p> # define SX 35</p><p> # define SY 7</p><p> # define MINE 9 /*在有雷的地方定義為MINE
28、*/</p><p> BOOL InitMouse(); /*初始化鼠標(biāo)*/</p><p> BYTE Scr(int,int); /*屏幕顯示坐標(biāo)函數(shù)*/</p><p> BYTE MouseState(); /*等待接受鼠標(biāo)命令*/</p><p> void Edge(int,int);
29、 </p><p> void TurnBack(int,int);</p><p> void MouseShow(); /*鼠標(biāo)顯示函數(shù)*/</p><p> void MouseHide(); /*鼠標(biāo)隱藏函數(shù)*/</p><p> void CursorShow(); /*光標(biāo)顯示函數(shù)*
30、/</p><p> void CursorHide(); /*光標(biāo)隱藏函數(shù)*/</p><p> void SetRange(int,int,int,int); </p><p> void GetXY(int*,int*);</p><p> void SetXY(int,int);</p><p
31、> void WaitMouse(); </p><p> void WaitKey();</p><p> void Prt(int,int,BYTE,BYTE); /*雷區(qū)的圖形和顏色*/</p><p> void Locate(BYTE,BYTE); </p><p> void FailExi
32、tGame(); /*游戲失敗*/</p><p> void ExitGame(); /*游戲勝利*/ </p><p> struct Snow </p><p><b> {</b></p><p><b> int x;</b>&l
33、t;/p><p><b> int y;</b></p><p> int speed; </p><p> }snow[100];</p><p> i
34、nt snownum=0;</p><p><b> int size;</b></p><p> int change=10;</p><p> void *save1,*save2;</p><p> void Copy();</p><p> void DrawSnow();<
35、;/p><p> void Pr();</p><p> void load();</p><p> void welcome1();</p><p> void welcome2();</p><p> void welcome3();</p><p> void control();
36、</p><p> void star();</p><p> BOOL Turn[10][10];</p><p> BYTE Mine[10][10];</p><p> BYTE Mark[10][2];</p><p> WORD CursorMode;</p><p><
37、;b> int x,y;</b></p><p> void main()</p><p><b> { int i;</b></p><p> int Total=0;</p><p> BYTE Button;</p><p> BOOL QUIT=FALS
38、E;</p><p> time_t lt; /*定義時(shí)間變量*/</p><p> star(); /*調(diào)用游戲前景動(dòng)畫(huà)函數(shù)*/</p><p> if (!InitMouse())</p><p><b> {</b></p><p> printf("
39、;Mouse not installed!"); /*對(duì)鼠標(biāo)端口進(jìn)行判斷*/</p><p><b> getch();</b></p><p><b> }</b></p><p> clrscr(); /*清屏*/</p><p>
40、CursorHide(); </p><p> randomize(); /*定義取隨機(jī)數(shù)*/</p><p> Locate(36,20); /*定義屏幕坐標(biāo)*/</p><p> printf("Mines:%d ",0); /* Mines表示做標(biāo)記的次數(shù)
41、*/</p><p> lt = time(NULL);</p><p> Locate(15,4); /*定義屏幕坐標(biāo)*/</p><p> printf("The Calendar Time now is %s\n", ctime(& lt));</p><p> for (y=0;y
42、<10;y++)</p><p> for (x=0;x<10;x++)</p><p><b> {</b></p><p> Mine[y][x]=NULL;</p><p> Turn[y][x]=FALSE;</p><p><b> }</b>
43、</p><p> for (i=0;i<10;i++) /*隨機(jī)產(chǎn)生地雷坐標(biāo)*/</p><p><b> {</b></p><p> x=random(10);</p><p> y=random(10);</p><p> while (Min
44、e[y][x])</p><p><b> {</b></p><p> x=random(10);</p><p> y=random(10);</p><p><b> }</b></p><p> Mine[y][x]=MINE; /*定義在有
45、了雷的地方坐標(biāo)值為MINE*/</p><p><b> }</b></p><p> for (y=0;y<10;y++)</p><p> for (x=0;x<10;x++)</p><p><b> {</b></p><p> i=0;
46、 /*判斷每個(gè)格子周?chē)睦讛?shù)*/</p><p> if (Mine[y][x]!=MINE)</p><p><b> {</b></p><p> if ((Mine[y][x-1]==MINE)&&((x-1)>=0)) i++;</p><p> i
47、f ((Mine[y][x+1]==MINE)&&((x+1)<10)) i++;</p><p> if ((Mine[y-1][x]==MINE)&&((y-1)>=0)) i++;</p><p> if ((Mine[y+1][x]==MINE)&&((y+1)<10)) i++;</p><
48、p> if ((Mine[y-1][x-1]==MINE)&&((x-1)>=0)&&((y-1)>=0)) i++;</p><p> if ((Mine[y-1][x+1]==MINE)&&((x+1)<10)&&((y-1)>=0)) i++;</p><p> if ((Mine[y
49、+1][x+1]==MINE)&&((x+1)<10)&&((y+1)<10)) i++;</p><p> if ((Mine[y+1][x-1]==MINE)&&((x-1)>=0)&&((y+1)<10)) i++;</p><p> Mine[y][x]=i;</p><
50、p><b> }</b></p><p> Prt(x+SX,y+SY,1,15); /*雷區(qū)的圖形和顏色*/</p><p><b> }</b></p><p> MouseShow(); </p><p> while(!QUIT)&l
51、t;/p><p><b> {</b></p><p> if (kbhit()) if (getch()==27) QUIT=TRUE;</p><p> Button=MouseState()&3;</p><p> if (Button)</p><p><b> {
52、</b></p><p> GetXY(&x,&y);</p><p> WaitMouse();</p><p><b> x>>=3;</b></p><p><b> y>>=3;</b></p><p>&l
53、t;b> x-=SX;</b></p><p><b> y-=SY;</b></p><p> if (x>=0&&x<10&&y>=0&&y<10)</p><p><b> {</b></p><p&
54、gt; if (Button&LBUTTON)</p><p><b> {</b></p><p> if (Mine[y][x]==MINE)</p><p> FailExitGame();</p><p> if (Mine[y][x]==NULL)</p><p>
55、Edge(x,y);</p><p><b> else</b></p><p> TurnBack(x,y);</p><p><b> }</b></p><p> if (Button&RBUTTON)</p><p><b> {</
56、b></p><p> if (!(Turn[y][x]&1))</p><p><b> {</b></p><p> switch (Turn[y][x])</p><p><b> {</b></p><p><b> case 0:&
57、lt;/b></p><p> Turn[y][x]=2;</p><p> MouseHide();</p><p> Prt(x+SX,y+SY,'*',15);</p><p> Locate(36,20);</p><p> printf("Mines:%d "
58、;,++Total);</p><p> MouseShow();</p><p> Mark[Total][0]=x;</p><p> Mark[Total][1]=y;</p><p> if (Total==10) ExitGame();</p><p><b> break;</b&
59、gt;</p><p><b> case 2:</b></p><p> Turn[y][x]=0;</p><p> MouseHide();</p><p> Prt(x+SX,y+SY,5,8);</p><p> Locate(36,20);</p><p&
60、gt; printf("Mines:%d ",--Total);</p><p> MouseShow();</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p&g
61、t;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> WaitKey();</p><p>
62、MouseHide();</p><p> CursorShow();</p><p><b> }</b></p><p> BYTE MouseState() /*等待接受鼠標(biāo)命令*/</p><p><b> {</b></p><p>
63、union REGS regs;</p><p> regs.x.ax = 3;</p><p> int86(MOUSE, ®s, ®s); /*鼠標(biāo)端口*/</p><p> return(regs.x.bx); </p><p><b> }</b
64、></p><p> void MouseShow() /*鼠標(biāo)顯示*/</p><p><b> {</b></p><p> union REGS regs;</p><p> regs.x.ax = 1;</p><p> int86(MOUSE
65、, ®s, ®s);</p><p><b> }</b></p><p> void MouseHide() /*鼠標(biāo)隱藏*/</p><p><b> {</b></p><p> union REGS regs;&
66、lt;/p><p> regs.x.ax = 2;</p><p> int86(MOUSE, ®s, ®s);</p><p><b> }</b></p><p> BOOL InitMouse() /*取鼠標(biāo)端口*/</
67、p><p><b> {</b></p><p> union REGS regs;</p><p> regs.x.ax = 0;</p><p> int86(MOUSE, ®s, ®s);</p><p> return (regs.x.ax);</p
68、><p><b> }</b></p><p> void SetRange(int start_x,int start_y,int end_x,int end_y)</p><p><b> {</b></p><p> union REGS r;</p><p>&l
69、t;b> r.x.ax=7;</b></p><p> r.x.cx=start_x;</p><p> r.x.dx=end_x;</p><p> int86(0x33,&r,&r);</p><p><b> r.x.ax=8;</b></p><p&
70、gt; r.x.cx=start_y;</p><p> r.x.dx=end_y;</p><p> int86(MOUSE,&r,&r);</p><p><b> }</b></p><p> void GetXY(int *x,int *y)</p><p>&l
71、t;b> {</b></p><p> union REGS ireg,oreg;</p><p> ireg.x.ax=3;</p><p> int86(MOUSE,&ireg,&oreg);</p><p> *x=oreg.x.cx;</p><p> *y=ore
72、g.x.dx;</p><p><b> }</b></p><p> void SetXY(int x,int y)</p><p><b> {</b></p><p> union REGS ireg;</p><p> ireg.x.ax=4;</p&
73、gt;<p> ireg.x.cx=x;</p><p> ireg.x.dx=y;</p><p> int86(MOUSE,&ireg,&ireg);</p><p><b> }</b></p><p> void WaitMouse()</p><p&g
74、t;<b> {</b></p><p> int xx,yy;</p><p> while (MouseState())</p><p><b> {</b></p><p> GetXY(&xx,&yy);</p><p> if (xx!=
75、x||yy!=y)</p><p> SetXY(x,y);</p><p><b> }</b></p><p><b> }</b></p><p> void Prt(int x,int y,BYTE ch,BYTE color) /*定義雷區(qū)地址入口*/<
76、;/p><p><b> { </b></p><p> pokeb(0xb800,y*160+x*2,ch);</p><p> pokeb(0xb800,y*160+x*2+1,color);</p><p><b> }</b></p><p> BYTE Scr
77、(int x,int y) /*返回雷區(qū)地址入口*/</p><p><b> {</b></p><p> return peekb(0xb800,y*160+x*2);</p><p><b> }</b></p><p> void Cu
78、rsorHide() /*光標(biāo)隱藏*/</p><p><b> {</b></p><p><b> _AH=3;</b></p><p> geninterrupt(0x10);</p><p> CursorMode=_CX;</
79、p><p><b> _AH=1;</b></p><p><b> _CH=32;</b></p><p> geninterrupt(0x10);</p><p><b> }</b></p><p> void CursorShow()
80、 /*光標(biāo)顯示*/</p><p><b> {</b></p><p><b> _AH=1;</b></p><p> _CX=CursorMode;</p><p> geninterrupt(0x10);</p><
81、p><b> }</b></p><p> void WaitKey()</p><p><b> {</b></p><p><b> _AH=0;</b></p><p> geninterrupt(0x16);</p><p>&l
82、t;b> }</b></p><p> void Edge(int xx,int yy)</p><p><b> {</b></p><p> if (xx<0||xx>9||yy<0||yy>9||Turn[yy][xx]) return;</p><p> Tur
83、nBack(xx,yy);</p><p> if (Mine[yy][xx]==NULL)</p><p><b> {</b></p><p> Edge(xx+1,yy);</p><p> Edge(xx-1,yy);</p><p> Edge(xx,yy+1);</p&
84、gt;<p> Edge(xx,yy-1);</p><p><b> }</b></p><p><b> }</b></p><p> void TurnBack(int xx,int yy)</p><p><b> {</b></p>
85、<p> if (!Turn[yy][xx])</p><p><b> {</b></p><p> MouseHide();</p><p> Prt(xx+SX,yy+SY,Mine[yy][xx]+48,12);</p><p> MouseShow();</p><p
86、> Turn[yy][xx]=Turn[yy][xx]||1;</p><p><b> }</b></p><p><b> }</b></p><p> void Locate(BYTE Col,BYTE Line)</p><p><b> {</b>&l
87、t;/p><p> pokeb(0x0,0x450,Col);</p><p> pokeb(0x0,0x451,Line);</p><p><b> }</b></p><p> void FailExitGame()</p><p> {
88、 /*顯示游戲失敗*/</p><p> sound(1000);</p><p> delay(500);</p><p> nosound();</p><p> for (y=0;y<10;y++)</p><p> for (x=0;x<10;x++)</p>&
89、lt;p> if (Mine[y][x]==MINE) Prt(x+SX,y+SY,'*',14+128);</p><p> MouseHide();</p><p> CursorShow();</p><p> printf("\nFail!\n");</p><p><b>
90、 getch();</b></p><p><b> exit(0);</b></p><p><b> }</b></p><p> void ExitGame() /*顯示游戲勝利*/ </p><p><b> {&
91、lt;/b></p><p> int i,m=0;</p><p> for (i=0;i<10;i++)</p><p> if (Mine[Mark[i][1]][Mark[i][0]]) m++;</p><p> if (m<9) FailExitGame();</p><p>
92、MouseHide();</p><p> CursorShow();</p><p> printf("\nOK,Good!\n");</p><p><b> getch();</b></p><p><b> exit(0);</b></p><
93、p><b> }</b></p><p> /* /////// 開(kāi)機(jī) ////// */</p><p> void star()</p><p> {int gd=DETECT,gm;</p><p> initgra
94、ph(&gd,&gm,"c:\\turboc2");</p><p><b> Copy();</b></p><p> DrawSnow();</p><p> welcome1();</p><p> welcome2();</p><p> we
95、lcome3();</p><p> control();</p><p> closegraph(); /*關(guān)閉圖形函數(shù)*/</p><p><b> }</b></p><p> void Copy()</p><p><b>
96、{</b></p><p> setcolor(0); /*涂色*/</p><p> setfillstyle(SOLID_FILL,15); </p><p> fillellipse(200,200,1,1); /*畫(huà)橢圓*/</p><p> size=
97、imagesize(196,196,204,204);</p><p> save1=malloc(size);</p><p> save2=malloc(size);</p><p> getimage(196,196,204,204,save1);</p><p> getimage(96,96,104,104,save2);&
98、lt;/p><p><b> }</b></p><p><b> void Pr()</b></p><p><b> {</b></p><p> int s[]={392,262,262,262,330,392,392,392,392,392,330,330,294,
99、294,330,294,262,440,392,</p><p> 392,262,262,262,330,392,392,392,392,392,330,330,294,294,330,294,262,440,392};</p><p> /*定義聲音函數(shù)數(shù)組*/</p><p> setcolor(change); /*字體
100、顏色變換*/</p><p> settextstyle(0,0,4); /*字體大小*/</p><p> outtextxy(150,200,"Welcome to"); /*在屏幕上打印字符*/</p><p> outtextxy(200,240,"C Game!");<
101、/p><p> sound(s[change/10]); /*釋放聲音*/</p><p><b> }</b></p><p> void DrawSnow()</p><p><b> {int i;</b></p><p> int
102、sx[62];</p><p> randomize();</p><p> for(i=0;i<62;i++)</p><p> sx[i]=(i+2)*10;</p><p> cleardevice(); /*清屏*/</p><p> while(!kbhit())<
103、/p><p><b> {</b></p><p><b> Pr();</b></p><p> if(snownum!=100)</p><p><b> {</b></p><p> snow[snownum].speed=2+random(
104、5);</p><p> i=random(62);</p><p> snow[snownum].x=sx[i];</p><p> snow[snownum].y=10-random(100);</p><p><b> }</b></p><p> for(i=0;i<sno
105、wnum;i++)</p><p> putimage(snow[i].x,snow[i].y,save2,COPY_PUT);</p><p> Pr(); if(snownum!=100)</p><p> snownum++;else if(snownum>15) break;</p><p> delay(300);&l
106、t;/p><p> setfillstyle(SOLID_FILL,15);</p><p> for(i=0;i<snownum;i++)</p><p><b> {</b></p><p> snow[i].y+=snow[i].speed;</p><p> putimage(
107、snow[i].x,snow[i].y,save1,COPY_PUT);</p><p> if(snow[i].y>500)</p><p> snow[i].y=10-random(200);</p><p><b> }</b></p><p><b> change++;</b>
108、;</p><p> if(change==140)</p><p> change=10;</p><p><b> }</b></p><p> nosound();</p><p><b> }</b></p><p> void w
109、elcome1() </p><p><b> {int a;</b></p><p> for(a=0;a<450;a++)</p><p> {textbackground(16);</p><p> setcolor(15);&l
110、t;/p><p> circle(315,240,a);</p><p> delay(100);</p><p> setcolor(16);</p><p> circle(315,240,a-10);</p><p><b> }</b></p><p><
111、;b> }</b></p><p> void welcome2()</p><p> {float b;int c;</p><p> for(b=0;b<320;b=b+0.5)</p><p> {setcolor(11);</p><p> rectangle(0,240,b
112、,240);</p><p> rectangle(630,240,640-b,240);</p><p><b> }</b></p><p> for(c=0;c<240;c++)</p><p> {rectangle(0,240,640,240-c);</p><p> r
113、ectangle(0,240,640,240+c);</p><p><b> }</b></p><p><b> }</b></p><p> void welcome3() </p><p> {int x,y=100,i,j;</p><p> for(
114、x=60;x<65;x++)</p><p> {setcolor(4); /*定義要打印字體的顏色*/</p><p> setbkcolor(1); /*定義背景色*/</p><p> settextstyle(0,0,6); /*定義要打印字體的大小*/
115、</p><p> outtextxy(x,y,"掃"); /*在x,y位置打印漢字*/</p><p> delay(6000); /*延時(shí)*/</p><p><b> }</b></p><p> for(x=190;x<195
116、;x++)</p><p> {setcolor(4);</p><p> setbkcolor(1);</p><p> settextstyle(0,0,6);</p><p> outtextxy(x,y,"雷");</p><p> delay(6000);}</p>
117、<p> for(x=320;x<325;x++)</p><p> {setcolor(4);</p><p> setbkcolor(1);</p><p> settextstyle(0,0,6);</p><p> outtextxy(x,y,"游");</p><p
118、> delay(6000);}</p><p> for(x=480;x<485;x++)</p><p> {setcolor(4);</p><p> setbkcolor(1);</p><p> settextstyle(0,0,6);</p><p> outtextxy(x,y,&q
119、uot;戲");</p><p> delay(6000);}</p><p> sleep(0.5);</p><p> setcolor(4);</p><p> settextstyle(0,0,2);</p><p> outtextxy(130,205,"制作組人員:范金龍 閆佳
120、佳");</p><p> outtextxy(230,250,"傾");</p><p> for(i=0;i<10;i=i+1)</p><p> {for(j=0;j<i/2;j=j+1)</p><p> {setcolor(4);</p><p> setb
121、kcolor(14); </p><p> circle(282-j,256-j,i); /*畫(huà)圓*/</p><p> circle(286+j,256-j,i);</p><p> delay(20);}</p><p><b> }</b></p><p> o
122、uttextxy(315,250,"打");</p><p> outtextxy(350,250,"造");</p><p> outtextxy(200,280,"1 . star the game");</p><p> outtextxy(200,310,"2 . exit patt
123、ern");</p><p> outtextxy(550,450,"V1.90");</p><p><b> }</b></p><p> void control() /*從鍵盤(pán)接受命令函數(shù)*/</p><p><b> {int key
124、;</b></p><p> key=getch();</p><p> switch(key) /*等待接受命令*/</p><p> {case '1':load();break;</p><p> case '2':exit(0);</p>
125、<p> default:exit(0);</p><p><b> }</b></p><p><b> }</b></p><p> void load()</p><p><b> {float k;</b></p><p>
126、 setcolor(4);</p><p> rectangle(205,365,392,381);</p><p> outtextxy(220,350,"loading...");</p><p> for(k=0;k<187;k=k+0.2)</p><p> {rectangle(205,365,20
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 掃雷游戲程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- 掃雷游戲課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--掃雷游戲報(bào)告
- c++掃雷課程設(shè)計(jì)報(bào)告
- 掃雷課程設(shè)計(jì)--掃雷程序設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告-掃雷小游戲
- java課程設(shè)計(jì)-掃雷游戲
- c程序課程設(shè)計(jì)報(bào)告(24點(diǎn)游戲)
- java掃雷游戲課程設(shè)計(jì)
- 掃雷小游戲課程設(shè)計(jì)
- mfc課程設(shè)計(jì)———利用vc++程序編寫(xiě)掃雷游戲
- android平臺(tái)掃雷游戲課程設(shè)計(jì)
- 基于java的掃雷游戲課程設(shè)計(jì)
- 計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)——掃雷游戲程序設(shè)計(jì)
- 擲骰子游戲-c語(yǔ)言程序課程設(shè)計(jì)
- c課程設(shè)計(jì)報(bào)告-打字游戲
- c語(yǔ)言程序課程設(shè)計(jì)-猜數(shù)字游戲
- c++課程設(shè)計(jì)---吃豆子游戲程序
- 掃雷畢業(yè)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論