1

私のコードは次のとおりです。

package net.ferrell.wrathoftuemdaym;

import java.awt.*;

public class Level {
    public Block[][] block = new Block[50][50];

    public Level() {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                block[x][y] = new Block(new Rectangle(x * Tile.tileSize, y * Tile.tileSize, Tile.tileSize, Tile.tileSize), Tile.air);
        }

    }

    public void generateLevel() {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                if(x == 0 || y == 0 || x == block.length-1 || y == block[0].length-1) {
                    block[x][y].id = Tile.earth;
                }
        }

    }

    public void tick() {


    }

    public void render(Graphics g) {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                block[x][y].render(g);
        }


    }
}

「 block[x][y] 」という行では、y を変数に解決できません。私はこれの修正方法を知りません。問題が存在するのはこのクラスだけです。私を助けてください。xは解決できるのでわかりません...

4

1 に答える 1

4

これはあなたの犯人です

for(int y = 0; y < block[0].length; y++);

そのはず

for(int y = 0; y < block[0].length; y++)

個人的には、たとえそれが 1 行であっても、常にコード ブロックに中かっこを入れます。

于 2013-01-23T04:14:19.047 に答える