void Turn() throws IOException{
		// Initialisations for every turn
		this.SetHas_attacked(false);
		this.SetMovement_points(this.GetMovement_range());
		int i=0;
		
		if (!IsAi()){
			while (this.Has_more_moves() || !this.has_attacked){
				// Chose your actions
				System.out.println("Please choose your action. Enter :");
				System.out.println("A to attack (if you haven't attacked this round");
				System.out.println("F to finish your turn");
				PlayerAction(GetActionInput());			
			}
		}
		
		else {
			// AI Logic
			while (i<=Game.number_of_agents){
				if (Game.all_agents[i].GetTeam() != this.GetTeam()){
					this.Attack(Game.all_agents[i]);
					i= Game.number_of_agents+1; // to break from loop
				}
				i++;
			}
					}
		
		return;
	}