資料結構課程設計之GUI小程式

2021-08-20 23:27:10 字數 3385 閱讀 5683

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,祝賀他畢業了。並準備到銀行參...