Search code examples
javamethodsaccessormutators

Trouble getting java methods combined in one main method


class Bug {

// An ant is represented by the coordinates of its location,
// and the direction it is facing.
Integer x;
Integer y;
Dir dir;

enum Dir { E,W,N,S }
}

Bug(Integer x, Integer y, Dir dir) {
    this.x = x;
    this.y = y;
    this.dir = dir;
}}

class BugWorld {


Integer theBreadth, theHeight;
Board board;
Bug bug;

BugWorld(Integer breadth, Integer height) {
    board = new board(breadth, height);
    bug = new Bug(breadth/2, height/2, Ant.Direction.Y);
    theBreadth = breadth;
    theHeight = height;
}

I already have the following:

Status status(Integer x, Integer y) {
    return board[x][y];
}


void update(Integer x, Integer y) {
    board[x][y].next();
}

This part below is where I'm having some trouble:

/* Take the world of the bug to the next step. */
void step() {
    // 1) Get the state at the present bug position.
          //I've done the following (next line) so far.
           Bug status(Integer x, Integer y); ...?

    // 2) Change the 'status' at that position.
             .............?
}

It's just combining these that I'm having trouble with.


Solution

  • It's hard to understand what you're trying to do, but I think here's what you want

    void step(){
    
         //get the location of the bug 
         int x = bug.x;
         int y = bug.y;
    
         //gets the status of the location of the bug
         Status s = status(x,y);
    
         //move the bug, or do something based on the status of the place
    
         //update the status of the location the bug was originally on
         update(x,y)
    }