我正在尝试用java编写一个小船战游戏。
它是100% 学术性的,我用它来练习递归,所以......我想使用它而不是迭代,即使它在大多数情况下更简单、更有效。
让我们谈正事吧。这些是规则:
- 船有 1、2 或 3 格宽,只能水平放置。
- 水用 0 表示,未命中的船格为 1,命中的船格为 2,沉船的所有格为 3。
设置了这些规则后,我使用以下数组进行测试:
int[][] board = new int[][]
{
{0, 1, 2, 0, 1, 0},
{0, 0, 1, 1, 1, 0},
{0, 3, 0, 0, 0, 0},
{0, 0, 2, 1, 2, 0},
{0, 0, 0, 1, 1, 1},
};
到目前为止它工作得很好,为了使其更加用户友好,我想添加一些报告。这些是我需要的方法:
- 给定矩阵,返回其中的船只数量。
- 与 a) 相同,但按状态区分(未命中船只的数量、命中和沉没的船只数量)。
我需要帮助处理这些报告,我想得到一些想法。
记住它必须使用递归来完成,我想理解这一点,唯一的方法就是练习!
非常感谢您的时间和耐心:)。