2020年10月23日 星期五

pygame玩遊戲系列(10)~在遊戲中偵測是否發生碰撞並進行計分、顯示分數

 前面已經介紹了如何在遊戲中如何隨機出現指定數量的物件,也介紹了遊戲中的碰撞偵測原理及作法,基本上有了這些法寶,已經可以開始玩一些比較像遊戲的設計了!

這次,我們就在上一篇:pygame玩遊戲系列(9)~在遊戲中隨機出現指定數量的物件的程式基礎上,來看看如何改進遊戲中的元素。

此次目標如下:

一、能夠偵測小車是否接到從天而降的禮物(碰撞偵測原理)

二、若小車接到禮物,則加一分並於遊戲視窗中顯示目前得分

為完成上述目標,我們除了應用之前介紹過的經驗外,會多認識一個pygame中顯示文字內容及區塊的操作及相關語法。

好囉~~不囉嗦了!

我們直接在上一篇:pygame玩遊戲系列(9)~在遊戲中隨機出現指定數量的物件的程式碼中加上並加註相關程式碼如下:

首先在原程式碼中的第20行位置,加上統計得分的變數:score = 0 並預設初始分數為0分




接著就是比較關鍵的檢查每個禮物是否與小車發生碰撞狀態(也就是小車是否接到禮物)?

這部分原理,在這裏就不再贅述了,想了解碰撞偵測(建議一定要了解啦)原理的請自行參照之前的文章!

了解碰撞原理後,重點是要檢查「每一個禮物」是否跟小車發生碰撞,所以我們可以考慮將碰撞的偵測行為放進原先檢查禮物狀態及位置的for迴圈中。



從上述中可以認識、學習到一個pygame.font的相關語法

透過pygame.font的相關操作及設定就可以順利的在遊戲視窗中,設定並顯示文字區塊囉!


好囉~~這篇算是延續前一篇的加強功能版!

到這裡,我們應該可以有許多自己的想法元素,透過以上介紹的功能、思維及語法開始添進遊戲的元素中了!

同樣的~~自己先思考看看,還想讓遊戲中增加那些元素呢?

如何設計程式達成你想增加的遊戲元素?

沒有留言:

張貼留言