Guest User

Untitled

a guest
Feb 18th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. public boolean siirrySatunnaiseenSuuntaan(Maasto preferenssimaasto){
  2. List<Ilmansuunta> suunnat = new ArrayList<Ilmansuunta>();
  3. List<Ilmansuunta> prefMaastot = new ArrayList<Ilmansuunta>();
  4. List<Ilmansuunta> samatMaastot = new ArrayList<Ilmansuunta>();
  5. suunnat.add(Ilmansuunta.POHJOINEN);
  6. suunnat.add(Ilmansuunta.ITA);
  7. suunnat.add(Ilmansuunta.ETELA);
  8. suunnat.add(Ilmansuunta.LANSI);
  9. Ilmansuunta p;
  10. Maasto mista = this.annaSijainti().annaMaasto();
  11. Maasto mihin;
  12. for(int i = 0; i < suunnat.size(); i++){
  13. p = suunnat.get(i);
  14. if(this.annaSijainti().annaNaapuri(p) != null){
  15. mihin = this.annaSijainti().annaNaapuri(p).annaMaasto();
  16. if(mihin == preferenssimaasto && this.voiSiirtya(mista, mihin)){
  17. prefMaastot.add(p);
  18. }
  19. if(mihin != preferenssimaasto && mihin == this.annaSijainti().annaMaasto()
  20. && this.voiSiirtya(mista, mihin)){
  21. samatMaastot.add(p);
  22. }
  23. }
  24. if(!prefMaastot.isEmpty()){
  25. this.siirry(prefMaastot.get(rand.nextInt(prefMaastot.size())));
  26. return true;
  27. }
  28. if(prefMaastot.isEmpty() && !samatMaastot.isEmpty()){
  29. this.siirry(samatMaastot.get(rand.nextInt(samatMaastot.size())));
  30. return true;
  31. }
  32. if((prefMaastot.isEmpty() && samatMaastot.isEmpty()) || preferenssimaasto == null){
  33. this.siirry(suunnat.get(rand.nextInt(suunnat.size())));
  34. return true;
  35. }
  36. }
  37. return false;
  38. }
Add Comment
Please, Sign In to add comment