天天看點

《C++遊戲程式設計入門(第4版)》——1.7 使用常量

本節書摘來自異步社群出版社《c++遊戲程式設計入門(第4版)》一書中的第1章,第1.7節,作者:【美】michael dawson(道森),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

c++遊戲程式設計入門(第4版)

常量 是經過命名的無法修改的值。如果程式中頻繁地使用到不變化的值,常量就很有用。例如,在編寫太空射擊遊戲時,每個在空中擊毀的外星人都值150分,那麼就可以定義一個名為alien_points的常量,其值為150。然後每次需要使用外星人的分數時,就可以使用alien_points而不是數字150。

常量有兩大優勢。首先,它讓程式更加清晰易懂。一眼看到alien_points,就能知道它的意思。如果檢視的代碼中有150,我們也許并不知道它代表的含義。第二,常量讓修改變得簡單。

例如,在試玩遊戲時,決定每個外星人應該值250分,有了常量,隻需要在程式中改變alien_points的初始值。如果沒有常量,就不得不找到每處的150,然後修改成250。

game stats 3.0程式使用常量表示值。首先,程式計算玩家的得分,然後計算政策遊戲中機關更新所需的花費。圖1.8顯示了程式結果。

《C++遊戲程式設計入門(第4版)》——1.7 使用常量

圖1.8 每次計算都使用了常量,可以使代碼含義更加清晰易懂

從cengage learning網站上可以下載下傳到該程式的代碼。程式位于chapter 1檔案夾中,檔案名為game_stats3.cpp。

   enum shipcost {fighter_cost = 25, bomber_cost, cruiser_cost = 50};<code>`</code>

本行代碼定義了shipcost這一枚舉類型,用來表示在政策遊戲中建造這些飛船花費的資源點。在代碼中,某些枚舉數被賦予了特定的整數值。這些值表示每種船隻的資源點。如果需要,可以對枚舉數指派。沒有指派的枚舉數的取值為前一個枚舉數的值加1。由于代碼沒有對bomber_cost指派,是以它被初始化為26。

下面定義了這種新枚舉類型的一個變量:

 <code>  shipcost myshipcost = bomber_cost;</code>

還可以對枚舉數進行算術計算:

`

  <code> (cruiser_cost - myshipcost)</code>

這一小段代碼計算從bomber更新到cruiser所需的花費,與50−26相等,結果為24。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

繼續閱讀