0

最近、私はJavaを学ぼうとしています。複数のクラスを使用する方法を学んだばかりで、ゲーム 'brick breaker' を作成していますが、これが機能しない理由がわかりません。

 public void run() {
    BricksandBox world = new BricksandBox();
    world.createWorld();
}

これが「BricksandBox」のコードの一部です。

public void createWorld(){
        buildCanvas();
        int i = 0;
        while(i < NBRICK_ROWS){
        i++;
        createARow();
        setCollumNumber();

        }
    }
    /*builds the gamecenter */
    private void buildCanvas(){
        GRect can = new GRect(APPLICATION_WIDTH, APPLICATION_HEIGHT);
        add(can);

    }

    private void createARow(){


        for (int i = 1; i <= NBRICKS_PER_ROW; i++){
            //int y = the brickYoffset + BrickHeight+BrickSep this moves
            // the brick one down. 
            int y = BRICK_Y_OFFSET+((BRICK_SEP+BRICK_HEIGHT)*collumNumber);
            /* 
             * i-1 because it can't be set to zero. else there will be 11 bricks.
             * so you do i-1.
             */
            int x = BRICK_SEP/2+(BRICK_SEP*(i-1))+(BRICK_WIDTH*(i-1));
            GRect brick = new GRect(x,y,BRICK_WIDTH,BRICK_HEIGHT);
            brick.setFilled(true);

            //setting the color
            if(collumNumber <= 1){
                brick.setColor(Color.RED);
            }
            else if(collumNumber <= 3){
                brick.setColor(Color.ORANGE);
            }
            else if(collumNumber <= 5){
                brick.setColor(Color.YELLOW);
            }
            else if(collumNumber <= 7){
                brick.setColor(Color.GREEN);
            }
            else if(collumNumber <= 9){
                brick.setColor(Color.CYAN);
            }
            add(brick);
            }

    }   

    private void setCollumNumber(){
        //MeeBezig. create a value that counts up from 1 to 10.
        //1 is the first row number. 2 is the second row number etc...
        int x = BRICK_SEP/2+(BRICK_SEP*collumNumber)+(BRICK_WIDTH*collumNumber/2);
        int y = BRICK_Y_OFFSET+((BRICK_HEIGHT)*collumNumber);


        if(contains(x,y)){

            collumNumber++;

            }

    }


    /** 
     * a number that counts from one to ten
     */
    private int collumNumber;'

最初の部分はメインファイルだけでした。しかし、分解のために、別のクラスに入れようとしました。しかし、プログラムを実行すると、空白のキャンバスが表示されるだけです。

前もって感謝します!

4

0 に答える 0