我正在尝试开发单面战舰游戏,我几乎所有设置.我只需要包含一个此时保存的数组,5,Ships对象.我为每艘船创建的类称为Ships.java.早些时候我在初始化阵列时遇到了问题,但已经解决了.
当我尝试从阵列中的索引拉入船的长度(2,3,4或5)时,问题就出现了.我不确定如何在概念上放置船只.
我觉得我已经尝试过do-whiles,for循环和if语句的所有组合.甚至试过一个开关盒.
目标是让计算机为五艘船选择位置并将每个单元格设置为网格(ROWSxCOLS)等于NC_SHIP(未点击,加船).问题在于它检查与网格上随机位置相邻的单元的位置.还必须检查有问题的船是否适合(从船上拉[i] .getShipLength()).
这是我到目前为止的代码:
int shipsPlaced = 0;
for (int i = 0; i < ships.length; i++)
{
boolean shipPlaced = false;
do
{
int randomRow = (int)(Math.random()*ROWS);
int randomCol = (int)(Math.random()*COLS);
int p = 0;
if (randomRow - ships[p].getShipLength() >= 0 && gameBoard[(randomRow - p)][randomCol] == NC_EMPTY)
{
for (int x = 0; x < ships[x].getShipLength(); x++)
{
gameBoard[(randomRow - x)][randomCol] = NC_SHIP;
shipsPlaced = shipsPlaced + 1;
if (x == ships[x].getShipLength())
{
shipPlaced = true;
p …Run Code Online (Sandbox Code Playgroud)