首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridWorld - CircleBug新产品

GridWorld - CircleBug新产品
EN

Stack Overflow用户
提问于 2014-01-20 20:13:03
回答 1查看 1.4K关注 0票数 0

我创建了一个名为CircleBug的新类,它与BoxBug几乎是一样的,但它只转了一次(除了2 ),从而使bug变成了一个“圆圈”,而不是一个盒子。

这是BoxBug,如“大学董事会网格世界手册”中所示:

代码语言:javascript
复制
import info.gridworld.actor.Bug;


public class BoxBug extends Bug
 {
private int steps;
private int sideLength;

/**
 * Constructs a box bug that traces a square of a given side length
 * @param length the side length
 */
public BoxBug(int length)
{
    steps = 0;
    sideLength = length;
}

/**
 * Moves to the next location of the square.
 */
@Override
public void act()
{
    if (steps < sideLength && canMove())
    {
        move();
        steps++;
    }
    else
    {
        turn();
        turn();
        steps = 0;
    }
    }
   }

BoxBugRunner:

代码语言:javascript
复制
import info.gridworld.actor.ActorWorld;
 import info.gridworld.grid.Location;

 import java.awt.Color;

 public class BoxBugRunner
{
public static void main(String[] args)
{
    ActorWorld world = new ActorWorld();
    BoxBug alice = new BoxBug(6);
    alice.setColor(Color.ORANGE);
    BoxBug bob = new BoxBug(3);
    world.add(new Location(7, 8), alice);
    world.add(new Location(5, 5), bob);
    world.show();
}
 }

这是循环Bug和CircleBugRunner的代码:

代码语言:javascript
复制
 package circlebug;

 import info.gridworld.actor.Bug;

 public class CircleBug extends Bug {

private int steps;
private int sideLength;


public CircleBug(int length) {
    steps = 0;
    sideLength = length;
}

@Override
public void act() {
    if (steps < sideLength && canMove()) {
        move();
        steps++;
    } else {
        turn();
        steps = 0;
    }
}
 }

圈虫跑者:

代码语言:javascript
复制
 package circlebug;

  import info.gridworld.actor.ActorWorld;
 import info.gridworld.grid.Location;
  import java.awt.Color;

 public class CircleBugRunner {

public static void main(String[] args) {
    ActorWorld world2 = new ActorWorld();
    CircleBug alice2 = new CircleBug(6);
    alice2.setColor(Color.RED);
    CircleBug bob2 = new CircleBug(3);
    bob2.setColor(Color.BLUE);
    world2.add(new Location(6, 6), alice2);
    world2.add(new Location(3, 3), bob2);
    world2.show();
}
}

这是我的问题。当我运行CircleBug时,它只运行BoxBug。有人看到怎么回事了吗?我在用Netbeans。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-21 17:55:14

不过,我解决了这个问题--我把BoxBug作为源代码包,所以它运行了这个包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21243246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档