正文

類型、變量與標準(17)

通過游戲編程實戰(zhàn)教新手學C++編程 作者:(美)Michael Dawson


1.7  使用常量

常量是經(jīng)過命名的無法修改的值。如果程序中頻繁地使用到不變化的值,常量就很有用。例如,在編寫太空射擊游戲時,每個在空中擊毀的外星人都值150分,那么就可以定義一個名為ALIEN_POINTS的常量,其值為150。然后每次需要使用外星人的分數(shù)時,就可以使用ALIEN_POINTS而不是數(shù)字150。

常量有兩大優(yōu)勢。首先,它讓程序更加清晰易懂。一眼看到ALIEN_POINTS,就能知道它的意思。如果查看的代碼中有150,我們也許并不知道它代表的含義。第二,常量讓修改變得簡單。例如,在試玩游戲時,決定每個外星人應(yīng)該值250分,有了常量,只需要在程序中改變ALIEN_POINTS的初始值。如果沒有常量,就不得不找到每處的150,然后修改成250。

1.7.1  Game Stats 3.0程序簡介

Game Stats 3.0程序使用常量表示值。首先,程序計算玩家的得分,然后計算策略游戲中單位升級所需的花費。圖1-8顯示了程序結(jié)果。

從Course Technology網(wǎng)站(www.courseptr.com/downloads)或本書合作網(wǎng)站(http://www. tupwk.com.cn/downpage)上可以下載到該程序的代碼。程序位于Chapter 1文件夾中,文件名為game_stats3.cpp。

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

// Game Stats 3.0 

// Demonstrates constants

#include <iostream> 

using namespace std; 

int main() 

const int ALIEN_POINTS = 150;

int aliensKilled = 10;

int score = aliensKilled * ALIEN_POINTS;

cout << "score: " << score << endl;

enum difficulty {NOVICE, EASY, NORMAL, HARD, UNBEATABLE};

difficulty myDifficulty = EASY;

enum shipCost {FIGHTER_COST = 25, BOMBER_COST, CRUISER_COST = 50};

shipCost myShipCost = BOMBER_COST;

cout << "\nTo upgrade my ship to a Cruiser will cost "

<< (CRUISER_COST - myShipCost) << " Resource Points.\n";

return 0;

}


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號