1

gridworld のグリッドのサイズをデフォルトの 10x10 から好きなサイズに変更したいと考えています。動作するかどうかを確認するためだけに、15x15 でテストしてきました。しかし、私はこれを理解できないようで、インターネット上の他の情報源は、私がやっていることはうまくいくはずだと言っています.

rowSize&を設定しようとしても、グリッドは 10x10 のままですcolSize。これを修正して、グリッドを 15x15 の画面に開くにはどうすればよいですか?

このクラスは、グリッドのサイズを変更する場所です

import info.gridworld.actor.*;
import info.gridworld.grid.BoundedGrid;

public class pokeGrid extends ActorWorld{

    private static final int rowSize = 15;
    private static final int colSize = 15;

    public pokeGrid(){
        super(new BoundedGrid<Actor>(rowSize, colSize));
    }
}

このクラスはアクターのランナーです

public class BeecherBugRunner extends pokeGrid {

    private static pokeGrid world = new pokeGrid();

    public static void main(String[] args)
    {
        ActorWorld world = new ActorWorld();
        BeecherBug beecher = new BeecherBug(4);
        world.add(new Location(7, 8), beecher);
        world.show();
    }
}
4

1 に答える 1

3
private static pokeGrid world = new pokeGrid();

public static void main(String[] args)
{
    ActorWorld world = new ActorWorld();

    ...
}

ここでの問題は、で宣言されたworld基本型の変数がメンバー変数を隠していることです。したがって、以降のメソッド呼び出しは、カスタマイズしたワールド タイプではなく、デフォルトのワールド タイプで動作します。ActorWorldmainpokeGridworldworld

これを修正するには、ActorWorld world = ...から宣言を削除しmainます。メソッド呼び出しは、カスタマイズされたクラスで動作します。

于 2014-05-16T17:08:03.470 に答える