我正在尝试用C ++创建一个简单的口袋妖怪战斗模拟器。我现在遇到的问题是如何实现元素系统(水击火,火打草,草打水,包括所有其他元素类型)。
我不知道如何在不使用大量If语句的情况下创建这样的系统。有更好的方法吗?
我拥有大量的通用编程知识,而且我了解C ++的基础知识,比如类,循环和各种其他基本知识。
我会提供代码,但没有提供,因为我不知道如何制作这样的系统。我想我可以用什么样的技术,数据结构等来完成这个
答案 0 :(得分:0)
考虑查找表或决策矩阵。
想象一下这张表,适用于Rock-Paper-Scissors
R P S
R - L W
P W - L
S L W -
如果它被解释为,那么读ROW然后COL
ROW(R) at COL(R) -> R *ties* R
ROW(S) at COL(P) -> S *wins* P
(在这种情况下,矩阵的两个对角线半部是倒置镜。)