• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Javascript hangman funzt nicht

ranvier

Neues Mitglied
Ich habe das spiel hangman mit javascript "programmiert".
Nun habe ich eine kleinigkeit geändert und nun finktioniert es nicht mehr ich weiß aber nicht mehr was und finde es auxh nicht.
Hier der Js code
Code:
"use strict";
var pressed;
var word;
var wordlength;
var hardness;
var i =0;
var b =0;
var s =0;
var fail=1000;
var statushm = 0;
var anzrichtig=0;
function create_again() {
var eingabe = document.getElementsByClassName("eingabe")[0];
var again_div = document.createElement("DIV");
var again_button = document.createElement("INPUT");
again_div.appendChild(again_button);
eingabe.appendChild(again_div);
again_div.id = "againdiv";
again_button.type = "button";
again_button.value = "Again";
again_button.id = "againbutton";
again_button.onclick = function again() { location.reload(); }; }
function removeeingabe() { var asdf = document.getElementsByClassName("keys")[0];
asdf.parentNode.removeChild(asdf); }
function ywtt() {
window.open("wtts/you_win_this_time.html", "", "resizable=no", "width=200", "height=100"); create_again(); }
function iwtt() {
window.open("wtts/i_win_this_time.html", "", "resizable=no", "width=200", "height=100"); create_again(); }
function lose() {
document.getElementById("hangman").src="images/hangman/hangman91.png"; removeeingabe(); iwtt(); }
function hmtrue(ift) { document.getElementById(ift).innerHTML = word[ift]; }
function hmfalse() {
statushm=statushm+1;
if(b==0){
document.getElementsByClassName("wrongletters")[0].innerHTML += pressed; b=1; }
switch(statushm) {
case 0: document.getElementById("hangman").src="images/other/background.png"; break;
case 1: document.getElementById("hangman").src="images/hangman/hangman1.png"; break;
case 2: document.getElementById("hangman").src="images/hangman/hangman2.png"; break;
case 3: document.getElementById("hangman").src="images/hangman/hangman3.png"; if(hardness == 3) { document.getElementById("hangman").src="images/hangman/hangman4.png"; statushm=statushm+1; } break;
case 4: document.getElementById("hangman").src="images/hangman/hangman4.png"; break;
case 5: document.getElementById("hangman").src="images/hangman/hangman5.png"; break;
case 6: document.getElementById("hangman").src="images/hangman/hangman6.png"; break;
case 7: document.getElementById("hangman").src="images/hangman/hangman7.png"; break;
case 8: document.getElementById("hangman").src="images/hangman/hangman8.png"; if((hardness==3) || (hardness==2)) { document.getElementById("hangman").src="images/hangman/hangman81.png"; statushm=statushm+1; } break;
case 9: document.getElementById("hangman").src="images/hangman/hangman81.png"; break;
case 10: document.getElementById("hangman").src="images/hangman/hangman9.png"; if((hardness==3) || (hardness==2)) { lose();}  break;
case 11: lose(); break; } }
function check(){
for(i=0;i<wordlength;i=i+1){
if(word[i]==pressed){ fail=0;  hmtrue(i); anzrichtig=anzrichtig+1; if(anzrichtig==wordlength){ removeeingabe(); ywtt(); } }
if(fail==0){ fail=1000; }
else{ if(s==0){ hmfalse(); s=1; } } }  s=0; b=0; }
function button_pressed(x) {
var y = document.getElementById(x);
y.parentNode.removeChild(y);
x=x.toUpperCase();
pressed=x;
check(); }
function uebergabe() {
var wordfull = document.getElementById("wort").value;
wordfull = wordfull.toUpperCase();
word = wordfull.split("");
wordlength = wordfull.length;
var out=new Array(wordlength);
var outout=new Array(wordlength);
var outline = document.getElementsByClassName("outline")[0];
var e = document.getElementById("selectdiff");
hardness = e.options[e.selectedIndex].value;
document.getElementById("wort").value = "";
for(i=0;i<wordlength;i=i+1) {
out[i] = document.createElement("span");
outout[i] = document.createTextNode("_");
out[i].id=i;
out[i].appendChild(outout[i]);
outline.appendChild(out[i]); }
document.getElementById("hangman").src="images/other/background.png";
var formular = document.getElementsByClassName("eingabeformular")[0];
formular.parentNode.removeChild(formular); }
function back() { window.open("index.html"); }
function randomword() {
var rword = ["Aqua","Aquarium","Quiz","Hangman","Javascript","Ypsilon","Xylophon","Huehnchensalatsandwich","Yeti","Dampfschiffskapitaensstellvertreterkajuetenreinigungsgehilfengehalt","Nintendo","Puzzle","Mythen","Halloween","Banane","Eierschalenbruchstellenverursacher","Silvester","Mathematik","Ipad","Camping","Dutzend","Amerika","Computer","Oel","Schneeballwurfmaschine","Kleeblatt","Notizen","Gott","Oreo","Couch","Olympia","Ninjawurfstern","Therme","Nokia"];
var l = rword.length;
var x = Math.floor((Math.random() * l));
var wordfull = rword[x];
wordfull = wordfull.toUpperCase();
word = wordfull.split("");
wordlength = wordfull.length;
var out=new Array(wordlength);
var outout=new Array(wordlength);
var outline = document.getElementsByClassName("outline")[0];
var e = document.getElementById("selectdiff");
hardness = e.options[e.selectedIndex].value;
document.getElementById("wort").value = "";
for(i=0;i<wordlength;i=i+1) {
out[i] = document.createElement("span");
outout[i] = document.createTextNode("_");
out[i].id=i;
out[i].appendChild(outout[i]);
outline.appendChild(out[i]); }
document.getElementById("hangman").src="images/other/background.png";
var formular = document.getElementsByClassName("eingabeformular")[0];
formular.parentNode.removeChild(formular); }
 
Werbung:
Es wird auch bei einer richtigen eingabe der hangman weitergezeichnet. Das letzte das ich hinzugefügt habe waren zeile 34,35
In der fehlerkonsole steht asdf is undefined.
 
Werbung:
Dann schau mal in deinem HTML-Code, ob es Elemente mit der Klasse keys gibt und wenn ja wieviele davon.
 
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8"/>
<title> HangMan</title>
<link href="hangmanncss.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="ausgabe">
<div class="hangman">
<img id="hangman" src ="images/hangman/hangman91.png" alt="Hangman"/>
</div>
<div class="outline">
</div>
</div>
<div class="eingabe">
<div class="keys">
<div class="firstline">
<img id="einruck1" src="images/other/background.png" class="einruecke" alt=""/>
<img id="q" src="images/keys/Q_gr.png" class="key" onclick="button_pressed('q')" alt="q"/>
<img id="w" src="images/keys/W_gr.png" class="key" onclick="button_pressed('w')" alt="w"/>
<img id="e" src="images/keys/E_gr.png" class="key" onclick="button_pressed('e')" alt="e"/>
<img id="r" src="images/keys/R_gr.png" class="key" onclick="button_pressed('r')" alt="r"/>
<img id="t" src="images/keys/T_gr.png" class="key" onclick="button_pressed('t')" alt="t"/>
<img id="z" src="images/keys/Z_gr.png" class="key" onclick="button_pressed('z')" alt="z"/>
<img id="u" src="images/keys/U_gr.png" class="key" onclick="button_pressed('u')" alt="u"/>
<img id="i" src="images/keys/I_gr.png" class="key" onclick="button_pressed('i')" alt="i"/>
<img id="o" src="images/keys/O_gr.png" class="key" onclick="button_pressed('o')" alt="o"/>
<img id="p" src="images/keys/P_gr.png" class="key" onclick="button_pressed('p')" alt="p"/>
</div>
<div class="secondline">
<img id="einruck2" src="images/other/background.png" class="einruecke" alt=""/>
<img id="a" src="images/keys/A_gr.png" class="key" onclick="button_pressed('a')" alt="a"/>
<img id="s" src="images/keys/S_gr.png" class="key" onclick="button_pressed('s')" alt="s"/>
<img id="d" src="images/keys/D_gr.png" class="key" onclick="button_pressed('d')" alt="d"/>
<img id="f" src="images/keys/F_gr.png" class="key" onclick="button_pressed('f')" alt="f"/>
<img id="g" src="images/keys/G_gr.png" class="key" onclick="button_pressed('g')" alt="g"/>
<img id="h" src="images/keys/H_gr.png" class="key" onclick="button_pressed('h')" alt="h"/>
<img id="j" src="images/keys/J_gr.png" class="key" onclick="button_pressed('j')" alt="j"/>
<img id="k" src="images/keys/K_gr.png" class="key" onclick="button_pressed('k')" alt="k"/>
<img id="l" src="images/keys/L_gr.png" class="key" onclick="button_pressed('l')" alt="l"/>
<img id="hiddenkey4" src="images/other/background.png" class="key hkey" alt=""/>
</div>
<div class="thirdline">
<img id="einruck3" src="images/other/background.png" class="einruecke" alt=""/>
<img id="y" src="images/keys/Y_gr.png" class="key" onclick="button_pressed('y')" alt="y"/>
<img id="x" src="images/keys/X_gr.png" class="key" onclick="button_pressed('x')" alt="x"/>
<img id="c" src="images/keys/C_gr.png" class="key" onclick="button_pressed('c')" alt="c"/>
<img id="v" src="images/keys/V_gr.png" class="key" onclick="button_pressed('v')" alt="v"/>
<img id="b" src="images/keys/B_gr.png" class="key" onclick="button_pressed('b')" alt="b"/>
<img id="n" src="images/keys/N_gr.png" class="key" onclick="button_pressed('n')" alt="n"/>
<img id="m" src="images/keys/M_gr.png" class="key" onclick="button_pressed('m')" alt="m"/>
<img id="hiddenkey1" src="images/other/background.png" class="key hkey" alt=""/>
<img id="hiddenkey2" src="images/other/background.png" class="key hkey" alt=""/>
<img id="hiddenkey3" src="images/other/background.png" class="key hkey" alt=""/>
</div>
</div>
<br/>
<div class="wrongletters">
</div>
<br/>
<br/>
<div class ="eingabeformular">
<div class="headlineeingabe">Eingabe für Hangman</div><br/>
<div class="einagbewort">
<div class="eingabewortheadline">Word:</div>
<input type="text" name="word" id="wort" size="12">or<input type="button" name="randomwordb" id="rwordbutton" value="random word" onclick="randomword()"><br/><br/>
</div>
<div class="eingabehardness">
<div class="eingabewortheadline">Difficulty:</div>
<select id="selectdiff">
<option value="1">easy</option>
<option value="2" selected="selected">normal</option>
<option value="3">hard</option>
</select>
<br/><br/>
</div>
<input type="button" value="Start" onclick="uebergabe()"><br/><br/>
</div>
</div>
<div class="bspwordsdiv">
<div class="hlbsptxt">
if you know a good word for hangman write it into here and press senden
</div>
<form action="hangman.php" method="GET">
<input type="text" name="bspwords" id="bspwords">
<input type="submit" value="Senden">
</form>
</div>
<div class="madeby">
this page is made by
</div>
<script type="text/javascript" src="hangman.js">
</script>
</body>
</html>
 
Zuletzt bearbeitet:
Ersetze mal das
Code:
document.getElementsByClassName("eingabe")[0]/code] durch [code]document.getElementsByClassName("eingabe")
+ Ermittlung des ersten Childs. Ich denke die Array-Angabe [0] könnte dein Browser nicht mitmachen, weshalb Du das anpassen solltest.
 
Werbung:
Zurück
Oben