Package uni.robot

Class Robot

All Implemented Interfaces:
Serializable

public class Robot extends StubObject implements Serializable
Esta clase representa un Robot abstracto. Estos robots existen en un Mundo relativamente vacio (donde no existen autos ni casas) con el unico objeto de hacer tareas simples, pero interesantes.

Un Robot siempre se encuentra en una esquina mirando hacia una direccion (NORTE, SUR, ESTE u OESTE). El Robot es un Robot mobil, capaz de transladarse de una esquina a otra, pero tiene que tener cuidado, ya que puede chocar con una pared. Para evitar collisionar con las paredes, el Robot tiene un visor de corta distancia que le deja ver si en frente hay una pared o no.

El Robot tiene brazos y una bolsita de conos, lo que le deja poner conos en el mundo, y recoger conos y ponerlos en la bolsita. Pero nuevamente hay que tener cuidado, ya que el robot tiene una cantidad limitada de conos, y su bolsita tambien tiene espacio limitado.

Vos, como el dueño, tienes la responsabilidad de guiar a los Robot, usando sus sensores y acciones adecuadamente, para que realizen las tareas necesarias de forma correcta.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Crea un Robot en la esquina superior-izquierda del Mundo, mirando al sur, con 10 conos (de cantidad y capacidad).
    Robot(Mundo m, int fila, int columna, int dirInicial, int cantidadMaxima, int cantConos)
    Crea un Robot en un Mundo, con la posicion, direccion, cantidad y capacidad de conos especificadas.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Hace que el Robot avance al frente, hasta la siguiente esquina.
    int
    Devuelve la cantidad de conos que el Robot tiene actualmente.
    int
    Devuelve la cantidad de conos que entran dentro de la bolsita de este Robot.
    int
    Devuelve el numero de columna donde este Robot se encuentra.
    int
    Devuelve la direccion actual que este Robot esta mirando.
    int
    Devuelve el numero de fila donde este Robot se encuentra.
    Devuelve el Mundo donde el Robot existe actualmente.
    void
    Hace que este Robot gire 90° hacia la derecha.
    void
    Hace que este Robot gire 90° hacia la izquierda.
    void
    Hace que el Robot guarde un cono en la posicion actual.
    boolean
    Controla si en la posicion actual del Robot hay por lo menos un cono.
    void
    Hace que el Robot ponga un cono en su posicion actual.
    boolean
    Controla si el Robot puede avanzar, es decir, si no hay ninguna pared en frente del Robot.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • Robot

      public Robot(Mundo m)
      Crea un Robot en la esquina superior-izquierda del Mundo, mirando al sur, con 10 conos (de cantidad y capacidad).
      Parameters:
      m - El mundo en donde crear el Robot.
    • Robot

      public Robot(Mundo m, int fila, int columna, int dirInicial, int cantidadMaxima, int cantConos)
      Crea un Robot en un Mundo, con la posicion, direccion, cantidad y capacidad de conos especificadas.
      Parameters:
      m - El mundo en donde crear el Robot.
      fila - La fila inicial del Robot.
      columna - La columna inicial del Robot.
      dirInicial - La direccion inicial del Robot.
      cantidadMaxima - La capacidad de la bolsita.
      cantConos - La cantidad de conos inicial.
  • Method Details

    • girarIzquierda

      public void girarIzquierda()
      Hace que este Robot gire 90° hacia la izquierda.
    • girarDerecha

      public void girarDerecha()
      Hace que este Robot gire 90° hacia la derecha.
    • avanzar

      public void avanzar()
      Hace que el Robot avance al frente, hasta la siguiente esquina. Si choca con alguna pared, el Robot lanza un error.
    • ponerCono

      public void ponerCono()
      Hace que el Robot ponga un cono en su posicion actual. Tira un error si al Robot no le quedan conos en la bolsita.
    • guardarCono

      public void guardarCono()
      Hace que el Robot guarde un cono en la posicion actual. Tira un error si no hay ningun cono o si la bolsita del Robot esta lleno.
    • getFila

      public int getFila()
      Devuelve el numero de fila donde este Robot se encuentra.
      Returns:
      El numero de fila.
    • getColumna

      public int getColumna()
      Devuelve el numero de columna donde este Robot se encuentra.
      Returns:
      El numero de columna.
    • getDireccion

      public int getDireccion()
      Devuelve la direccion actual que este Robot esta mirando.
      Returns:
      la direccion actual del Robot.
    • hayCono

      public boolean hayCono()
      Controla si en la posicion actual del Robot hay por lo menos un cono.
      Returns:
      Si hay un cono o no en la posicion actual.
    • getCantidadConos

      public int getCantidadConos()
      Devuelve la cantidad de conos que el Robot tiene actualmente.
      Returns:
      La cantidad de conos que tiene el Robot.
    • getCapacidadConos

      public int getCapacidadConos()
      Devuelve la cantidad de conos que entran dentro de la bolsita de este Robot.
      Returns:
      La capacidad de la bolsita de este Robot.
    • puedeAvanzar

      public boolean puedeAvanzar()
      Controla si el Robot puede avanzar, es decir, si no hay ninguna pared en frente del Robot.
      Returns:
      Si el Robot puede avanzar.
    • getMundo

      public Mundo getMundo()
      Devuelve el Mundo donde el Robot existe actualmente.
      Returns:
      el Mundo donde el Robot esta.