趣味程序?qū)WC語言ppt課件_第1頁
趣味程序?qū)WC語言ppt課件_第2頁
趣味程序?qū)WC語言ppt課件_第3頁
趣味程序?qū)WC語言ppt課件_第4頁
趣味程序?qū)WC語言ppt課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、興趣程序?qū)WC言語他玩過電腦游戲嗎? 他喜歡電腦游戲嗎?電腦游戲是他生活中的一部分嗎?有的游戲改動過人的終身。 小時候, 游戲是一臺黑白的電視機現(xiàn)真實手柄的這頭,夢境在手柄的那頭。 長大后, 游戲是一枚小小的銅幣現(xiàn)真實搖桿的這頭,夢境在搖桿的那頭。如今啊,游戲是一臺多媒體電腦現(xiàn)真實鼠標的這頭,夢境在鼠標的那頭 當計算機技術給游戲提供了強有力的支持后,一個陌生而又似曾相識的新奇世界展如今人們面前。這里有逝去的童年夢想,有心頭壓制已久的情感;有瘋狂、奧秘,也有腦力和技巧的挑戰(zhàn);有輕松獲得實真實在的知識,也有用“虛擬成就一個別樣的人生。這不是一個神奇的世界嗎?C言語優(yōu)秀的計算機言語 C言語對于計算機

2、科學來說是一種非常重要的言語,也是最受歡迎的言語之一。它具有功能強大、適用范圍廣、運算符簡約明了等優(yōu)點。很多系統(tǒng)軟件就是C言語開發(fā)的,比如UNIX和我們耳熟能詳?shù)腤indows系統(tǒng)。如今要開發(fā)好的運用軟件,離不開“C言語家族包括:VC+、VC#、C+ build等。有人說:初學的程序員用VB、聰明的程序員用delphi、而真正的程序員用VC。從這句話也可以看出C言語的重要性。下面,我們就用編游戲來學習C言語吧!_總是從開場。 學習編程的第一個程序,普通就是打印一個親切的詞語“Hello,world!。讓我們來看看這個最簡單的C程序:#incolude /*把輸入輸出函數(shù)的頭文件包含進來*/in

3、t main()printf(“Hello, world!);/*在屏幕上輸出字符串“Hello,world!*/return 0;/*退出main函數(shù),并前往0*/ 我們發(fā)現(xiàn)幾個值得改良的地方,1、程序的運轉(zhuǎn)結(jié)果一閃而過。2、每執(zhí)行這個程序一次都能看見上次運轉(zhuǎn)留下的字符。3、我們還希望屏幕輸出一個笑臉來歡迎我們。 #include #include /*運用了clrscr和getch函數(shù)*/int main()clrscr();/*清屏函數(shù)*/printf(Hello, world!nn);printf(“%c,2); /*在屏幕上畫一個笑臉,笑臉的ASCII碼是2 */getch();/*

4、接受按鍵,按恣意鍵終了這個程序*/return 0;改良后的程序如下:改良后的程序如下:心動的開場一個運動中的笑臉大家小時侯喜歡看動畫片嗎? 那么我請問大家,動畫和圖片的最大區(qū)別是什么? 沒有錯,動畫之所以有趣,是由于它是會動的,對不對?好的,如今我們就讓屏幕顯示一個會本人挪動的笑臉。是啊,動畫片那么有趣,誰不喜歡呢? 運動的原理是,先擦去物體先前的軌跡,讓物體按其速度挪動一段間隔,再畫出該物體。讓我們看到以下代碼:程序開頭,我們定義了一個在屏幕中運動的點的構(gòu)造類型: struct move_pointint x, y;/*該點的位置,包括x坐標和y坐標*/int xv, yv;/*該點在x軸

5、、y軸的速度*/;1、擦去物體原來的軌跡:gotoxy(man.x, man.y);/*把光標移到指定的坐標*/printf(“ “);/*輸出一個空格,把先前的字符擦去*/2、然后我們讓物體按其速度運動:man.x += man.xv;/*程度方向按x軸的速度運動*/man.y += man.yv;/*垂直方向按y軸的速度運動*/3、最后打印出這個笑臉:gotoxy(man.x, man.y);printf(“%cb, 2); /*輸出ASCII碼值為2的“笑臉字符*/ 運動后還要判別物體能否出界,假設出了界,就令物體反彈,即讓它下一刻的速度等于如今的速度的相反數(shù)。 好的,讓我們看以下代碼:

6、if (man.x = 80 | man.x = 25 | man.y = 0)man.yv = -man.yv;讓將要出界的物體“彈回出。怎樣樣?是不是很有趣呢?不過這個笑臉不斷是本人運動,能不能讓我們來控制它運動呢?答案是一定的,讓我們繼續(xù)往下學吧!的開場讓我們來控制笑臉運動! 這個程序的主要功能是接受按鍵,假設接納的是方向鍵,就讓笑臉順著方向挪動,假設接納的是ESC鍵就退出程序,其他按鍵那么忽略處置。 接受按鍵我們用了bioskey函數(shù),并且用宏定義了一些鍵盤碼,如下:#define ESC 0 x011b#define UP 0 x4800#define DOWN 0 x5000#de

7、fine LEFT 0 x4b00#define RIGHT 0 x4d00讓我們來看游戲的主循環(huán):接受按鍵接受按鍵ESC鍵?判別按鍵退出游戲上下左右鍵?執(zhí)行相關操作無效按鍵?忽略處置While (key != ESC)while (bioskey(1) = 0);/*等待按鍵*/key = bioskey(0);/*把接納的按鍵的鍵盤碼賦給變量key*/switch (key) /*對變量key的值進展判別*/case UP: /*假設按的是向上鍵*/ break; /*讓物體向上運動,并退出switch*/case DOWN: /*假設按的是向下鍵*/ break; /*讓物體向下運動,并

8、退出switch*/case LEFT: /*向左鍵*/ break;/*向左運動*/case RIGHT: /*向右鍵*/ break;/*向右運動*/default:break;/*其他按鍵那么忽略處置*/ 怎樣樣,是不是有了玩游戲的覺得了?不過這個程序沒有什么目的,也沒有什么判別勝負的條件。下面我們就利用這個能控制它挪動的笑臉來做一個更有趣的游戲吧! 游戲一:在 迷宮 中探求小時侯,我常在一些小人書和雜志上看見一些迷宮的游戲,非常喜歡玩,還常到一些書上找迷宮玩呢。好的,如今我們用C言語來編個迷宮的游戲,重溫一下童年的樂趣。 好的,如今我們用一個二維數(shù)組map定義了一個非??岬牡貓D。如下:

9、char map1020 =#,# # #,# # # # #,# # # #,# # # # # # #,# # # # # # #,# # # # # #,# # # # # #,# # #, #; 接著,我們用DrawMap函數(shù)把這個地圖在屏幕上畫出來。void DrawMap()int x = 0, y = 0;for (; y 10; +y)for (x=0; x 20; +x)if (mapyx = #)DrawWall(x, y);在判別按鍵時,假設玩家按的是方向鍵,我們還要先判別前面是不是有“墻壁,假設有的話,就不能往前挪動了。好的,我們在判別按鍵的switch語句的各個分支加

10、上了判別語句,如下:case UP:if (mapman.y - 1man.x = #) break;/*假設人前面是墻壁,就不執(zhí)行下去*/* 否那么讓人向上挪動*/break;人不能穿過墻壁!在main函數(shù)里,我們定義了“小人man的坐標和“目的地des的坐標。在游戲循環(huán)中,我們添加了一些用來判別勝負的語句:if (man.x = des.x & man.y = des.y) /*假設人的坐 標等于目的地的坐標*/gotoxy(35, 3);printf(“Ok! You win!); /*輸出勝利信息*/./*執(zhí)行退出前的其他操作。*/判別玩家能否到達目的地:OK!這個“迷宮的游戲

11、我們曾經(jīng)編好了!下面,我們編一個更好玩的游戲推箱子!游戲二:聰明的“搬運工 大家一定玩過“搬運工的游戲吧!這是在電腦和電子字典上較流行的益智游戲,讓我們動手做一個屬于本人的“搬運工吧! 程序依然用數(shù)組map來保管地圖,數(shù)組元素假設為空格那么表示什么也沒有,b表示箱子,#表示墻壁,*表示目的地,i表示箱子在目的地。我們以后每推一下箱子,不但要改動屏幕的顯示,也要改動map相應元素的值。 char map1010 = , #, # #, # b #, # # #, # # # *#, # # b *#, # b *#, #, ;游戲地圖游戲主循環(huán)接受一個方向鍵后判他人前面一格的形狀空地或目的地?直接挪動墻壁?不可挪動箱子或目的地上的箱子?繼續(xù)判別箱子的前面一格的形狀能否為空地或目的地?是推箱子否不可挪動程序還有一個重要的功能就是判別勝負。數(shù)組Des用來記錄全部目的地的坐標,我們每執(zhí)行一步操作后,程序就要經(jīng)過Des數(shù)組判別這些目的地上能否都有箱子了。 for (i=0, count=0; de

溫馨提示

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

評論

0/150

提交評論