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.

41 lines
1.0 KiB

3 years ago
3 years ago
  1. package de.fd.fh;
  2. public class Figure
  3. {
  4. public static final int fieldLength = 8;
  5. public boolean moveAllowed(int src, int dst, int[] field)
  6. {
  7. if (src == dst)
  8. {
  9. return false;
  10. }
  11. if (field.length != Figure.fieldLength * Figure.fieldLength)
  12. {
  13. return false;
  14. }
  15. if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach links oben
  16. {
  17. return false;
  18. }
  19. if (src / fieldLength - dst / fieldLength > 0 && src % fieldLength - dst % fieldLength < 0) // diagonal nach rechts oben
  20. {
  21. return false;
  22. }
  23. if (src / fieldLength - dst / fieldLength < 0 && src % fieldLength - dst % fieldLength > 0) // diagonal nach rechts oben
  24. {
  25. return false;
  26. }
  27. if (src / 8 - dst / 8 < 0 && src % 8 - dst % 8 < 0) // diagonal nach rechts unten
  28. {
  29. return false;
  30. }
  31. return true;
  32. }
  33. }