小编Joe*_*Joe的帖子

需要帮助编程战列舰位置选择器/检查器

我正在尝试开发单面战舰游戏,我几乎所有设置.我只需要包含一个此时保存的数组,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)

java loops while-loop placement

6
推荐指数
1
解决办法
8701
查看次数

标签 统计

java ×1

loops ×1

placement ×1

while-loop ×1