本文目錄一覽:
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語言或其他的語言
來做幾個自己喜歡的小遊戲.
學c語言如何做出有界面的程序
1、新建一個C項目,點擊文件,新建,項目,選擇C++Win32控制台應用。
2、在項目嚮導中設置,會默認生產一個項目框架。
3、可以使用color函數變化字體和窗口的顏色。
4、要在C語言中實現顏色的變化,需要引入windows.h頭文件,即#include windows.h方可調用color函數,system(“color 02”)類似的,但不能先寫一個循環,循環color 後面的顏色。但可以直接把color 02當作字符串來對待,對後兩個字符串進行循環變化。
5、這裡的測試代碼如下所示:char a[9]=”color 02″; int i; for(i=0;i=5;i++) { a[6]=(char)((int(‘0’))+i+2); //顏色交替出現/背景顏色 a[7]=(char)((int(‘0’))+i); //字體顏色 system(a); system(“cls”); printf(“\n\n\n\n\n\n\n\n\t\t\4 \4 \4Welcome\4 \4 \4”); printf(“\n\n\n\n\n”); Sleep(1000); //延時1秒 system(“cls”); } system(“cls”)。
6、而上面使用到的system(“cls”)是清屏函數,直接可以到cmd中輸入cls即可實現清屏的功能。下面就是測試的效果了。
如何用C#製作貪吃蛇遊戲界面
C語言中打開一個應用程序可以調用system(),也可以調用操作系統的API函數,比如Windows系統可以調用CreateProcess()、ShellExecuteEx()等函數來打開一個應用程序。
pre t=”code” l=”cpp”#includelt;stdio.h
#includelt;stdlib.h
intmain()
{
printf(quot;在windows上打開記事本程序\nquot;);
system(quot;notepad.exequot;);
return0;
}
怎樣用C++製作小遊戲的界面
要有界面的話,又是C/C++確實要學MFC的,MFC全部弄明白挺麻煩的,建議買本入門的書《深入淺出MFC》不錯,網上也有不少電子版下,這個被認為是遊戲入門的標準教科書,大部分所謂的遊戲學院也都在用這個做課本。
然後軟件製作流程上需要注意的就是一開始很容易犯一個錯誤,就是把所有的功能和界面都寫到一起了,到了後期要調整一下界面你會發現非常痛苦,不過這個路是一定要自己走過一遍才能體會的,之後你就會發現模塊化編程最終解決的問題,界面歸界面,功能歸功能,兩個模塊之間是弱耦合的。
軟件製作的流程沒有必要特別的遵守,經驗還是最重要的,建議你先設計好你要做什麼樣的東西,總共有哪些界面,界面之間是如何聯繫起來的,要顯示哪些內容,都列成一個表,然後根據這些功能來設計你的程序的結構。
比如說,你要做一個RPG,那麼要有一個主角,主角有HP,MP,有攻擊力和防禦力,你就要設計一個類裡面包含這些參數,同時在界面上也要設計有地方顯示這些數值。然後就可以開始考慮如何來同步這些數據,比如說你角色的血已經減少了100,但是要如何通知界面來更新最新的血量之類的。
最後還是那句話,一定要多練習,當你能保證每天300行左右的有效代碼,並堅持了2個月左右的時候,你一定會有很多心得。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279270.html