我羅斯方塊最終篇

2022-09-18 08:54:46 字數 2314 閱讀 8785

作業描述

詳情作業屬於

2020物件導向程式設計

作業要求

作業目標

作業正文

小組成員

**倉庫

一、執行效果

遊戲過程

遊戲結束

二、**要點

介面渲染

class

paint

;

初始化

void

paint::initenviroment()

提前將各種方塊的資訊儲存在陣列中,通過隨機數取模的方式來隨機生成方塊

now_c_idx[num] =next_c_idx[num];

now_s_idx[num] =next_s_idx[num];

now_d_idx[num] =next_d_idx[num];

next_c_idx[num] = rand() % 7

; next_s_idx[num] = rand() % 7

; next_d_idx[num] = rand() % 4;

各類操作

bool player::checkput(int mp_x, int mp_y, int

dir_idx)

//【左右越界、下方越界、重複佔格】

for (int i = 0; i < 4; ++i)

return

true

;}

玩家類預設下降速度的改變

//

檢查玩家一是否長時間未執行正確指令

intspeed1, speed2;

if (score[0] <= 3000

) speed1 = 1000 - score[0] / 10

;

else

speed1 = 700

;

if (time_tmp[0] - time_now[0] >=speed1)

//檢查玩家二是否長時間未執行正確指令

if (score[1] <= 3000

) speed2 = 1000 - score[1] / 10

;

else

speed2 = 700

;

if (time_tmp[1] - time_now[1] >=speed2)

玩家分數的計算

score[num] += 100.0 * clearnum * (1 + clearnum * 0.25);
鍵盤敲擊事件監聽

//

接受指令

if(_kbhit())

}//降低cpu占用

sleep(20);

遊戲結束後的彈窗

starpaint.endgame();

if (messagebox(gethwnd(), over_tips, l"

再來億局?

", mb_iconquestion | mb_yesno) ==idno)

break;

最終效果

三、依然存在的問題

四、收穫與心得

學習了之前沒有接觸過的easy_x的操作,了解到如何利用它來進行頁面的渲染。明白了要想真正寫出這樣乙個小遊戲並不容易,在一開始,就應該利用流程圖、思維導圖等工具來對思路進行處理。在實現過程中會碰到各種各樣意料之外的問題,不要急於實現全部功能,應該是在已有的、正確的**基礎上進行功能的完善和補充。適時進行**功能的測試,以便及時修改,否則bug堆積多了,修改時也無從下手。在這個過程中,與組員的分工合作也十分重要,及時與組員保持聯絡,確認編碼上的一些修改等問題。在這次製作「我羅斯」的過程中,慢慢體會到做專案與平常寫pta上的作業的深刻不同,不要只滿足於完成pta這類作業上,而不學習、實踐專案的編寫,否則將來只會成為一名「面向pta的程式設計師」,而不是乙個能夠編寫專案的、合格的程式設計師。

我羅斯方塊最終篇

這個作業屬於哪個課程 2020年物件導向程式設計 int block 7 4 4 4 block 方塊種類 4種變形 class tetris class tetris game public tetris 兩個玩家類其中有部分函式是相同的,有想過合併起來,但是還沒有實現出來 class tetri...

我羅斯方塊最終篇

這個作業屬於哪個課程 2020年物件導向程式設計 福州大學 數學與電腦科學學院 這個作業要求在 我羅斯方塊最終篇 作業正文 如下設計者 031902231 鄭霖睿 031902220 汪鴻宇 031902212 林炳燦 專案位址 這次的作業並沒有完成預期的指標,一些必要功能還無法實現 指渲染類 因此...

我羅斯方塊最終篇報告

這個作業屬於哪個課程 2020年物件導向程式設計 這個作業要求在 我羅斯方塊最終篇 小組成員 031902602 陳志良 031902601 陳帥 031902629 楊寓荃 github 專案位址 截圖 規則介面 單人 雙人 完成該作業的過程 因為這次是為了設計雙人版的,所以我們首先是先做乙個單人...