Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public boolean siirrySatunnaiseenSuuntaan(Maasto preferenssimaasto){
- List<Ilmansuunta> suunnat = new ArrayList<Ilmansuunta>();
- List<Ilmansuunta> prefMaastot = new ArrayList<Ilmansuunta>();
- List<Ilmansuunta> samatMaastot = new ArrayList<Ilmansuunta>();
- suunnat.add(Ilmansuunta.POHJOINEN);
- suunnat.add(Ilmansuunta.ITA);
- suunnat.add(Ilmansuunta.ETELA);
- suunnat.add(Ilmansuunta.LANSI);
- Ilmansuunta p;
- Maasto mista = this.annaSijainti().annaMaasto();
- Maasto mihin;
- for(int i = 0; i < suunnat.size(); i++){
- p = suunnat.get(i);
- if(this.annaSijainti().annaNaapuri(p) != null){
- mihin = this.annaSijainti().annaNaapuri(p).annaMaasto();
- if(mihin == preferenssimaasto && this.voiSiirtya(mista, mihin)){
- prefMaastot.add(p);
- }
- if(mihin != preferenssimaasto && mihin == this.annaSijainti().annaMaasto()
- && this.voiSiirtya(mista, mihin)){
- samatMaastot.add(p);
- }
- }
- if(!prefMaastot.isEmpty()){
- this.siirry(prefMaastot.get(rand.nextInt(prefMaastot.size())));
- return true;
- }
- if(prefMaastot.isEmpty() && !samatMaastot.isEmpty()){
- this.siirry(samatMaastot.get(rand.nextInt(samatMaastot.size())));
- return true;
- }
- if((prefMaastot.isEmpty() && samatMaastot.isEmpty()) || preferenssimaasto == null){
- this.siirry(suunnat.get(rand.nextInt(suunnat.size())));
- return true;
- }
- }
- return false;
- }
Add Comment
Please, Sign In to add comment