目錄
1.需求
2.運動的小球
3.碰到邊緣反彈
4.圓周撞擊或越過邊界反彈
5.繪制和移動擋板
6.小球碰到擋板反彈
7.游戲失敗時該如何處理
8.隨機初始條件
9.完整代碼
我們這一節將結合動畫和鍵盤交互的知識來做一個小游戲
1.需求
我們先看需求:小球在窗體內運動,撞到除了底邊外的另外三個邊緣就反彈一次,如果小球撞到底邊,游戲結束。玩家可以控制在底邊上的一個擋板,讓小球撞擊到擋板上而反彈,阻止小球撞到底邊
2.運動的小球
這里我們先繪制好一個圓形
#include<easyx.h>
#include<stdio.h>int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);setbkcolor(RGB(164, 225, 202));cleardevice();setfillcolor(WHITE);solidcircle(0, 0, 40);getchar();return 0;}
接下來我們想讓小球一開始就往右上方運動,也就是說它的速度和x軸的夾角是45度
我們假設vx=5,vy=5,則
我們再考慮一下幀率的問題
這樣子,小球就可以往右上方運動了
我們看代碼
#include<easyx.h>
#include<stdio.h>int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);setbkcolor(RGB(164, 225, 202));cleardevice();setfillcolor(WHITE);solidcircle(0, 0, 40);int x = 0, y = 0;int vx = 5, vy = 5;int r = 40;while (1){cleardevice();solidcircle(x, y, r);Sleep(40);x += vx;y +