You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.3 KiB

  1. package de.fd.fh;
  2. public class FigureFarmer extends Figure
  3. {
  4. public int mColor;
  5. public FigureFarmer(int colorCode)
  6. {
  7. mColor = colorCode;
  8. }
  9. @Override
  10. public boolean moveAllowed(int src, int dst, Figure[] field)
  11. {
  12. int rowDiff = src / fieldLength - dst / fieldLength; // hoch/runter
  13. if (rowDiff > 1) // weißer Bauer nicht mehr als 1 Schritt nach "oben"
  14. {
  15. return false;
  16. }
  17. if (rowDiff <= 0) // weißer Bauer kein Schritt "runter"
  18. {
  19. return false;
  20. }
  21. // TODO: nur ein Schritt nach oben, wenn auf Ziel keine Figur
  22. // TODO: links, rechts verboten
  23. // TODO: Diagonal links/rechts hoch, wenn Figur geschlagen werden kann (Figur auf Ziel)
  24. return super.moveAllowed(src, dst, field);
  25. }
  26. @Override
  27. public boolean equals(Object o)
  28. {
  29. if (o == null)
  30. {
  31. return false;
  32. }
  33. if (this == o)
  34. {
  35. return true;
  36. }
  37. if (this.getClass() != o.getClass())
  38. {
  39. return false;
  40. }
  41. FigureFarmer otherFigure = (FigureFarmer)o;
  42. if (this.mColor != otherFigure.mColor)
  43. {
  44. return false;
  45. }
  46. return true;
  47. }
  48. }