正文

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

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


1.8  Lost Fortune簡(jiǎn)介

本章最后一個(gè)項(xiàng)目Lost Fortune是一個(gè)擬人化的探險(xiǎn)游戲。在游戲中,玩家輸入一些信息,計(jì)算機(jī)把這些信息擴(kuò)展成一個(gè)探險(xiǎn)故事。程序的運(yùn)行示例如圖1-9所示。

圖1-9  故事由玩家提供的細(xì)節(jié)構(gòu)成

這里不一次展示全部代碼,而是每次給出一部分。從Course Technology網(wǎng)站(www.courseptr. com/downloads)或本書合作網(wǎng)站(http://www.tupwk.com.cn/downpage)上可以下載到該程序的代碼。程序位于Chapter 1文件夾中,文件名為lost_fortune.cpp。

1.8.1  創(chuàng)建程序

首先是一些初始注釋、兩個(gè)必要的頭文件和一些using指令。

// Lost Fortune

// A personalized adventure

#include <iostream>

#include <string>

using std::cout;

using std::cin;

using std::endl;

using std::string;

程序包含了string文件,它是標(biāo)準(zhǔn)庫(kù)的一部分。因此,通過(guò)變量,程序可以用string對(duì)象來(lái)存取字符串。關(guān)于string對(duì)象的內(nèi)容很多,但這里不準(zhǔn)備介紹。第3章將介紹更多關(guān)于string對(duì)象的知識(shí)。

同樣,程序使用using指令明確指出準(zhǔn)備使用的std名稱空間中的對(duì)象。因此,我們能清楚地看到string屬于std名稱空間。

1.8.2  從玩家獲取信息

接下來(lái)程序從玩家獲取一些信息。

int main()

{

const int GOLD_PIECES = 900;

int adventurers, killed, survivors;

string leader;

//get the information

cout << "Welcome to Lost Fortune\n\n";

cout << "Please enter the following for your personalized adventure\n";

cout << "Enter a number: ";

cin >> adventurers;

cout << "Enter a number, smaller than the first: ";

cin >> killed;

survivors = adventurers - killed;

cout << "Enter your last name: ";

cin >> leader;

GOLD_PIECES是常量,用于存儲(chǔ)探險(xiǎn)家要尋找的寶藏中金塊的數(shù)目。adventurers用于存儲(chǔ)探險(xiǎn)家的總數(shù)目。killed用于存儲(chǔ)在旅途中死亡的探險(xiǎn)家數(shù)目。程序計(jì)算出幸存的探險(xiǎn)家數(shù)目并存儲(chǔ)在survivors中。最后,程序還要獲取玩家名字,存儲(chǔ)在leader中。

陷阱

簡(jiǎn)單地使用cin從用戶獲取字符串的方法只適用于字符串不包含空白字符(如制表符或空格)的情況。有方法可以彌補(bǔ)這一點(diǎn),但這會(huì)涉及到流的概念,超出了本章的討論范圍。因此,還是像這樣使用cin,但要注意它的限制。


上一章目錄下一章

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