導航:首頁 > 編程知識 > 編程出現一個笑臉什麼意思

編程出現一個笑臉什麼意思

發布時間:2023-03-05 00:52:48

㈠ C語言編程:一個運動中的笑臉(C語言高手進)

編譯發生錯誤,gotoxy()是什麼?

㈡ c語言編程 游戲開始之前的界面 點擊play 開始游戲

教程】c語言怎麼編游戲

純真童趣的《泡泡堂》,還有武林情仇,笑傲江湖的《劍俠情緣on

line》.它是e時代常談的話題,是互動式娛樂的主力軍,是一種

高層次的綜合藝術,更是一個民族的文化,世界觀的全新傳播方式

.作為游戲玩家的我們,是不是想設計一個屬於自己的游戲呢?

愛玩是人的天性,而C語言是我們計算機專業都要學習的一門基礎

學科.一般來說,是比較枯燥的.那麼,我們能不能通過編一些小

游戲來提高它的趣味性呢?這樣學習程序設計,就不會是一件艱苦

,枯燥的事,它變得象電腦游戲一樣充滿好奇,富有樂趣.這正是

我發貼的目的.

1, 總是從Hello,world開始

學習編程的第一個程序,一般就是列印一個親切的詞語——"Hell

o,world!".讓我們來看看這個最簡單的C程序:

#incolude <stdio.h> /*把輸入輸出函數的頭文件包含進來*/

int main()

{

printf("Hello,

world!");/*在屏幕上輸出字元串"Hello,world!"*/

return 0;/*退出main函數,並返回0*/

}

下面我們發現幾個值得改進的地方,1,程序的運行結果一閃而過

.2,每執行這個程序一次都能看見上次運行留下的字元.3,我們

還希望屏幕輸出一個笑臉來歡迎我們.(大家不要小看了這個笑臉

曾經有人發貼專門問呢)讓我們來改進一下這個程序吧!

1,在return語句的前面加一句:getch ();,表示按任意鍵結

束.2,在printf語句前用clrscr函數清屏,要使用這個函數和get

ch函數,需要在程序開頭再包含頭文件conio.h.3,ASCII碼也有

許多非常好玩的字元,比如ASCII碼值為2的就是一個笑臉,我們可

以用printf("%c", 2)來輸出一個笑臉.

現在我們把Hello,world程序改成一個更好看的Hello,world了.下

面讓我們開始做游戲吧!

2, 心動的開始,一個運動中的笑臉

大家小時侯喜歡看動畫片嗎?哈哈,我猜你們都喜歡吧!下面就讓

我們來做一個小動畫吧.在屏幕上顯示一個運動的小笑臉,而且當

它到達屏幕的邊緣時會自動彈回來.

先在程序定義一個在屏幕中運動的點的結構:

struct move_point

{

int x, y;/*該點的位置,包括x坐標和y坐標*/

int xv, yv;/*該點在x軸,y軸的速度*/

};

運動的原理是,先擦去物體先前的軌跡,讓物體按其速度移動一段

距離,再畫出該物體.讓我們看到以下代碼:

gotoxy(man.x, man.y);/*把游標移到指定的坐標*/

printf(" ");/*輸出一個空格,把先前的字元擦去*/

然後我們讓物體按其速度運動:

man.x += man.xv;/*水平方向按x軸的速度運動*/

man.y += man.yv;/*垂直方向按y軸的速度運動*/

運動後還要判斷物體是否出界,如果出了界,就令物體反彈,即讓

它下一刻的速度等於現在的速度的相反數.最後列印出這個笑臉:

gotoxy(man.x, man.y);

printf("%c\b", 2); /*輸出ASCII碼值為2的"笑臉"字元*/

怎麼樣?是不是很有趣呢?不過這個笑臉一直是自己運動,能不能

讓我們來控制它運動呢?答案是肯定的,讓我們繼續往下學吧!

3, 交互的實現——讓我們來控制笑臉運動

這個程序的主要功能是接受按鍵,如果接收的是方向鍵,就讓笑臉

順著方向移動,如果接收的是ESC鍵就退出程序,其他按鍵則忽略

處理.接受按鍵我們用以下兩條語句:

while (bioskey(1) == 0);/*等待按鍵*/

key = bioskey(0);/*把接收的按鍵的鍵盤碼賦給變數key*/

然後用switch語句來判斷按鍵以及執行相關操作,如下:

switch (key) /*對變數key的值進行判斷*/

{

case UP: /*如果按的是向上鍵*/

… break; /*讓物體向上運動,並退出switch*/

case DOWN: /*如果按的是向下鍵*/

… break; /*讓物體向下運動,並退出switch*/

case LEFT: /*向左鍵*/

… break;;/*向左運動*/

case RIGHT: /*向右鍵*/

… break;/*向右運動*/

default:

break;/*其他按鍵則忽略處理*/

}

怎麼樣,是不是有了玩游戲的感覺了?不過這個程序沒有什麼目的

,也沒有什麼判斷勝負的條件.下面我們就利用這個能控制它移動

的笑臉來做一個更有趣的游戲吧!

4, 在迷宮中探索

小時侯,我常在一些小人書和雜志上看見一些迷宮的游戲,非常喜

歡玩,還常到一些書上找迷宮玩呢.好的,現在我們用C語言來編

個迷宮的游戲,重溫一下童年的樂趣.

首先,我們定義一個二維數組map,用它來保存迷宮的地圖,其中m

ap[x][y] == '#'表示在(x,y)坐標上的點是牆壁.DrawMap函數

在屏幕上輸出迷宮的地圖和一些歡迎信息.

在main函數里,我們定義了"小人"man的坐標和"目的地"des的

坐標.在游戲循環中,我們增加了一些用來判斷勝負的語句:

if (man.x == des.x && man.y == des.y) /*如果人的坐標等於目

的地的坐標*/

{

gotoxy(35, 3);

printf("Ok! You win!"); /*輸出勝利信息*/

….

}

在判斷按鍵時,如果玩家按的是方向鍵,我們還要先判斷前面是不

是有"牆壁",如果有的話,就不能往前移動了.好的,我們在判

斷按鍵的switch語句的各個分支加上了判斷語句,如下:

if (map[…][…] == '#') break;/*如果前面是牆壁,就不執行

下去*/

哇噻!真棒,我們做出了一個完整的游戲了.當然你還可以通過修

改二維數組map來修改迷宮的地圖,讓它更有挑戰性.不過,我們

要設計一個更好玩的游戲——

5, 聰明的搬運工

大家一定玩過"搬運工"的游戲吧!這是在電腦和電子字典上較流

行的益智游戲,讓我們動手做一個屬於自己的"搬運工"吧!

程序依然用數組map來保存地圖,數組元素如果為空格則表示什麼

也沒有,'b'表示箱子,'#'表示牆壁,'*'表示目的地,'i

'表示箱子在目的地.我們以後每推一下箱子,不但要改變屏幕的

顯示,也要改變map相應元素的值.

游戲的主循環依然是接受按鍵.當接收一個方向鍵,需要判斷小人

前面一格的狀態,如果是空地或目的地,則人物可以直接移動;如

果是牆壁,則不可移動;如果是箱子或目的地上的箱子,則需要繼

續判斷箱子前面一格的狀態:如果前一格是空地或目的地,則人推

箱子前進,否則不可移動.好的,我們在switch中增加了這些判斷

語句.

程序還有一個重要的功能就是判斷勝利.數組Des用來記錄全部目

的地的坐標,我們每執行一步操作後,程序就要通過Des數組判斷

這些目的地上是否都有箱子了.

真棒啊!我們可以做游戲了.而且是一個老少皆宜,趣味十足的游

戲呢!當然,我們可以通過修改map數組來製作不同的游戲地圖,

我們還可以相互分享好的游戲地圖呢.

尾聲:

在C++等高級語言還沒出來的時候,很多應用程序也是C語言開發的

.C語言在與硬體聯系緊密的編程中,也佔有重要地位.

其實我覺得學習編程,可以通過一些小游戲,實用的例子來學習.

象學習音樂的人,不是要等到把全部樂理學完後才演奏一個完整的

曲子.而是剛開始學時就有一些簡單的曲子讓你演奏,讓你立刻就

有成就感,讓你很快就能賣弄出來在別人面前表現自己了.通過編

游戲來學習編程,把學習變成游戲,不失為學習計算機的一種好方

法.

好了,編游戲就這么簡單,希望大家也嘗試用C語言或其他的語言

來做幾個自己喜歡的小游戲.

閱讀全文

與編程出現一個笑臉什麼意思相關的資料

熱點內容
網路廣告的優 瀏覽:703
復制xcode文件路徑 瀏覽:801
離線任務找不到該文件 瀏覽:481
maya電子教程 瀏覽:500
合同與招標文件內容有差異 瀏覽:568
rec瀏覽器查看系統文件 瀏覽:697
展開windows文件錯誤 瀏覽:739
電腦桌面保存的文件全部都沒了 瀏覽:871
如何篩選一個月中大於4的數據 瀏覽:83
java去掉多餘空格 瀏覽:952
織夢手機網站源碼 瀏覽:275
壓縮文件20G 瀏覽:641
anyshare找不到自己文件夾 瀏覽:26
突然打開cad文件進去就卡掉 瀏覽:139
vdz格式文件打開是什麼內容 瀏覽:848
蟬游記工具 瀏覽:329
66鈴聲文件路徑 瀏覽:524
linuxc創建文件夾 瀏覽:834
單機游戲閃退修復工具 瀏覽:814
昌平區醫院app怎麼能醫保掛號 瀏覽:167

友情鏈接