版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
純真童趣的《泡泡堂》,還有武林情仇,笑傲江湖的《劍俠情緣on
line》.它是e時代常談的話題,是交互式娛樂的主力軍,是一種
高層次的綜合藝術(shù),更是一個民族的文化,世界觀的全新傳播方式
.作為游戲玩家的我們,是不是想設(shè)計(jì)一個屬于自己的游戲呢?
愛玩是人的天性,而C語言是我們計(jì)算機(jī)專業(yè)都要學(xué)習(xí)的一門基礎(chǔ)
學(xué)科.一般來說,是比較枯燥的.那么,我們能不能通過編一些小
游戲來提高它的趣味性呢?這樣學(xué)習(xí)程序設(shè)計(jì),就不會是一件艱苦
,枯燥的事,它變得象電腦游戲一樣充滿好奇,富有樂趣.這正是
我發(fā)貼的目的.
1,總是從Hello,world開始
學(xué)習(xí)編程的第一個程序,一般就是打印一個親切的詞語——"Hell
o,world!".讓我們來看看這個最簡單的C程序:
#incolude<stdio.h>/*把輸入輸出函數(shù)的頭文件包含進(jìn)來*/
intmain()
{
printf("Hello,
world!");/*在屏幕上輸出字符串"Hell距離,再畫出該物體.讓我們看到以下代碼:
gotoxy(man.x,man.y);/*把光標(biāo)移到指定的坐標(biāo)*/
printf("");/*輸出一個空格,把先前的字符擦去*/
然后我們讓物體按其速度運(yùn)動:
man.x+=man.xv;/*水平方向按x軸的速度運(yùn)動*/
man.y+=man.yv;/*垂直方向按y軸的速度運(yùn)動*/
運(yùn)動后還要判斷物體是否出界,如果出了界,就令物體反彈,即讓
它下一刻的速度等于現(xiàn)在的速度的相反數(shù).最后打印出這個笑臉:
gotoxy(man.x,man.y);
printf("%c\b",2);/*輸出ASCII碼值為2的"笑臉"字符*/
怎么樣?是不是很有趣呢?不過這個笑臉一直是自己運(yùn)動,能不能
讓我們來控制它運(yùn)動呢?答案是肯定的,讓我們繼續(xù)往下學(xué)吧!
3,交互的實(shí)現(xiàn)——讓我們來控制笑臉運(yùn)動
這個程序的主要功能是接受按鍵,如果接收的是方向鍵,就讓笑臉
順著方向移動,如果接收的是ESC鍵就退出程序,其他按鍵則忽略
處理.接受按鍵我們用以下兩條語句:
while(bioskey(1)==0);/*等待按鍵*/
key=bioskey(0);/*把接收的按鍵的鍵盤碼賦給變量key*/
然后用switch語句來判斷按鍵以及執(zhí)行相關(guān)操作,如下:
switch(key)/*對變量key的值進(jìn)行判斷*/
{
caseUP:/*如果按的是向上鍵*/
…break;/*讓物體向上運(yùn)動,并退出switch*/
caseDOWN:/*如果按的是向下鍵*/
…break;/*讓物體向下運(yùn)動,并退出switch*/
caseLEFT:/*向左鍵*/
…break;;/*向左運(yùn)動*/
caseRIGHT:/*向右鍵*/
…break;/*向右運(yùn)動*/
default:
break;/*其他按鍵則忽略處理*/
}
怎么樣,是不是有了玩游戲的感覺了?不過這個程序沒有什么目的
,也沒有什么判斷勝負(fù)的條件.下面我們就利用這個能控制它移動
的笑臉來做一個更有趣的游戲吧!
4,在迷宮中探索
小時侯,我常在一些小人書和雜志上看見一些迷宮的游戲,非常喜
歡玩,還常到一些書上找迷宮玩呢.好的,現(xiàn)在我們用C語言來編
個迷宮的游戲,重溫一下童年的樂趣.
首先,我們定義一個二維數(shù)組map,用它來保存迷宮的地圖,其中m
ap[x][y]=='#'表示在(x,y)坐標(biāo)上的點(diǎn)是墻壁.DrawMap函數(shù)
在屏幕上輸出迷宮的地圖和一些歡迎信息.
在main函數(shù)里,我們定義了"小人"man的坐標(biāo)和"目的地"des的
坐標(biāo).在游戲循環(huán)中,我們增加了一些用來判斷勝負(fù)的語句:
if(man.x==des.x&&man.y==des.y)/*如果人的坐標(biāo)等于目
的地的坐標(biāo)*/
{
gotoxy(35,3);
printf("Ok!Youwin!");/*輸出勝利信息*/
….
}
在判斷按鍵時,如果玩家按的是方向鍵,我們還要先判斷前面是不
是有"墻壁",如果有的話,就不能往前移動了.好的,我們在判
斷按鍵的switch語句的各個分支加上了判斷語句,如下:
if(map[…][…]=='#')break;/*如果前面是墻壁,就不執(zhí)行
下去*/
哇噻!真棒,我們做出了一個完整的游戲了.當(dāng)然你還可以通過修
改二維數(shù)組map來修改迷宮的地圖,讓它更有挑戰(zhàn)性.不過,我們
要設(shè)計(jì)一個更好玩的游戲——
5,聰明的搬運(yùn)工
大家一定玩過"搬運(yùn)工"的游戲吧!這是在電腦和電子字典上較流
行的益智游戲,讓我們動手做一個屬于自己的"搬運(yùn)工"吧!
程序依然用數(shù)組map來保存地圖,數(shù)組元素如果為空格則表示什么
也沒有,'b'表示箱子,'#'表示墻壁,'*'表示目的地,'i
'表示箱子在目的地.我們以后每推一下箱子,不但要改變屏幕的
顯示,也要改變map相應(yīng)元素的值.
游戲的主循環(huán)依然是接受按鍵.當(dāng)接收一個方向鍵,需要判斷小人
前面一格的狀態(tài),如果是空地或目的地,則人物可以直接移動;如
果是墻壁,則不可移動;如果是箱子或目的地上的箱子,則需要繼
續(xù)判斷箱子前面一格的狀態(tài):如果前一格是空地或目的地,則人推
箱子前進(jìn),否則不可移動.好的,我們在switch中增加了這些判斷
語句.
程序還有一個重要的功能就是判斷勝利.數(shù)組Des用來記錄全部目
的地的坐標(biāo),我們每執(zhí)行一步操作后,程序就要通過Des數(shù)組判斷
這些目的地上是否都有箱子了.
真棒啊!我們可以做游戲了.而且是一個老少皆宜,趣味十足的游
戲呢!當(dāng)然,我們可以通過修改map數(shù)組來制作不同的游戲地圖,
我們還可以相互分享好的游戲地圖呢.
尾聲:
在C++等高級語言還沒出來的時候,很多應(yīng)用程序也是C語言開發(fā)的
.C語言在與硬件聯(lián)系緊密的編程中,也占有重要地位.
其實(shí)我覺得學(xué)習(xí)編程,可以通過一些小游戲,實(shí)用的例子來學(xué)習(xí).
象學(xué)習(xí)音樂的人,不是要等到把全部樂理學(xué)完后才演奏一個完整的
曲子.
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豐子愷楊柳課件
- 孟子成語 課件
- 第二單元(復(fù)習(xí))-二年級語文上冊單元復(fù)習(xí)(統(tǒng)編版)
- 西京學(xué)院《融媒體新聞編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《劇本創(chuàng)作》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《工程定額原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《語文學(xué)科教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 《畫世界名畫》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 西華師范大學(xué)《數(shù)學(xué)物理方法》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《軟件及應(yīng)用》2022-2023學(xué)年期末試卷
- 醫(yī)療廢物泄露的應(yīng)急預(yù)案及處置流程
- 環(huán)境監(jiān)測儀器設(shè)備采購環(huán)境監(jiān)測儀器設(shè)備配送方案
- 廣東省課程思政示范高職院校申報書
- Unit 14 I remember meeting all of you in Grade 7 第1課時公開課教學(xué)設(shè)計(jì)【人教版九年級英語】
- 工程地質(zhì)剖面圖的繪制(正式)
- JJG 707-2014扭矩扳子行業(yè)標(biāo)準(zhǔn)
- 2024醫(yī)保練兵理論知識考試題庫(濃縮500題)
- 三重一大培訓(xùn)課件
- 【增加多場景】員工使用公司車輛協(xié)議
- 單孔腹腔鏡手術(shù)
- 2024年度2024行政復(fù)議法培訓(xùn)
評論
0/150
提交評論