做遊戲,學程式設計(C語言) 1 實現彈跳小球

2021-10-18 20:49:26 字數 1364 閱讀 5698

沒想到這裡的一篇文章(對於乙個大一計科新生,有什麼**行數在500~1000的程式(c語言)可以試著寫來練手? - 電腦科學 - 知乎),有這麼多的同學點讚,謝謝大家的支援!

首先,這個教程不會講解c語言的基礎知識,大家可以找些經典的教材,在每次教程前,我會寫上所需的基礎語法知識,大家可以事先學習。主要會給多個步驟的**,每個步驟提供對應的要求,以及相應的參考**。大家可以先在前乙個步驟**的基礎上,自己嘗試實現下乙個步驟的要求;如果有困難的話,再參考我們給出的**。

這次教程,我們實現乙個彈跳小球。預設編譯器為vc,需要學習完基礎的變數、運算子、表示式,printf、scanf輸入輸出函式的用法,if-else、while、for語句的用法。

第1步,顯示靜止的小球。效果為:

// 在座標(x,y)處輸出乙個小球

#include

void

main

()

第二步,通過改變小球座標的變數,讓小球下落

#include

#include

void

main

()}

這裡利用了乙個清屏函式system("cls");,只需要加上標頭檔案#include 即可。

第三步,實現小球的上下彈跳,在上面一步**的基礎上,增加記錄速度的變數,小球的新位置=舊位置+速度。判斷小球到達上下邊界時,速度改變方向,即改變正負號。

#include

#include

void

main()}

}

第四步,讓程式更有趣,讓小球斜著彈跳。主要思路是增加x,y兩個方向的速度控制變數,乙個碰到上下邊界後改變正負號,乙個碰到左右邊界後改變正負號。

#include

#include

void

main

()}

大家盡量養成良好的編碼習慣,上面的邊界座標盡量不要在程式中寫數字,可以用定義的變數或常量。這樣程式可讀性更好,後面也更容易調整。

第五步,介紹乙個sleep函式,可以讓遊戲中間等待,從而可以控制小球彈跳的速度。使用這個函式,需要#include

#include

#include

#include

void

main

()}

這裡出個思考題,如果沒有sleep函式的話,能否利用迴圈,實現小球速度變慢的效果?

另外,大家可以嘗試下 printf("\a"); 實現小球碰到邊界時響鈴。

做遊戲,學程式設計(C語言) 11 2048

遊戲簡介 2048是比較流行的一款數字遊戲。原版2048首先在github上發布,原作者是gabriele cirulli。這是20歲的gabriele cirulli開發的一款數字遊戲。初衷就是覺得好玩,將開源版本放到github後意外走紅。這款遊戲的玩法很簡單,每次可以選擇上下左右滑動,每滑動一...

做遊戲,學程式設計(C語言) 6 陣列之空戰遊戲

利用陣列,我們可以在空戰遊戲中實現多台敵機 發射閃彈等效果。大家可以用之前教程的思路,嘗試分步驟實現 飛機的顯示 單個敵機 多個敵機 發射常規子彈 發射閃彈,以下是完整的 遊戲畫面尺寸 define width 25 define enemynum 5 敵機個數 全域性變數 intposition ...

做遊戲,學程式設計(C語言) 18 瑞克快跑

的主題功能描述 void startmenu 開始遊戲時的介面 void rules 遊戲規則介面 void showscore 顯示得分情況 void startup 資料初始化 void delay 延遲函式 void restartup 人物死亡後,遊戲資料初始化 void runimg 載入...