Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package snake.snakeRandom;
- import snake.*;
- import java.awt.*;
- import java.util.LinkedList;
- import java.util.Random;
- public class SnakeRandomAgent extends SnakeAgent {
- private LinkedList<Cell> visitedCells;
- private LinkedList<Integer> numVisitsCell;
- private Environment environment;
- public SnakeRandomAgent(Cell cell, Color color, Environment environment) {
- super(cell, color, environment);
- this.visitedCells=new LinkedList<>();
- this.numVisitsCell=new LinkedList<>();
- this.cell.setVisit();
- visitedCells.add(this.cell);
- numVisitsCell.add(1);
- this.environment=environment;
- }
- @Override
- protected Action decide(Perception perception) {
- Random random = environment.getRandom();
- int pos = random.nextInt(4);
- System.out.println(pos);
- switch (pos) {
- case 0:
- if (perception.getS() != null && !perception.getS().hasAgent() && !perception.getS().hasTail()) {
- return Action.SOUTH;
- }
- break;
- case 1:
- if (perception.getE() != null && !perception.getE().hasAgent() && !perception.getE().hasTail()) {
- return Action.EAST;
- }
- break;
- case 2:
- if (perception.getN() != null && !perception.getN().hasAgent() && !perception.getN().hasTail()) {
- return Action.NORTH;
- }
- break;
- case 3:
- if (perception.getW() != null && !perception.getW().hasAgent() && !perception.getW().hasTail()) {
- return Action.WEST;
- }
- break;
- }
- return decide(perception);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement