Вы smogли сделать smtng как это (я использовал cin, но вы можете использовать любой другой поток файла):
string line;
while( getline( cin, line ) )
{
istringstream iss( line );
int number;
while( iss >> number )
do_smtng_with_number();
}
Или:
int number;
while( cin >> number )
{
do_smtng_with_number();
}
Я знаю Эммануэля Делогета из GameDev.net, но я не уверен, что выбрал бы его иерархию! Слишком много наследства, недостаточно гибкости.
Если бы я писал текстовую RPG (как я это делал в прошлом), она бы выглядела примерно так (хотя, к сожалению, у меня нет времени на ее составление):
Это была бы базовая структура высокого уровня, которую я бы использовал.
<tongue_in_cheek_mode_because_it_is_friday>
Просто для начала:
---------------- --------------
| Creature | | Item |
|--------------| |------------|
| Name | | Name |
| Hp | | Value |
| Abilities |--------------------| Weight |
|--------------| --------------
| Attack |
----------------
^
|
----------------------
| |
---------------- ----------------
| Hero | | Monster |
|--------------| |--------------|
| Level | | |
|--------------| |--------------|
| KillMonster | | AttackAndDie |
| GrabTreasure | | DropTreasure |
---------------- ----------------
</tongue_in_cheek_mode_because_it_is_friday>
Посмотрите на Jade's Javadoc , чтобы получить хороший обзор сложной игры :)
Возможно, вы захотите рассмотреть систему компонентных сущностей, а не традиционную иерархию наследования; они имеют тенденцию быть более гибкими к определенным типам изменений, значительно упрощают разработку инструментов (например, редактора мира) и предоставляют возможности для распараллеливания, которые в противном случае не могли бы быть очевидными или легкими.
Многие современные игровые движки отходят от " монолитный объект класса "(или класс Entity, что угодно) и в сторону подхода" мешка компонентов ".
Существует множество книг и статей. В целом:
В частности (некоторые заслуживающие внимания, google "компонент" и "объект" в различных комбинациях, подробнее):
Каждая из этих статей содержит ссылки на несколько других.
Попробуйте kool-aid, вам может понравиться. =)
Будьте смелыми, ваша игра не должна быть клоном чуши рубить и слэш. Ваши актеры должны иметь возможность переходить на другую сторону, проявлять собственную инициативу привлечь других участников и т. д. В противном случае, в чем смысл?
+-----------------------------+
V |
[Actor] ------- [Allegiance] ----+
- risk comfort - weight
- temerity
Как насчет чего-нибудь в этом роде:
alt text http://img217.imageshack.us/img217/4886/classwo0.png
Вот еще несколько диаграмм: