我正在尝试为每个问题创建一个包含4个可能答案的多选游戏。
在游戏的主体部分,玩家将被问到一个问题,并提示输入答案。
在我的代码,以及问题和答案字符串,我会以某种方式需要能够告诉哪个是正确的答案,甚至可能标记的问题,以便在后面的几轮不会重复。另外,可能的答案需要在“playthroughs”之间以随机/不同的顺序排列。Java:用于多选游戏的结构
我想弄清楚使用什么数据结构来存储上述所有,以便能够适当地编写代码。
我的第一选择是将一个主Hashmap<String, HashMap>
和第二个HashMap<String, Boolean>
*存储到第一个中。第一个地图将问题字符串存储为键,第二个HashMap(s)存储为值。第二个HashMap将把答案存储为键和每个键的布尔值,表示哪一个是正确的答案,作为值。
有点复杂但至少在理论上它似乎工作,但我仍然没有办法将问题标记为“已经问过”。
我的第二个选择是一个二维阵列,其线条将代表一个问题,0柱上作为问题弦乐,1,2,3,4列存储答案字符串,所述5列存储正确答案字符串,并且可能有第7列(6)存储标志,标记问题是否已经被询问。
虽然理论上比较简单,但我担心这种方法会让实际编码变得非常混乱。
如果有更好/更简单的方法来做到这一点,请告诉我,甚至可以详细说明他们的好处。
由于我是新来的Java(和一般OOL)我一直在努力地试图获得与所有这些新的不同的认识结构,当我忘了什么应该是明显的选择。谢谢! –