Bonjour tout le monde !!

Dans le cadre de mes études je dois concevoir un "Donjon Crawler" type Rogue. Je n'en suis qu'au début mais je dois avouer que je bug sur un truc.
La classe suivante est le prototype de la future classe Game-Manager qui servira a géré les position du Héro/Ennemi, les combat, les action effectuer par le joueur etc...

Voila le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package DunjonCrawler;
 
import java.util.Scanner;
 
public class GameManager {
 
	Vector U = new Vector(10,10);
	//setup la position
	public static String tick(Hero hero){
		String choix;
		while(hero.getHP()>0){//tant que le hero est pas mort
			Scanner sc = new Scanner(System.in);
			do{
				choix = sc.next();//récupère le choix du joueur
				switch(choix){//effectu la concéquence de son choix
 
					case "z": Vector U = new Vector(hero.getPosition().getX(),hero.getPosition().getY()+1);
							hero.setPosition(U);
							break;
					case "s": Vector U2 = new Vector(hero.getPosition().getX(),hero.getPosition().getY()-1);
							hero.setPosition(U2);
							break;
					case "q": Vector U3 = new Vector(hero.getPosition().getX()-1,hero.getPosition().getY());
							hero.setPosition(U3);
							break;
					case "d": Vector U4 = new Vector(hero.getPosition().getX(),hero.getPosition().getY()+1);
							hero.setPosition(U4);
							break;
					case "p": hero.drink();
					default : choix="Erreur";
							  System.out.println("Saisie Incorecte");
							  break;
				}
			}while(choix=="Erreur");
			sc.close();
			hero.getPosition().print();//affiche la position
		}
		return "mort";
	}
 
	public static void main(String[] args){
		Vector U = new Vector(10,10);
		Hero hero = new Hero(10,10,10,10,10,U);//crée l'objet hero
		tick(hero);//lance la méthode tick
	}	
}
Mon problème lors de l'exécution je tombe la dessus et malgré mes recherche je ne trouve pas l'erreur qui dois être toute bête...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
C
Saisie Incorecte
z
10//11
Exception in thread "main" java.util.NoSuchElementException
	at java.util.Scanner.throwFor(Unknown Source)
	at java.util.Scanner.next(Unknown Source)
	at DunjonCrawler.GameManager.tick(GameManager.java:14)
	at DunjonCrawler.GameManager.main(GameManager.java:44)
Merci d'avance