計算機(jī)技術(shù)基礎(chǔ)(c語言)課程設(shè)計--小蟲子挖隧道_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  計算機(jī)技術(shù)基礎(chǔ)課程設(shè)計</p><p><b>  C語言</b></p><p><b>  設(shè)計報告</b></p><p><b>  題目:小蟲子挖隧道</b></p><p><b>  一、選題背景:</b></p&

2、gt;<p>  1、問題提出:通過c語言的學(xué)習(xí)和對程序設(shè)計的興趣,使我很想設(shè)計一個小程序,使自己對程序設(shè)計有更深的認(rèn)識,來充實一下這學(xué)期的學(xué)習(xí)。</p><p>  2、在這個程序中應(yīng)用了c語言中的一些基本知識,來運行出一個應(yīng)用方向鍵的小程序。</p><p><b>  二、設(shè)計思路:</b></p><p>  1、 練習(xí)進(jìn)

3、行圖形的界面處理,通過語句include<graphics.h>將庫函數(shù)引出,通過init( )函數(shù)初始化圖形系統(tǒng),編寫相應(yīng)的的功能函數(shù)完成大嘴巴的效果,通過循環(huán)響應(yīng) 。</p><p>  2、在實現(xiàn)過程中,通過調(diào)用蟲子嘴巴函數(shù)和四個方向移動函數(shù),可以看到在設(shè)計的背景顏色下以張著大嘴巴挖出隧道移動。</p><p><b>  3、主要應(yīng)用如下:</b>

4、;</p><p>  pieslice 繪制并填充一個扇形</p><p>  setfillstye 設(shè)置填充模式和顏色</p><p>  #include 文件包含初始化圖形系統(tǒng)</p><p>  for

5、 循環(huán)</p><p>  initgraph 初始化圖形系統(tǒng)</p><p>  closegraph 關(guān)閉初始化圖形系統(tǒng)</p><p>  setbkcolor 設(shè)計背景顏色</p><p>  putpixel

6、 在指定位置畫一像素</p><p><b>  真</b></p><p><b>  假</b></p><p><b>  假</b></p><p><b>  真</b></p><p><b>  假

7、</b></p><p><b>  假</b></p><p><b>  四:程序清單:</b></p><p>  #include <graphics.h></p><p>  #include <stdio.h></p><p>

8、  #include <time.h></p><p>  #include <dos.h></p><p>  #define maxx 640</p><p>  #define maxy 480</p><p>  #define minx 0</p><p>  #defin

9、e miny 0</p><p>  #define midx 0</p><p>  #define midy 0</p><p>  #define r 15</p><p><b>  main()</b></p><p><b>  {</b><

10、/p><p>  int i,x,y;</p><p>  char c; /*定義變量*/</p><p>  init(); /*調(diào)用圖形初始化函數(shù)*/</p><p>  ground();

11、 /*調(diào)用畫土地函數(shù)*/</p><p><b>  x=320;</b></p><p><b>  y=240;</b></p><p>  dazuir(x,y,13); /*調(diào)用畫蟲子函數(shù)*/</p&g

12、t;<p><b>  c=' ';</b></p><p>  while(c!='\015')</p><p><b>  {</b></p><p>  c=getch();</p><p><b>  switch(c)</b&g

13、t;</p><p><b>  {</b></p><p><b>  case'M':</b></p><p><b>  {</b></p><p>  dazui(x,y,13); /*調(diào)用合上嘴巴

14、函數(shù)*/</p><p>  delay(2000); /*延遲2000毫秒*/</p><p>  dazui(x,y,0); /*調(diào)用合上嘴巴函數(shù)*/</p><p>  x=x+15;

15、 /*嘴巴前進(jìn)*/</p><p>  delay(1000); /*延遲1000毫秒*/</p><p>  dazuir(x,y,13); /*調(diào)用向右嘴巴函數(shù)*/</p><p><b>  break;</b>&l

16、t;/p><p><b>  }</b></p><p><b>  case'H':</b></p><p><b>  {</b></p><p>  dazui(x,y,13); /*調(diào)用合上嘴巴函數(shù)*/

17、</p><p>  delay(2000); /*延遲2000毫秒*/</p><p>  dazui(x,y,0); /*調(diào)用合上嘴巴函數(shù)*/</p><p>  y=y-15;

18、 /*移動嘴巴位置*/</p><p>  delay(1000); /*延遲1000毫秒*/</p><p>  dazuit(x,y,13); /*調(diào)用向上嘴巴函數(shù)*/</p><p><b>  break;</b><

19、/p><p><b>  }</b></p><p><b>  case'K':</b></p><p><b>  {</b></p><p>  dazui(x,y,13); /*調(diào)用合上嘴巴函數(shù)*/&l

20、t;/p><p>  delay(2000); /*延遲2000毫秒*/</p><p>  dazui(x,y,0); /*調(diào)用合上嘴巴函數(shù)*/</p><p>  x=x-15;

21、/*移動嘴巴位置*/</p><p>  delay(1000); /*延遲1000毫秒*/</p><p>  dazuil(x,y,13); /*調(diào)用向左嘴巴函數(shù)*/</p><p><b>  break;</b></p

22、><p><b>  }</b></p><p><b>  case'P':</b></p><p><b>  {</b></p><p>  dazui(x,y,13); /*調(diào)用合上嘴巴函數(shù)*/<

23、/p><p>  delay(2000); /*延遲2000毫秒*/</p><p>  dazui(x,y,0); /*調(diào)用合上嘴巴函數(shù)*/</p><p>  y=y+15; /*

24、移動嘴巴位置*/</p><p>  delay(1000); /*延遲1000毫秒*/</p><p>  dazuib(x,y,13); /*調(diào)用向下嘴巴函數(shù)*/</p><p><b>  break;</b></p&g

25、t;<p><b>  }</b></p><p>  default :;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  

26、init() /*定義初始化圖形系統(tǒng)函數(shù)*/</p><p><b>  {</b></p><p>  int gdriver=DETECT;</p><p>  int gmobe;</p><p>  initgraph(&gdrive

27、r,&gmobe,"c:\\tc\\bgi"); /*初始化圖象系統(tǒng)*/</p><p>  setbkcolor(0); /*定義背景為黑色*/</p><p><b>  return;</b></p><p><b>  }</b>

28、</p><p>  ground() /*畫綠地函數(shù)*/</p><p><b>  {</b></p><p>  int i,rx,ry;</p><p>  for(i=1;i<=2000;i++)

29、 /*循環(huán)系統(tǒng)語句*/</p><p>  putpixel(rand()%maxx,rand()%maxy,2); /*在指定位置畫一像素*/</p><p>  for(i=1;i<=1000;i++)</p><p><b>  {</b></p><p>  rx=rand()%maxx;&l

30、t;/p><p>  ry=rand()%maxy; /*隨機(jī)位置畫一像素*/</p><p>  putpixel(rx,ry,12);</p><p>  putpixel(rx+1,ry,12);</p><p>  putpixel(rx+1,ry+1,12);

31、 /*在三個相鄰位置畫像素*/</p><p><b>  }</b></p><p>  for(i=1;i<=20000;i++)</p><p>  putpixel(rand()%maxx,rand()%maxy,10); /*在指定位置畫一像素*/</p><p><b>

32、;  return;</b></p><p><b>  }</b></p><p>  dazui(int x,int y,int lcolor) /*在x,y處以lcolor色畫合上大嘴巴*/</p><p><b>  {</b></p><p>  setcolor(

33、lcolor); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  setfillstyle(1,lcolor); /*設(shè)置填充模式和顏色*/</p><p>  pieslice(x,y,0,360,r); /*繪制并填充一個扇形*/</p><

34、p>  setlinestyle(0,0,3); /*設(shè)置當(dāng)前畫線寬度和類型*/</p><p>  setcolor(0); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  circle(x+4,y-6,2); /*在給定半徑以(x,y)為圓心畫圓*

35、/</p><p><b>  return;</b></p><p><b>  }</b></p><p>  dazuir(int x,int y,int lcolor) /*在x,y處以lcolor色向右的大嘴巴*/</p><p><b>  {</b>&l

36、t;/p><p>  setcolor(lcolor); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  setfillstyle(1,lcolor); /*設(shè)置填充模式和顏色*/</p><p>  pieslice(x,y,30,330,r);

37、 /*繪制并填充一個扇形*/</p><p>  setlinestyle(0,0,3); /*設(shè)置當(dāng)前畫線寬度和類型*/</p><p>  setcolor(0); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  circle(x+4,y-6,2);

38、 /*在給定半徑以(x,y)為圓心畫圓*/</p><p><b>  return;</b></p><p><b>  }</b></p><p>  dazuil(int x,int y,int lcolor) /*在x,y處以lcolor色向左的大嘴巴*/</p><

39、;p><b>  {</b></p><p>  setcolor(lcolor); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  setfillstyle(1,lcolor); /*設(shè)置填充模式和顏色*/</p><p>  pieslice(x,y

40、,210,360,r); /*繪制并填充一個扇形*/</p><p>  pieslice(x,y,0,150,r); /*繪制并填充一個扇形*/</p><p>  setlinestyle(0,0,3); /*設(shè)置當(dāng)前畫線寬度和類型*/</p><

41、p>  setcolor(0); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  circle(x-4,y-6,2); /*在給定半徑以(x,y)為圓心畫圓*/</p><p><b>  return;</b></p><p><b> 

42、 }</b></p><p>  dazuit(int x,int y,int lcolor) /*在x,y處以lcolor色向上的大嘴巴*/</p><p><b>  {</b></p><p>  setcolor(lcolor); /*設(shè)置當(dāng)前畫線顏色*/</

43、p><p>  setfillstyle(1,lcolor); /*設(shè)置填充模式和顏色*/</p><p>  pieslice(x,y,120,360,r); /*繪制并填充一個扇形*/</p><p>  pieslice(x,y,0,60,r); /

44、*繪制并填充一個扇形*/</p><p>  setlinestyle(0,0,3); /*設(shè)置當(dāng)前畫線寬度和類型*/</p><p>  setcolor(0); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  circle(x-7,y-6,2);

45、 /*在給定半徑以(x,y)為圓心畫圓*/</p><p><b>  return;</b></p><p><b>  }</b></p><p>  dazuib(int x,int y,int lcolor) /*在x,y處以lcolor色向下的大嘴巴*/</p><p

46、><b>  {</b></p><p>  setcolor(lcolor); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  setfillstyle(1,lcolor); /*設(shè)置填充模式和顏色*/</p><p>  pieslice(x,y,0

47、,240,r); /*繪制并填充一個扇形*/</p><p>  pieslice(x,y,300,360,r); /*繪制并填充一個扇形*/</p><p>  setlinestyle(0,0,3); /*設(shè)置當(dāng)前畫線寬度和類型*/</p><p&

48、gt;  setcolor(0); /*設(shè)置當(dāng)前畫線顏色*/</p><p>  circle(x+7,y+6,2); /*在給定半徑以(x,y)為圓心畫圓*/</p><p><b>  return;</b></p><p><b>  }

49、</b></p><p>  五、主要解決問題的方法及技術(shù)要求:</p><p>  主要用函數(shù)和循環(huán)函數(shù),結(jié)合背景設(shè)計,用pieslice,selfillstyle畫扇形,并成為大嘴巴的電子形象。</p><p><b>  六、設(shè)計結(jié)果說明:</b></p><p>  設(shè)計優(yōu)點:該程序運用了所學(xué)到的基

50、本知識,通過宏定義和多次的調(diào)用函數(shù),淺顯易懂,運行后比較生動,達(dá)到了設(shè)計的初衷??催^的人可以很清楚明白,并且可以通過改變程序的設(shè)計背景,達(dá)到意想的效果 。</p><p>  設(shè)計不足:此程序不是游戲模式,只是一個運用所學(xué)過的知識,運行出一個可通過鍵盤調(diào)節(jié)的小程序。</p><p>  設(shè)計改進(jìn):如果通過更深入的學(xué)習(xí),可以嘗試把此程序設(shè)計在音效之下,并改進(jìn)成游戲模式。</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論