版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
趣味程序?qū)WC語言1精選課件你玩過電腦游戲嗎?你喜歡電腦游戲嗎?電腦游戲是你生活中的一部分嗎?2精選課件有的游戲改變過人的一生。。。3精選課件
小時候,游戲是一臺黑白的電視機——現(xiàn)實在手柄的這頭,夢境在手柄的那頭。4精選課件
長大后,游戲是一枚小小的銅幣——現(xiàn)實在搖桿的這頭,夢境在搖桿的那頭。5精選課件現(xiàn)在啊,游戲是一臺多媒體電腦——現(xiàn)實在鼠標的這頭,夢境在鼠標的那頭……6精選課件當計算機技術給游戲提供了強有力的支持后,一個陌生而又似曾相識的新奇世界展示在人們面前。這里有逝去的童年夢想,有心頭壓抑已久的情感;有瘋狂、神秘,也有腦力和技巧的挑戰(zhàn);有輕松獲得實實在在的知識,也有用“虛擬”成就一個別樣的人生。這不是一個神奇的世界嗎?7精選課件C語言——優(yōu)秀的計算機語言
C語言對于計算機科學來說是一種非常重要的語言,也是最受歡迎的語言之一。它具有功能強大、適用范圍廣、運算符簡潔明了等優(yōu)點。很多系統(tǒng)軟件就是C語言開發(fā)的,比如UNIX和我們耳熟能詳?shù)腤indows系統(tǒng)。現(xiàn)在要開發(fā)好的應用軟件,離不開“C語言家族”(包括:VC++、VC#、C++build等)。有人說:初學的程序員用VB、聰明的程序員用delphi、而真正的程序員用VC。從這句話也可以看出C語言的重要性。8精選課件下面,我們就用編游戲來學習C語言吧!^_^9精選課件Hello,world總是從開始。10精選課件
學習編程的第一個程序,一般就是打印一個親切的詞語——“Hello,world!”。讓我們來看看這個最簡單的C程序:11精選課件#incolude<stdio.h>/*把輸入輸出函數(shù)的頭文件包含進來*/intmain(){ printf(“Hello,world!”);/*在屏幕上輸出字符串“Hello, world!”*/ return0;/*退出main函數(shù),并返回0*/}12精選課件
我們發(fā)現(xiàn)幾個值得改進的地方,1、程序的運行結(jié)果一閃而過。2、每執(zhí)行這個程序一次都能看見上次運行留下的字符。3、我們還希望屏幕輸出一個笑臉來歡迎我們。
13精選課件#include<stdio.h>#include<conio.h>/*使用了clrscr和getch函數(shù)*/intmain(){ clrscr();/*清屏函數(shù)*/ printf("Hello,world!\n\n"); printf(“%c”,2);/*在屏幕上畫一個笑臉, 笑臉的ASCII碼是2*/ getch();/*接受按鍵,按任意鍵結(jié)束這個程序*/ return0;}改進后的程序如下:14精選課件心動的開始——一個運動中的笑臉15精選課件大家小時侯喜歡看動畫片嗎?
那么我請問大家,動畫和圖片的最大區(qū)別是什么?
沒有錯,動畫之所以有趣,是因為它是會動的,對不對?好的,現(xiàn)在我們就讓屏幕顯示一個會自己移動的笑臉。是啊,動畫片那么有趣,誰不喜歡呢?運動的原理是,先擦去物體先前的軌跡,讓物體按其速度移動一段距離,再畫出該物體。讓我們看到以下代碼:16精選課件程序開頭,我們定義了一個在屏幕中運動的點的結(jié)構(gòu)類型:
structmove_point{ intx,y;/*該點的位置,包括x坐標和y坐標*/
intxv,yv;/*該點在x軸、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(“%c\b”,2);/*輸出ASCII碼值為2的“笑臉”字符*/17精選課件運動后還要判斷物體是否出界,如果出了界,就令物體反彈,即讓它下一刻的速度等于現(xiàn)在的速度的相反數(shù)。
好的,讓我們看以下代碼:if(man.x>=80||man.x<=0){ man.xv=-man.xv;}if(man.y>=25||man.y<=0){ man.yv=-man.yv;}讓將要出界的物體“彈”回出。18精選課件怎么樣?是不是很有趣呢?不過這個笑臉一直是自己運動,能不能讓我們來控制它運動呢?答案是肯定的,讓我們繼續(xù)往下學吧!19精選課件交互的開始——讓我們來控制笑臉運動!20精選課件這個程序的主要功能是接受按鍵,如果接收的是方向鍵,就讓笑臉順著方向移動,如果接收的是ESC鍵就退出程序,其他按鍵則忽略處理。
接受按鍵我們用了bioskey函數(shù),并且用宏定義了一些鍵盤碼,如下:#defineESC0x011b#defineUP0x4800#defineDOWN0x5000#defineLEFT0x4b00#defineRIGHT0x4d00讓我們來看游戲的主循環(huán):21精選課件接受按鍵接受按鍵ESC鍵?判斷按鍵退出游戲上下左右鍵?執(zhí)行相關操作無效按鍵?忽略處理22精選課件While(key!=ESC){ while(bioskey(1)==0);/*等待按鍵*/ key=bioskey(0);/*把接收的按鍵的鍵盤碼賦給變量key*/
switch(key)/*對變量key的值進行判斷*/ { caseUP:/*如果按的是向上鍵*/ …break;/*讓物體向上運動,并退出switch*/ caseDOWN:/*如果按的是向下鍵*/ …break;/*讓物體向下運動,并退出switch*/ caseLEFT:/*向左鍵*/ …break;;/*向左運動*/ caseRIGHT:/*向右鍵*/ …break;/*向右運動*/ default: break;/*其他按鍵則忽略處理*/ }}23精選課件
怎么樣,是不是有了玩游戲的感覺了?不過這個程序沒有什么目的,也沒有什么判斷勝負的條件。下面我們就利用這個能控制它移動的笑臉來做一個更有趣的游戲吧!
24精選課件游戲一:在迷宮中探索25精選課件小時侯,我常在一些小人書和雜志上看見一些迷宮的游戲,非常喜歡玩,還常到一些書上找迷宮玩呢。好的,現(xiàn)在我們用C語言來編個迷宮的游戲,重溫一下童年的樂趣。好的,現(xiàn)在我們用一個二維數(shù)組map定義了一個非??岬牡貓D。如下:charmap[10][20]={ "####################", "###", "#############", "#########", "########", "##########", "######", "###########", "###","####################"};26精選課件接著,我們用DrawMap函數(shù)把這個地圖在屏幕上畫出來。voidDrawMap(){ intx=0,y=0; for(;y<10;++y) { for(x=0;x<20;++x) { if(map[y][x]=='#') { DrawWall(x,y); } } }} 27精選課件在判斷按鍵時,如果玩家按的是方向鍵,我們還要先判斷前面是不是有“墻壁”,如果有的話,就不能往前移動了。好的,我們在判斷按鍵的switch語句的各個分支加上了判斷語句,如下:caseUP: if(map[man.y-1][man.x]==‘#’) break;/*如果人前面是墻壁,就不執(zhí)行下去*/ /*否則讓人向上移動*/ break;人不能穿過墻壁!28精選課件在main函數(shù)里,我們定義了“小人”man的坐標和“目的地”des的坐標。在游戲循環(huán)中,我們增加了一些用來判斷勝負的語句:if(man.x==des.x&&man.y==des.y)/*如果人的坐 標等于目的地的坐標*/{
gotoxy(35,3); printf(“Ok!Youwin!”);/*輸出勝利信息*/ …./*執(zhí)行退出前的其他操作。*/}判斷玩家是否到達目的地:29精選課件OK!這個“迷宮”的游戲我們已經(jīng)編好了!下面,我們編一個更好玩的游戲——推箱子!30精選課件游戲二:聰明的“搬運工”31精選課件
大家一定玩過“搬運工”的游戲吧!這是在電腦和電子字典上較流行的益智游戲,讓我們動手做一個屬于自己的“搬運工”吧!32精選課件程序依然用數(shù)組map來保存地圖,數(shù)組元素如果為空格則表示什么也沒有,‘b’表示箱子,‘#’表示墻壁,‘*’表示目的地,‘i’表示箱子在目的地。我們以后每推一下箱子,不但要改變屏幕的顯示,也要改變map相應元素的值。
charmap[10][10]={ "", "####", "###@#", "#b#", "######", "###*#", "##b*#", "#b*#", "########", ""};游戲地圖33精選課件游戲主循環(huán)接受一個方向鍵后判斷人前面一格的狀態(tài)空地或目的地?直接移動墻壁?不可移動箱子或目的地上的箱子?繼續(xù)判斷箱子的前面一格的狀態(tài)是否為空地或目的地?是推箱子否不可移動34精選課件程序還有一個重要的功能就是判斷勝負。數(shù)組Des用來記錄全部目的地的坐標,我們每執(zhí)行一步操作后,程序就要通過Des數(shù)組判斷這些目的地上是否都有箱子了。
for(i=0,co
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商標使用權(quán)轉(zhuǎn)讓合同樣本3篇
- 二零二五年度XX物業(yè)股權(quán)置換合同示范文本3篇
- 二零二五年度汽車租賃合同違約責任書2篇
- 二零二五年度個人土地承包經(jīng)營合作合同范本4篇
- 消防維保合同終止協(xié)議
- 家具買賣合同示范文本
- 二零二五年度道路排水系統(tǒng)改造合同協(xié)議3篇
- 泥工承包合同樣本
- 二零二五版體育用品連鎖店特許加盟經(jīng)營合同范本3篇
- 二零二五版特色商業(yè)園區(qū)委托商鋪招商與產(chǎn)業(yè)融合發(fā)展合同3篇
- 2024年湖南高速鐵路職業(yè)技術學院高職單招數(shù)學歷年參考題庫含答案解析
- 上海鐵路局招聘筆試沖刺題2025
- 國旗班指揮刀訓練動作要領
- 植物芳香油的提取 植物有效成分的提取教學課件
- 三創(chuàng)賽獲獎-非遺文化創(chuàng)新創(chuàng)業(yè)計劃書
- GB/T 679-2002化學試劑乙醇(95%)
- 總則(養(yǎng)牛場環(huán)評報告)
- GB/T 21797-2008化學品有機磷化合物28天重復劑量的遲發(fā)性神經(jīng)毒性試驗
- 旅游文本的翻譯課件
- 最全新能源材料-鋰離子電池材料189張課件
- 封條模板A4直接打印版
評論
0/150
提交評論