GridWorld,网格不扩展

时间:2014-03-08 14:39:42

标签: java gridworld

基本上我让我的类将网格扩展到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;
            }
        }

}

1 个答案:

答案 0 :(得分: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();
        }
    }