1.遊戲名稱
生死時速(speed)
2.需求分析
(1)生死時速分為四個級別,級別根據活得的分數劃分,分數越高難度越大,最大難度為
4。開始頁面最高分可以檢視歷史最高分。
(2)到達相應等級,障礙車輛數量增多,速度加快,右側狀態列記錄己方車輛生命、等級和分數。
(3)狀態列下方是道具說明欄,共有三個道具,紅心是加生命,翅膀是無敵,炸彈是把障礙車輛清屏,無敵狀態持續一定時間。
(4)三種道具按一定機率在車道上隨機出現,己方車輛遇上道具,道具效果立即生效。
(5)當己方車輛撞上障礙車輛,立即進入無敵狀態。當生命值耗光,遊戲結束,顯示本次遊戲成績,破紀錄則記錄到最高分。
(6)遊戲開始後按回車鍵暫停遊戲並返回遊戲選單,可選擇開始新遊戲或繼續遊戲。
(7)應用圖形介面,加入一些小更有趣味性。
3.開發平台及工具介紹
軟體環境
作業系統: windows 10
系統型別: 64位作業系統
應用軟體:visual studio、easyx 圖形介面庫
語言:c++
4.系統介紹
4.1總體介紹
遊戲設定了乙個speed.cpp源程式,乙個
data.txt檔案儲存遊戲資料,以及乙個包含遊戲影象及音訊的picture資料夾。
4.2檔案介紹
(1)speed.cpp:主程式**,其中包含基於
eaxyx
圖形庫的標頭檔案graphics.h,c++系統提供的標頭檔案time.h等,以及main函式、
play
函式等遊戲執行相關的函式。
(2)data.txt :用於儲存遊戲資料。第一行儲存player狀態,包括
player
座標、得分、生命值、無敵時間等。
2~8行儲存環境狀態,包括其他車輛及道具的位置等。
採用的資料結構
主要資料結構為佇列,用鍊錶實現。以佇列模擬環境狀態的其他車輛及道具等的進入與退出,用隨機函式實現隨機車輛位置及道具位置。
5.測試:
遊戲開始時介面
遊戲選單介面
單擊新的遊戲,過度動畫,開始遊戲,右側狀態列和道具說明欄
道具效果,依次為無敵,加生命,清屏
生命值耗光,遊戲結束,顯示本次得分與歷史最高分
6.**片段
void displaycars()
player newcar;
for (int i = 0;i < 7;i++)
for (int j = 0;j < 9;j++)
newcar.x = 20 + i * 60;
newcar.y = 660 - j * 80;
if (queueat(carqueue[i], j) == 1)
makecar(newcar);
else if (queueat(carqueue[i], j) == 2)
makedaoju(newcar, 2);
else if (queueat(carqueue[i], j) == 3)
makedaoju(newcar, 3);
else if (queueat(carqueue[i], j) == 4)
makedaoju(newcar, 4);
void playgame()
cleardevice();
dword oldtime = 0;
//_getch();
while (1)
flushbatchdraw();
dword newtime = gettickcount();
if (player.wdtime != 0)
setbkcolor(black);
iswhite = 0;
else
setbkcolor(white);
iswhite = 1;
if (newtime - oldtime >= (unsigned int)(600 - 80 * g_grade))
score += 100;
if(player.wdtime!=0)
player.wdtime--;
if (score == 5000 || score == 10000 || score == 20000)
g_grade++;
oldtime = newtime;
updatequeue();
cleardevice();
drawgamegui();
displaycars();
makeplayer();
if (_kbhit())//如果有輸入的話,改變方向.沒有就方向不變
g_direction = _getch();
if (g_direction == 13)
storetext();
//_getch();
loadandbegin();
else
moveorder();//改變玩家的座標
cleardevice();//清屏
drawgamegui();
displaycars();
makeplayer();
資料結構課程設計
資料結構課程設計 include define n 30 include include includeusing namespace std struct node typedef node phone,mingzi node hashnumble node hashname int hash1 ...
資料結構課程設計
小明是乙個計算機專業top student 祝賀他畢業了。並準備到銀行參加工作。上班第一天,經理叫他編制乙個實現乙個活期儲蓄處理程式,算作考查。上班第一天,一定要給領導乙個好印象,小明二話沒說,就答應了。現要你是小明了,請完成如下題目功能。儲戶開戶 銷戶 存入 支出活動頻繁,系統設計要求 1 能比較...
資料結構課程設計
一 實訓目的 通過課程設計,學會運用資料結構知識,針對具體應用,自己設計合理資料結構,確定儲存結構,並能設計具體操作演算法,選擇使用具體語言進行實現。掌握c 較複雜程式的組織和設計過程,除錯技巧。學習解決實際問題的能力。題目1.小明是乙個計算機專業top student,祝賀他畢業了。並準備到銀行參...