anchor.diff:      territories = new List<Territory>();
     }
     List<Territory> turn();
  +  void resupply(){
  +    int max =1;
  +    int temp=1 ;
  +    for(int i =0;i<territories.length;i++){    
  +      List<Territory> list =new List<Territory>(); 
  +      list.add(territories[i]);
  +      temp = longestRoute(territories[i],list,1);
  +      if(temp>max)max=temp;
  +    } 
  +    for(int i =0;i<max;i++){
  +      Random test; 
  +    }
  +  }
  +  
  +  int longestRoute (Territory territory,List<Territory> list, int max){
  +    int ret =max;
  +    int temp;
  +    territory.neighbours.values.forEach((f) {            
  +              if (territory.owner == f.owner&&!list.contains(f)) {
  +                List<Territory> out = new List<Territory> ();
  +                out.addAll(list);
  +                out.add(territory);
  +                temp = longestRoute(f,out,max+1);
  +                if(temp>ret)ret=temp;
  +              }
  +            });
  +    return ret;
  +  }
  +  
   }
   
   class Ai_agg extends Player {
  
positive.code:         });
        }
      }
      return null;
    }
  }
  class Human extends Player {
  
negative.code:         });
        }
      }
      return list;
    }
  }
  class Ai_deff extends Player {
  