正文

類型、變量與標(biāo)準(zhǔn)(17)

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


1.7  使用常量

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

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

1.7.1  Game Stats 3.0程序簡介

Game Stats 3.0程序使用常量表示值。首先,程序計(jì)算玩家的得分,然后計(jì)算策略游戲中單位升級所需的花費(fèi)。圖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  每次計(jì)算都使用了常量,可以使代碼含義更加清晰易懂

// 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) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號