2017-11-30 5 views
0

Ich arbeite an einem Text-basierten Spiel und habe Probleme, es zu starten. Es scheint, dass die Zeilen, die die onclick-Funktion der Schaltflächen (btn0 - btn3) in Fight() ändern sollen, diese Funktionen ausführen, anstatt nur die Schaltflächenfunktionalität zu ändern. Ich habe das herausgefunden, indem ich den Funktionen, die nie aufgerufen werden, Warnungen hinzugefügt habe und sie beim Start des Spiels erscheinen lassen, aber die Tasten haben dann nicht die Möglichkeit, die Funktionen aufzurufen, wenn sie angeklickt werden.Schaltfläche ändern .aufklicken, seltsame Ergebnisse erhalten (Anfänger)

var paragraph = document.createElement('p'); 
 
var textNode = document.createTextNode("You are accused of cosmic crimes by the GAMARO OF MAGNARAX. How do you plead?"); 
 
var gameText = document.getElementById("game"); 
 

 
var btn0 = document.getElementById("btn0"); 
 
var btn1 = document.getElementById("btn1"); 
 
var btn2 = document.getElementById("btn2"); 
 
var btn3 = document.getElementById("btn3"); 
 

 
var btn0_content = document.createTextNode("GUILTY"); 
 
var btn1_content = document.createTextNode("INNOCENT"); 
 
var btn2_content = document.createTextNode(""); 
 
var btn3_content = document.createTextNode(""); 
 

 
function start() { 
 

 
    document.getElementById("start_button").style.display = "none"; 
 

 
    paragraph.appendChild(textNode); 
 
    gameText.appendChild(paragraph); 
 

 
    btn0.appendChild(btn0_content); 
 
    btn1.appendChild(btn1_content); 
 
    btn2.appendChild(btn2_content); 
 
    btn3.appendChild(btn3_content); 
 
} 
 

 
var yourHPElement = document.getElementById("you"); 
 
var bossHPElement = document.getElementById("boss"); 
 
var yourHP = 100; 
 
var bossHP = 1000; 
 
var dice = Math.floor(Math.random()*10)+1; 
 
var hit = dice; 
 

 
function fight() { 
 

 
    btn0_content.textContent = "Attack"; 
 
    btn1_content.textContent = "Defend"; 
 
    btn2_content.textContent = "Item"; 
 
    btn3_content.textContent = "Inspect"; 
 

 
    yourHPElement.textContent = yourHP; 
 
    bossHPElement.textContent = bossHP; 
 

 
    rollBoss() 
 

 
    gameText.children[1].textContent = "You are to be executed. You are struck for " + hit + " damage but did not fall.";  
 

 
    btn0.onclick = rollYours(); 
 
    btn1.onclick = defend(); 
 
    btn2.onclick = item(); 
 
    btn3.onclick = inspect(); 
 
} 
 

 
function rollBoss() { 
 
    yourHP = yourHP - hit; 
 
    yourHPElement.textContent = yourHP; 
 
} 
 

 
function rollYours() { 
 
    bossHP = bossHP - hit; 
 
    bossHPElement.textContent = bossHP; 
 
} 
 

 
function defend() { 
 
    alert("This feature not yet added."); 
 
} 
 

 
function item() { 
 
    alert("This feature not yet added."); 
 
} 
 

 
function inspect() { 
 
    alert("This feature not yet added."); 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>CORRUPTED LAND</title> 
 
\t <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
 
\t <meta charset="utf-8"> 
 
\t <link rel="stylesheet" type="text/css" href="./corrupted_land.css"> 
 
\t <link href="https://fonts.googleapis.com/css?family=Russo+One" rel="stylesheet"> 
 
\t <link href="https://fonts.googleapis.com/css?family=Play" rel="stylesheet"> 
 
</head> 
 
<body> 
 
\t <h1>CORRUPTED LAND</h1> 
 
\t <div id="game"> 
 
\t \t <button type="button" id="start_button" onclick="start()">Start Game</button> 
 
\t </div> 
 
\t <div id="buttons"> 
 
\t \t <button type="button" id="btn0" onclick="fight()"></button> 
 
\t \t <button type="button" id="btn1" onclick="fight()"></button> 
 
\t \t <button type="button" id="btn2" onclick="fight()"></button> 
 
\t \t <button type="button" id="btn3" onclick="fight()"></button> 
 
\t </div> 
 
\t <div id="hp"> 
 
\t \t <span id="you"></span> 
 
\t \t <span id="boss"></span> 
 
\t </div> 
 
<script src="corrupted_land.js"></script> 
 
</body> 
 
</html>

Antwort

1

von ihnen Klammern am Ende Ihrer Onclick Erklärungen Sie Aufruf hinzufügen.

So

btn0.onclick = rollYours(); 

Bedürfnisse

btn0.onclick = rollYours; 
+0

Dank werden! Ich wusste, dass es so komisch wäre. – V1xIII

Verwandte Themen