mooc自學**:
第六章中的小遊戲是「移動方塊」,玩家需要將方塊移動到隨機出現的方塊位置上面,每完成一次加一分。(類似於貪吃蛇)
(1)先建立乙個新的桌面應用專案,取名為「brick」(磚塊)。
(2)分析一下遊戲需要的函式功能:隨機位置、建立磚塊、判斷重疊,然後在函式前向宣告下對這三個函式進行建立:
int
randpos()
//隨機生成函式
void
drawbrick
(hdc hdc,
int x,
int y,
int s,
int bplayer)
//磚塊繪製函式(環境控制代碼,磚塊位置,磚塊尺寸,玩家敵人標記)
intiscollider
(int x1,
int y1,
int x2,
int y2,
int s)
//判斷重疊函式(玩家和敵人磚塊的座標、磚塊尺寸)
(3)設定全域性變數,包括玩家和敵人磚塊的位置、磚塊尺寸和分數:
int xp,yp,xe,ye;
const
int size=80;
//磚塊尺寸設定為常量,保證每次操作執行都不會變
int score;
(4)進行預定義設定,給變數賦初值:
xp=
randpos()
;//玩家磚塊初始外接
yp=randpos()
;xe=
randpos()
;//敵人磚塊初始位置
ye=randpos()
;score=
0;
(5)新增互動,方向鍵的設定和重疊的觸發機制:
case wm_keydown:
invalidaterect
(hwnd,
null
,true)
;//觸發重繪函式
switch
(wparam)
(6)繪圖設定,繪出分數和兩個磚塊即可:
wchar str[16]
;//文字顯示
swprintf
(str,
16,l"你的得分:%d"
,score)
;textout
(hdc,0,
0,str,
wcslen
(str));
drawbrick
(hdc,xe,ye,size,0)
;//磚塊顯示
drawbrick
(hdc,xp,yp,size,1)
;endpaint
(hwnd,
&ps)
;
(7)課後拓展:
mooc遊戲設計基礎(自學)3
mooc自學 第三個小遊戲是 小型計算器 即根據使用者輸入進行簡單的四則運算。1 還是先建立乙個新的桌面應用程式專案,命名為 expression 2 定義需要用到的全域性變數,包括兩個數字 字元計數器 操作符 臨時儲存區 計算結果 是否有結果判斷 顯示輸出的字串。float x 0,y 0 int...
mooc遊戲設計基礎(自學)5
mooc自學 第五個小遊戲是製作博德曼分形集合,根據博德曼公式進行迭代,然後將收斂區域部分繪製成黑色,發散區域繪製成白色。分形指的就是一些看似雜亂無章,但其實是用一些函式迭代而成的圖形,曼德博集合屬於其中的逃逸時間分形 1 先建立乙個新的桌面應用程式,取名為 loop 2 設定全域性常量 const...
mooc遊戲設計基礎(自學)7
mooc自學 源自中國傳媒大學韓紅雷老師的課程 第七章學習的小遊戲是 彈彈球 小球會始終在邊框中心產生,並根據與其他小球和邊界的碰撞發生運動變化。其中用到了很多有趣的知識點,包括實事更新達到動畫效果 建立後備緩衝交換機制防止閃爍和擦除 視窗的變化機制 邊界會根據視窗的大小變化而變化 小球的運動碰撞等...