Ich mache eine Verbindung vier Spiel. Wenn ein menschlicher Spieler das Spiel spielt, möchte ich, dass er auf die Spalte klicken kann, in der er sich bewegen möchte.Wie man das Skript pausiert, bis die Benutzereingabe passiert
Ich struggeling mit dem Hinzufügen von Ereignissen zu den Spalten, die legal sind, um einen Zug zu machen in. Der folgende Code soll einen Gegenstand von legalMoves
zurückgeben, basierend auf welcher Spalte der Spieler klickt. Solange kein Klick auf eine legale Spalte erfolgt, sollte der Code pausieren und warten.
Gerade jetzt scheint es, als ob die Zeilen mit addEventListeners
einfach ignoriert werden, der Code läuft einfach weiter und wartet nicht auf menschliche Eingaben.
// array of legal moves, eg.[0,1,3,5,6]
let legalMoves = game.getLegalMoves();
// initialization with -1 to check if it changes
let humanMove = -1;
//column nodes
let node = document.getElementsByClassName("column");
// my try of getting at least the first column to work
node[0].addEventListener("click", function() {
humanMove = 0;
});
/* pseudo code:
while(humanmove===-1){
wait here until one event listener fires
}*/
// returns -1 every time :'(
return humanMove;
Sie können nur hinzufügen, wenn Aussage, wo Sie überprüfen, ist 'humanMove = = -1' nach der Ereignisliste ner Erklärung und davon abhängen, dass Sie entscheiden, was als nächstes passieren wird – Leguest
Ich brauche nicht die while-Schleife. Warum tust du nicht, was immer du vorhast (vielleicht rufst du eine Funktion mit einem bestimmten Parameter an) im Click-Event-Listener selbst? – jrook
@Leguest Meinst du was ich im Pseudocode geschrieben habe? Was könnte ich in die Zahnspange stecken? – Tweakimp