愛玩是人的天性。而C語言是我們數(shù)計系都要學(xué)的一門基礎(chǔ)學(xué)科。那么,為什么不用C語言編一個游戲來玩呢?學(xué)習(xí)程序設(shè)計,并不是一件艱苦、枯燥的事情,它能象電腦游戲一樣充滿好奇、富有樂趣。這正是本文的目的。
C語言對于電腦程序設(shè)計來說是一種非常重要的語言。Windows的大部分代碼就是C語言寫的。而Windows的API函數(shù)全是C語言編的。API函數(shù)是我們以后windows編程時經(jīng)常要調(diào)用的函數(shù)。而現(xiàn)在要開發(fā)好的應(yīng)用軟件,都用借助“C類語言”(包括:VC++、VC#、C++ build、JAVE……)。有人說:初學(xué)的程序員用VB、聰明的程序員用Delphi、而真正的程序員用VC。從這句話也可以看出C語言的重要性。
一.這個游戲的編程思想:
1. 確定軟件的功能:讓玩家通過按上下左右鍵推箱子,當(dāng)箱子們都推到了目的地后出現(xiàn)過關(guān)信息,并顯示下一關(guān)。推錯了玩家還按空格鍵從新玩過這關(guān)。直到過完全部關(guān)卡。
2. 定義軟件的核心數(shù)據(jù)結(jié)構(gòu):我們定義一個二維數(shù)組ghouse來記錄屏幕上各點(diǎn)的狀態(tài)。char ghouse[20][20]; 其中:0表示什么都沒有,'b'表示箱子,'w'表示墻壁,'m'表示目的地,'i'表示箱子在目的地。
3. 對整個軟件進(jìn)行功能模塊劃分。
(1)。初始化:在屏幕上輸出歡迎信息,把ghouse數(shù)組的元素初始化為0。并根據(jù)各關(guān)的要求在屏幕上輸出墻、箱子、目的地和人。并用ghouse 數(shù)組記錄各點(diǎn)的狀態(tài)。
(2)。進(jìn)入游戲循環(huán):這個游戲主循環(huán)是等待按鍵。當(dāng)接受到上下左右鍵時執(zhí)行相關(guān)操作:接受ESC鍵時退出游戲;接受空格鍵時返回本關(guān)開頭;接受無效按鍵時做忽略處理。重點(diǎn)介紹按上下左右鍵時如何執(zhí)行相關(guān)操作。
(3)。判斷是否過關(guān):用一個鏈表win由每關(guān)的初始化函數(shù)傳給main函數(shù)。Win鏈表主要記錄屏幕上的哪些點(diǎn)是目的地,并記錄目的地的位置。Main函數(shù)每執(zhí)行一次操作后就判斷屏幕上的目的地是不是都有箱子了。
二.一些編程技巧。如:ctrl+F1為幫助。將光標(biāo)移到調(diào)用的庫函數(shù)名中間按ctrl+F1鍵可獲得這個函數(shù)的幫助。(包括要包含的庫函數(shù)名,函數(shù)的參數(shù)等)F7、F8為單步調(diào)試。F7會進(jìn)入子函數(shù),而F8不會。單步調(diào)試時按ctrl+F4可查看變量的值。
C語言對于電腦程序設(shè)計來說是一種非常重要的語言。Windows的大部分代碼就是C語言寫的。而Windows的API函數(shù)全是C語言編的。API函數(shù)是我們以后windows編程時經(jīng)常要調(diào)用的函數(shù)。而現(xiàn)在要開發(fā)好的應(yīng)用軟件,都用借助“C類語言”(包括:VC++、VC#、C++ build、JAVE……)。有人說:初學(xué)的程序員用VB、聰明的程序員用Delphi、而真正的程序員用VC。從這句話也可以看出C語言的重要性。
一.這個游戲的編程思想:
1. 確定軟件的功能:讓玩家通過按上下左右鍵推箱子,當(dāng)箱子們都推到了目的地后出現(xiàn)過關(guān)信息,并顯示下一關(guān)。推錯了玩家還按空格鍵從新玩過這關(guān)。直到過完全部關(guān)卡。
2. 定義軟件的核心數(shù)據(jù)結(jié)構(gòu):我們定義一個二維數(shù)組ghouse來記錄屏幕上各點(diǎn)的狀態(tài)。char ghouse[20][20]; 其中:0表示什么都沒有,'b'表示箱子,'w'表示墻壁,'m'表示目的地,'i'表示箱子在目的地。
3. 對整個軟件進(jìn)行功能模塊劃分。
(1)。初始化:在屏幕上輸出歡迎信息,把ghouse數(shù)組的元素初始化為0。并根據(jù)各關(guān)的要求在屏幕上輸出墻、箱子、目的地和人。并用ghouse 數(shù)組記錄各點(diǎn)的狀態(tài)。
(2)。進(jìn)入游戲循環(huán):這個游戲主循環(huán)是等待按鍵。當(dāng)接受到上下左右鍵時執(zhí)行相關(guān)操作:接受ESC鍵時退出游戲;接受空格鍵時返回本關(guān)開頭;接受無效按鍵時做忽略處理。重點(diǎn)介紹按上下左右鍵時如何執(zhí)行相關(guān)操作。
(3)。判斷是否過關(guān):用一個鏈表win由每關(guān)的初始化函數(shù)傳給main函數(shù)。Win鏈表主要記錄屏幕上的哪些點(diǎn)是目的地,并記錄目的地的位置。Main函數(shù)每執(zhí)行一次操作后就判斷屏幕上的目的地是不是都有箱子了。
二.一些編程技巧。如:ctrl+F1為幫助。將光標(biāo)移到調(diào)用的庫函數(shù)名中間按ctrl+F1鍵可獲得這個函數(shù)的幫助。(包括要包含的庫函數(shù)名,函數(shù)的參數(shù)等)F7、F8為單步調(diào)試。F7會進(jìn)入子函數(shù),而F8不會。單步調(diào)試時按ctrl+F4可查看變量的值。