Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. public boolean PuedeMoverse(Action where) {
  2. boolean retVal = true;
  3.  
  4.  
  5. int misionerosIzda = misionerosIzda();
  6. int canibalesIzda = caniblaesIzda();
  7. int posBarca = posBarca();
  8. int misionerosDcha = misionerosDcha();
  9. int canibalesDcha = caniblaesDcha();
  10.  
  11.  
  12. if (where.equals(LEFT_C)) {
  13. retVal = ( posBarca==0 && canibalesIzda>=1 && (misionerosDcha >= canibalesDcha + 1 || misionerosDcha==0));
  14. }
  15. else if (where.equals(RIGHT_C)) {
  16. retVal = ( posBarca==1 && canibalesDcha>=1 && (misionerosIzda >= canibalesIzda + 1 || misionerosIzda==0));
  17. }
  18.  
  19.  
  20. else if (where.equals(LEFT_CC)) {
  21. retVal = ( posBarca==0 && canibalesIzda>=2 && (misionerosDcha >= canibalesDcha + 2 || misionerosDcha==0));
  22. }
  23. else if (where.equals(RIGHT_CC)) {
  24. retVal = ( posBarca==1 && canibalesDcha>=2 && (misionerosIzda >= canibalesIzda + 2 || misionerosIzda==0));
  25. }
  26.  
  27.  
  28. else if(where.equals(LEFT_CM)) {
  29. retVal = ( posBarca==0 && canibalesIzda>=1 && misionerosIzda >=1 && misionerosDcha >= canibalesDcha);
  30. }
  31. else if(where.equals(RIGHT_CM)) {
  32. retVal = ( posBarca==1 && canibalesDcha>=1 && misionerosDcha >=1 && misionerosIzda >= canibalesIzda);
  33. }
  34.  
  35.  
  36. else if(where.equals(LEFT_MM)) {
  37. retVal = ( posBarca==0 && misionerosIzda >=2 && misionerosDcha >= canibalesDcha - 2 && (misionerosIzda >= canibalesIzda +2 || misionerosIzda == 2 ) );
  38. }
  39. else if(where.equals(RIGHT_MM)) {
  40. retVal = ( posBarca==1 && misionerosDcha >=2 && misionerosIzda >= canibalesIzda - 2 && (misionerosDcha >= canibalesDcha +2 || misionerosDcha == 2 ) );
  41. }
  42.  
  43.  
  44. else if(where.equals(LEFT_M)) {
  45. retVal = ( posBarca==0 && misionerosIzda >=1 && misionerosDcha >= canibalesDcha - 1 && (misionerosIzda >= canibalesIzda +1 || misionerosIzda == 1 ) );
  46. }
  47. else if(where.equals(RIGHT_M)) {
  48. retVal = ( posBarca==1 && misionerosDcha >=1 && misionerosIzda >= canibalesIzda - 1 && (misionerosDcha >= canibalesDcha +1 || misionerosDcha == 1 ) );
  49. }
  50. return retVal;
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement