我正在编写一个简单的游戏以增加C++经验,并且我有一个想法,其中多态性几乎可以发挥作用,但并没有。在这个游戏中,
但我在想,以下的一些变体会不会更好:
实际上,Fork是从Location派生出来的,并重载了一些新功能
您有什么看法?
Party
相对直线地穿过 Map
,但偶尔会遇到路口。一个路口基本上是一个 std::vector<location*>
。最初,我打算将以下内容编码到 Party
成员函数中:if(!CurrLocation->fork_.empty())
// Loop through forks and show options to the player, go where s/he wants
else
(CurrLocation++)
但我在想,以下的一些变体会不会更好:
CurrLocation = CurrLocation->getNext();
实际上,Fork是从Location派生出来的,并重载了一些新功能
getNext()
。但在后一种情况下,location
(一个低级结构)将不得不向用户呈现消息,而不是“将其传回去”,我认为这不够优雅,因为它将location
与UserInterface :: *
耦合在一起。您有什么看法?