网格世界,网格不扩展



基本上,我使我的类将网格扩展到11乘11,构造函数被称为构造函数,但是它没有更改网格。关于为什么会非常感谢的任何输入或信息。我在下面发布了我的代码:

import info.gridworld.actor.*;
import info.gridworld.grid.BoundedGrid;
public class ChangeGrid extends ActorWorld{
private static final int SIZEROW = 11;
private static final int SIZECOL = 11;
public ChangeGrid()
{
    super(new BoundedGrid<Actor>(SIZEROW, SIZECOL));
    System.out.println("test");
}
}

import info.gridworld.actor.Bug;
public class XBug extends Bug {
    /**
     * A <code>BoxBug</code> traces out a square "box" of a given size. <br />
     * The implementation of this class is testable on the AP CS A and AB exams.
     */
        private int steps;
        private int sideLength;
        private int x = 0;
        private static ChangeGrid object = new ChangeGrid();

        /**
         * Constructs a box bug that traces a square of a given side length
         * @param length the side length
         */
        public XBug(int length)
        {
            steps = 0;
            sideLength = length;
        }
        /**
         * Moves to the next location of the square.
         */
        public void act()
        {
            if (steps < sideLength && canMove())
            {
                if(x==0)
                {
                    turn();
                }
                move();
                steps++;
                x++;
            }
            else
            {
                turn();
                steps = 0;
            }
        }
}

创建世界时,您的构造函数并未被调用。您在Actors类中调用它,然后您甚至都不调用.show()方法。您只需要更改跑步者类即可致电ChangeWorld而不是ActorWorld

这是您的代码的示例。

    public class Runner 
    {
        public static void main(String[]args)
        {
            ChangeWorld world = new ChangeWorld();
            XBug bug = new XBug();
            world.add(bug);
            world.show();
        }
    }    

最新更新