我一直在努力提高我的Java技能,并决定创建一个本体和交叉游戏。我正在尝试实现获胜的条件,这样游戏就可以判断出"ai“还是”人“是否赢了,并结束了游戏。
数据以键值对的形式存储在HashMap中。整数表示位置,字符串表示它包含的内容。字符串将是""、"O"或"X"。
代表职位的整数:
1 2 3
4 5 6
7 8 9显示数据库初始化的代码:
Map<Integer, String> database = new HashMap<Integer, String>();无论如何,我正试图找出搜索本词典的最佳方法,检查以下任何一种获胜条件:
我是否需要做一个大型嵌套的if语句,或者大小写集,或者有一种更有效的循环方式?
发布于 2015-04-02 09:47:17
地图是一个相当奇怪的选择,但它无论如何都会起作用。您可以将所有获奖组合存储为3个数字,就像您已经拥有的那样,然后循环遍历它们,检查索引中的所有三个值是否匹配。然后通过检查这些值来确定谁赢了。
我建议创建一个checkWin(int[] indexes)方法,该方法将检查所有3个索引,并返回它们是否匹配的true/false。然后循环遍历所有预先制作的获胜组合,以检查是否获胜。
https://stackoverflow.com/questions/29409619
复制相似问题