Subversion Repositories sokoban

Rev

Blame | Last modification | View Log | RSS feed

  1. package gdi1sokoban.globals;
  2.  
  3. /**
  4.  * class to store a point on the map
  5.  */
  6. public class Point{
  7.         // top and left position of point
  8.         public int top, left;
  9.         /**
  10.          * constructor for given position
  11.          * @param top top position of point
  12.          * @param left left position of point
  13.          */
  14.         public Point(final int top, final int left){
  15.                 this.top = top;
  16.                 this.left = left;
  17.         }
  18.        
  19.         /**
  20.          * constructor for given point
  21.          * @param p point
  22.          */
  23.         public Point(final Point p){
  24.                 this.top = p.top;
  25.                 this.left = p.left;
  26.         }
  27.        
  28.         /**
  29.          * returns a new point
  30.          * containing the position of the right, left, up, or down field
  31.          * of this point
  32.          * @param dir direction in {R, U, L, D}-format
  33.          */
  34.         public Point moveDirection(final char dir){
  35.                 switch(dir){
  36.                 case 'U':
  37.                         return new Point(top-1, left);
  38.                 case 'R':
  39.                         return new Point(top, left+1);
  40.                 case 'D':
  41.                         return new Point(top+1, left);
  42.                 case 'L':
  43.                         return new Point(top, left-1);
  44.                 }
  45.                 // invalid direction-char
  46.                 return new Point(top, left);
  47.         }
  48.         /**
  49.          * get Point as String
  50.          * @return point as string format: {top, left}
  51.          */
  52.         @Override
  53.         public String toString(){
  54.                 return "{"+top+","+left+"}";
  55.         }
  56.  
  57.  
  58. }