2016-10-07 1 views
-2

Ich versuche, ein Hangman-Spiel zu bauen, und ich brauche Hilfe mit der Logik. Ich bin in einer Anfängerklasse, also möchte ich versuchen, dies mit der Anfänger-Syntax zu erstellen. Was ich versuche herauszufindenLogic of Hangman Spiel mit Javascript

2) Mein Problem ist, dass ich Bindestriche (-) anzeigen muss, die Leerzeilen darstellen und sie müssen die gleiche Länge des zufällig gewählten Wortes sein. Außerdem muss ich jedes Mal, wenn ein Brief richtig erraten wird, die Bindestriche durch den richtigen Buchstaben ersetzen. Eine Lösung, an die ich gedacht habe, ist, ein leeres Array zu erstellen und es dann in einer for-Schleife der Strichlänge zuzuweisen und dann die Indizes der einzelnen Bindestriche durch übereinstimmende Buchstaben zu ersetzen, aber ich bin mir nicht sicher, ob das funktioniert .

var randomWords = ['rock', 'paper', 'scissors']; 
var numWins = 0; 
var chosenWord = randomWords[Math.floor(Math.random() * randomWords.length)]; 
document.onkeyup = function(event) { 
    // var userGuess = String.fromCharCode(event.keyCode).toLowerCase(); 
    var dashes = ""; 
    for (var x = 0; x < chosenWord.length; x++) { 
     dashes += " - "; 
     // document.getElementById("word").innerHTML = blankLines; 
     // document.getElementById("word").innerHTML = ; 
    } 
    document.getElementById("word").innerHTML = dashes; 

Der Versuch, unter einen Strich mit einem Buchstaben in Linien zu ersetzen. Aber beide haben Code auskommentiert und nicht auskommentierte Codes funktionieren. Deshalb habe ich ein leeres Array verwenden denke aber nicht sicher, ob ich es mit Daten unter Verwendung eines foor Schleife füllen

 // for (x = 0; x < chosenWord.length; x++) 
    // { 
    //   dashes[x] = "a"; 
    //   dahes.charAt(x) = 'a'; 
    // } 
    dashes.charAt(0) = "a"; 
    document.getElementById("test2").innerHTML = dashes; 
+0

Wenn Sie nicht sicher sind, ob es funktionieren wird, sollten Sie es versuchen und herausfinden;) Deine Idee von Strings in einem Array zu ersetzen ist gut und ich würde Ihnen vorschlagen Gehen Sie diesen Weg. Lesen Sie auf ['Join'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join). Es wird Ihnen sehr helfen, wenn Sie anzeigen möchten, was sich in dem Array befindet. –

+0

Es scheint, dass Sie tatsächlich keine Frage gestellt haben. Stack Overflow ist kein kostenloser Code-Schreibdienst. Bitte überprüfen Sie [fragen]. – zzzzBov

Antwort

0

Dieser sollte funktionieren. Im ersten Fall (wenn im Wort ein Leerzeichen enthalten ist) wird ein Leerzeichen angezeigt. Im zweiten Fall ersetzt er jeden Buchstaben des Wortes mit einem Bindestrich.

var dashes = ""; 
 

 

 
for (i = 0; i < chosenWord.length; i++) { 
 
    if (chosenWord.charAt(i) == " ") { 
 
    dashes += " "; 
 
    } else { 
 
    dashes += "-"; 
 
    } 
 
}

+0

Ich habe dieses Spiel vor ein paar Monaten gemacht, ich könnte dir den Code schicken, wenn du willst. –

+0

Okay, sicher. Aber ich werde es mir nicht ansehen, bis ich völlig ratlos bin und nichts getan habe, was ich getan habe. – henhen

Verwandte Themen