正文

类型、变量与标准(17)

通过游戏编程实战教新手学C++编程 作者:(美)Michael Dawson


1.7  使用常量

常量是经过命名的无法修改的值。如果程序中频繁地使用到不变化的值,常量就很有用。例如,在编写太空射击游戏时,每个在空中击毁的外星人都值150分,那么就可以定义一个名为ALIEN_POINTS的常量,其值为150。然后每次需要使用外星人的分数时,就可以使用ALIEN_POINTS而不是数字150。

常量有两大优势。首先,它让程序更加清晰易懂。一眼看到ALIEN_POINTS,就能知道它的意思。如果查看的代码中有150,我们也许并不知道它代表的含义。第二,常量让修改变得简单。例如,在试玩游戏时,决定每个外星人应该值250分,有了常量,只需要在程序中改变ALIEN_POINTS的初始值。如果没有常量,就不得不找到每处的150,然后修改成250。

1.7.1  Game Stats 3.0程序简介

Game Stats 3.0程序使用常量表示值。首先,程序计算玩家的得分,然后计算策略游戏中单位升级所需的花费。图1-8显示了程序结果。

从Course Technology网站(www.courseptr.com/downloads)或本书合作网站(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 © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号