
// DistTourSprite.java
// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th

/* Třída DistTourSprite pohybuje a otáčí spritem představujícím
   klienta z jiného počítače.

   Je velmi podobná třídě TourSprite, ovšem své pohyby/rotace
   neposílá serveru.

   Metody zde definované se volání z vlákna TourWatcher v reakci
   na zprávy pro pohyb/rotaci přijaté ze serveru.
*/


public class DistTourSprite extends Sprite3D
{
  private final static double MOVERATE = 0.3;
  private final static double ROTATE_AMT = Math.PI / 16.0;


  public DistTourSprite(String userName, String fnm, Obstacles obs,
								double xPosn, double zPosn)
  { 
    super(userName, fnm, obs);
    setPosition(xPosn, zPosn);
  }  // konec metody: DistTourSprite()


  // pohyb
  public boolean moveForward()
  { return moveBy(0.0, MOVERATE); }

  public boolean moveBackward()
  { return moveBy(0.0, -MOVERATE); }

  public boolean moveLeft()
  { return moveBy(-MOVERATE,0.0); }

  public boolean moveRight()
  { return moveBy(MOVERATE,0.0); }


  // rotace pouze kolem osy y
  public void rotClock()
  { doRotateY(-ROTATE_AMT); }   // ve směru hodinových ručiček

  public void rotCounterClock()
  { doRotateY(ROTATE_AMT); }  // proti směru hodinových ručiček

}  // konec třídy: DistTourSprite