如何用c語(yǔ)言編寫(xiě)小游戲_第1頁(yè)
如何用c語(yǔ)言編寫(xiě)小游戲_第2頁(yè)
如何用c語(yǔ)言編寫(xiě)小游戲_第3頁(yè)
如何用c語(yǔ)言編寫(xiě)小游戲_第4頁(yè)
如何用c語(yǔ)言編寫(xiě)小游戲_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、如何用 c 語(yǔ)言編寫(xiě)小游戲 精品 word 文檔 值得下載 值得擁有 純真童趣的泡泡堂 , 還有武林情仇 ,笑傲江湖的劍俠情緣 online . 它是 e 時(shí)代常談的話題 , 是交互 式娛樂(lè)的主力軍 , 是一種 高層次的綜合藝術(shù) , 更是一個(gè)民族的文 化, 世界觀的全新傳播方式. 作為游戲玩家的我們 , 是不是想設(shè)計(jì)一 個(gè)屬于自己的游戲呢 ?愛(ài)玩是人的天性,而C語(yǔ)言是我們計(jì)算機(jī) 專業(yè)都要學(xué)習(xí)的一門(mén)基礎(chǔ)學(xué)科.一般來(lái)說(shuō),是比較枯燥的.那么,我 們能不能通過(guò)編一些小 游戲來(lái)提高它的趣味性呢 ?這樣學(xué)習(xí)程 序設(shè)計(jì),就不會(huì)是一件艱苦 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下

2、載 值得擁有, 枯燥的事 , 它變得象電腦游戲一樣充滿好奇, 富有樂(lè)趣 . 這正是 我發(fā)貼的目的 .1, 總是從 Hello,world 開(kāi)始 學(xué)習(xí)編程的第一個(gè)程序 , 一般就是打印 一個(gè)親切的詞語(yǔ) "Hell o,world!". 讓我們來(lái)看看這個(gè)最簡(jiǎn)單的C程序:#incolude <stdio.h> /* 把輸入輸出函 數(shù)的頭文件包含進(jìn)來(lái) */int main()printf("Hello, 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 world!");/* 在屏幕上輸出字符串 "Hell

3、 o,world!"*/return 0;/* 退出 main 函數(shù), 并返回 0*/ 面我們發(fā)現(xiàn)幾個(gè)值得改進(jìn)的地方 ,1,程序的運(yùn)行結(jié)果一閃而過(guò).2, 每執(zhí)行這個(gè)程序一次都能看見(jiàn)上次 運(yùn)行留下的字符 .3, 我們 還希望屏幕輸出一個(gè)笑臉來(lái)歡迎我們 .( 大家不要小看了這個(gè)笑臉 曾經(jīng)有人發(fā)貼專門(mén)問(wèn)呢 ) 讓我們來(lái)改進(jìn) 一下這個(gè)程序吧 !1, 在 return 語(yǔ)句的前面加一句 :getch 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 ();, 表示按任意鍵結(jié)束 .2, 在 printf 語(yǔ)句前用 clrscr 函數(shù)清 屏, 要使用這個(gè)函數(shù)和 g

4、etch 函數(shù), 需要在程序開(kāi)頭再包含頭文件 c onio.h.3,ASCII 碼也有 許多非常好玩的字符 , 比如 ASCII 碼值為 2 的就是一個(gè)笑臉 , 我們可 以用 printf("%c", 2) 來(lái)輸出一個(gè)笑臉 . 現(xiàn)在我們把 Hello,world 程序改成一個(gè) 更好看的 Hello,world 了. 下面讓我們開(kāi)始做游戲吧 !2, 心動(dòng)的開(kāi)始 , 一個(gè)運(yùn)動(dòng)中的笑臉 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 大家小時(shí)侯喜歡看動(dòng)畫(huà)片嗎 ?哈哈, 我猜 你們都喜歡吧 ! 下面就讓 我們來(lái)做一個(gè)小動(dòng)畫(huà)吧 . 在屏幕上顯示 一

5、個(gè)運(yùn)動(dòng)的小笑臉 , 而且當(dāng) 它到達(dá)屏幕的邊緣時(shí)會(huì)自動(dòng)彈回來(lái) . 先在程序定義一個(gè)在屏幕中運(yùn)動(dòng)的點(diǎn)的 結(jié)構(gòu):struct move_pointint x, y;/* 該點(diǎn)的位置 , 包括 x坐標(biāo)和 y 坐標(biāo) */int xv, yv;/* 該點(diǎn)在x軸,y軸的速度*/ 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 ; 運(yùn)動(dòng)的原理是 , 先擦去物體先前的軌跡 , 讓物體按其速度移動(dòng)一段 距離, 再畫(huà)出該物體 .讓我們看到以下代 碼: gotoxy(man.x, man.y);/* 把光標(biāo)移到 指定的坐標(biāo) */ printf(" ");/*輸出

6、一個(gè)空格 , 把先前的字符擦去 */ 然后我們讓物體按其速度運(yùn)動(dòng) : man.x += man.xv;/* 水平方向按 x 軸的 速度運(yùn)動(dòng) */ man.y += man.yv;/* 垂直方向按 y 軸的 速度運(yùn)動(dòng) */ 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 運(yùn)動(dòng)后還要判斷物體是否出界 , 如果出 了界,就令物體反彈 ,即讓 它下一刻的速度等于現(xiàn)在的速度的相反 數(shù). 最后打印出這個(gè)笑臉 : gotoxy(man.x, man.y);printf("%cb", 2); /* 輸出 ASCII 碼值為 2 的" 笑臉&qu

7、ot;字符*/ 怎么樣 ?是不是很有趣呢 ?不過(guò)這個(gè)笑臉 一直是自己運(yùn)動(dòng) , 能不能 讓我們來(lái)控制它運(yùn)動(dòng)呢 ?答案是肯定的 , 讓我們繼續(xù)往下學(xué)吧 !3, 交互的實(shí)現(xiàn)讓我們來(lái)控制笑臉 運(yùn)動(dòng) 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 這個(gè)程序的主要功能是接受按鍵 , 如果 接收的是方向鍵 , 就讓笑臉順著方向移動(dòng),如果接收的是ESC鍵就退出程序 , 其他按鍵則忽略處理. 接受按鍵我們用以下兩條語(yǔ)句 :while (bioskey(1) = 0);/*等待按鍵*/ key = bioskey(0);/* 把接收的按鍵的 鍵盤(pán)碼賦給變量 key*/ 然后用

8、switch 語(yǔ)句來(lái)判斷按鍵以及執(zhí)行 相關(guān)操作 , 如下:switch (key) /* 對(duì)變量 key 的值進(jìn)行判 斷*/ 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 case UP: /* 如果按的是向上鍵 */break; /* 讓物體向上運(yùn)動(dòng),并退出 switch*/case DOWN: /*如果按的是向下鍵 */ break; /* 讓物體向下運(yùn)動(dòng) , 并退出 switch*/case LEFT: /* 向左鍵*/ break;/* 向左運(yùn)動(dòng) */case RIGHT: /* 向右鍵*/break;/* 向右運(yùn)動(dòng)*/default:break;

9、/* 其他按鍵則忽略處理 * 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 / 怎么樣, 是不是有了玩游戲的感覺(jué)了 ?不 過(guò)這個(gè)程序沒(méi)有什么目的, 也沒(méi)有什么判斷勝負(fù)的條件 . 下面我們 就利用這個(gè)能控制它移動(dòng) 的笑臉來(lái)做一個(gè)更有趣的游戲吧 !4, 在迷宮中探索 小時(shí)侯, 我常在一些小人書(shū)和雜志上看 見(jiàn)一些迷宮的游戲 , 非常喜 歡玩, 還常到一些書(shū)上找迷宮玩呢 .好的, 現(xiàn)在我們用 C 語(yǔ)言來(lái)編 個(gè)迷宮的游戲 , 重溫一下童年的樂(lè)趣 . 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 首先,我們定義一個(gè)二維數(shù)組map,

10、用它來(lái)保存迷宮的地圖 , 其中 mapxy = '#'表示在 (x,y) 坐標(biāo)上的點(diǎn)是墻壁.DrawMap函數(shù)在屏幕上輸出迷宮的地圖和一些歡迎信息.在main函數(shù)里,我們定義了 "小人"man的坐標(biāo)和 " 目的地 "des 的坐標(biāo). 在游戲循環(huán)中 , 我們?cè)黾恿艘恍┯脕?lái)判斷勝負(fù)的語(yǔ)句 :if (man.x = des.x && man.y = des.y) /* 如果人的坐標(biāo)等于目的地的坐標(biāo) */ 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載值得擁有 gotoxy(35, 3);printf(&

11、quot;Ok! You win!"); /* 輸出勝利信息 */ 在判斷按鍵時(shí) , 如果玩家按的是方向鍵 , 我們還要先判斷前面是不是有"墻壁", 如果有的話 ,就不能往前移 動(dòng)了. 好的, 我們?cè)谂袛喟存I的 switch 語(yǔ)句的各個(gè)分支加上了判斷語(yǔ)句 , 如下:精品if (map ='#') break;/* 如word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有果前面是墻壁 , 就不執(zhí)行下去*/哇噻! 真棒, 我們做出了一個(gè)完整的游戲 了. 當(dāng)然你還可以通過(guò)修改二維數(shù)組map來(lái)修改迷宮的地圖,讓它更有挑戰(zhàn)性.不過(guò),我們

12、 要設(shè)計(jì)一個(gè)更好玩的游戲5, 聰明的搬運(yùn)工大家一定玩過(guò) "搬運(yùn)工"的游戲吧 !這是 在電腦和電子字典上較流 行的益智游戲 , 讓我們動(dòng)手做一個(gè)屬于 自己的 "搬運(yùn)工 "吧!程序依然用數(shù)組map來(lái)保存地圖,數(shù)組元 精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 素如果為空格則表示什么也沒(méi)有,'b'表示箱子:#,表示墻壁,'*'表示目的地,'i ' 表示箱子在目的地 . 我們以后每推一下 箱子, 不但要改變屏幕的 顯示,也要改變map相應(yīng)元素的值. 游戲的主循環(huán)依然是接受按鍵

13、 . 當(dāng)接收 一個(gè)方向鍵 , 需要判斷小人 前面一格的狀態(tài) , 如果是空地或目的地 , 則人物可以直接移動(dòng) ; 如 果是墻壁 , 則不可移動(dòng) ; 如果是箱子或目 的地上的箱子 , 則需要繼 續(xù)判斷箱子前面一格的狀態(tài) : 如果前一 格是空地或目的地 , 則人推精品 word 文檔 值得下載 值得擁有 精品 word 文檔 值得下載 值得擁有 箱子前進(jìn),否則不可移動(dòng) .好的,我們?cè)?switch 中增加了這些判斷 語(yǔ)句.程序還有一個(gè)重要的功能就是判斷勝利 .數(shù)組 Des 用來(lái)記錄全部目的地的坐標(biāo) , 我們每執(zhí)行一步操作后 ,程序就要通過(guò) Des 數(shù)組判斷 這些目的地上是否都有箱子了 .真棒啊!我們可以做游戲了 . 而且是一個(gè)老少皆宜 , 趣味十足的游戲呢!當(dāng)然,我們可以通過(guò)修改map數(shù)組來(lái)制作不同的游戲地圖 , 我們還可以相互分享好的游戲地圖呢 . 精品 word 文檔 值得下載 值得擁有 尾聲:在C+等高級(jí)語(yǔ)言還沒(méi)出來(lái)的時(shí)候,很多 應(yīng)用程序也是C語(yǔ)言開(kāi)發(fā)的.C 語(yǔ)言在與硬件聯(lián)系緊密的編程中 , 也 占有重要地位 .其實(shí)我覺(jué)得學(xué)習(xí)編程 , 可以通過(guò)一些小 游戲, 實(shí)用的例子來(lái)學(xué)習(xí) .象學(xué)習(xí)音樂(lè)的人 , 不是要等到把全部樂(lè) 理學(xué)完后才演奏一個(gè)完整的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論