fello程序员!
我正在为我的学校做一个小小的问答游戏(它用德语,但那并不重要)。我用JavaScript编写它,因为我们学校中的计算机最能编译。
https://jsfiddle.net/rgc1ps6p/6/
hash
这里是网站的小提琴,它不会加载脚本。 给定的代码是使用的函数之一(因为stackoverflow不允许我在没有代码的情况下发布)。
答案 0 :(得分:1)
您只需要更改JSFiddle的脚本加载方法。在JavaScript选项中(点击JavaScript窗格右上角的 JAVASCRIPT ),将加载类型更改为 <?php
$var = array(
'nokey',
5 => 'xyz',
'key' => '456',
//bug
"apostrophe ' xx" => 'quotes " xx',
'\'' => "\"",
'malicious backslash \ ' => 'double \\',
"line break \n"
);
$var = json_encode($var);
?>
<script>
//bug
var a = <?php echo $var ?>;
var b = <?php echo $var ?>;
</script>
,然后将代码可以工作。
看到这个小提琴:
https://jsfiddle.net/rgc1ps6p/9/
它特定于JSFiddle;如果您复制代码并在Stack Overflow代码段中运行它,那么您就不会遇到这个问题:
No wrap - in <body>
&#13;
var x, sol1, sol2, sol3;
x = 0;
function story() {
x = x + 1;
switch (x) {
case 1:
document.getElementById("text").innerHTML = "Willkommen zum Training, Rekrut! Der Spezialagent 700 braucht neue Helfer, und genau deswegen bist du hier!";
break;
case 2:
document.getElementById("text").innerHTML = "Da wir nur die Besten von euch auswählen, werden wir euch im Folgenden einem kleinen Test unterziehen, um eure Entscheidungsfindung aufgrund von euren Physikkenntnissen zu überprüfen.";
break;
case 3:
document.getElementById("text").innerHTML = "Es folgt die erste und die wohl leichteste der nächsten 3 Fragen. Beantworte sie möglichst schnell, denn je schneller du sie löst, desto wahrscheinlicher ist es, dass du aufgenommen wirst!";
break;
case 4:
ex1();
break;
case 5:
document.getElementById("text").innerHTML = "Die erste Aufgabe hast du bestanden. Gute Arbeit! Dir stehen noch 2 weitere Aufgaben bevor, die du zu überwinden hast.";
break;
case 6:
ex2();
break;
case 7:
document.getElementById("text").innerHTML = "Und die nächste Aufgabe mit Bravour bestanden! Noch eine weitere Aufgabe und du kannst dich schon als Helfer des Spezialagenten 700 sehen!";
break;
case 8:
ex3();
break;
case 9:
document.getElementById("text").innerHTML = "Die letzte Aufgabe auch bestanden, sehr schön! Dir steht noch einiges an Lernen bevor, bevor du mit 700 arbeiten kannst, aber du bist sehr nah dran! Hör nicht auf, zu lernen!";
}
}
function ex1() {
var f, h, g;
var random = Math.floor(Math.random() * 2) + 1;
switch (random) {
case 1:
f = "20"; //Entfernung
h = "180"; //Geschwindigkeit
g = "2"; //Beschleunigung
sol1 = 45;
break;
case 2:
f = "100";
h = "108";
g = "5";
sol1 = 63;
break;
}
document.getElementById("text").innerHTML = "Die Bösewichte sind auf der Flucht auf einer geraden Autobahn. Sie sind " + f + " Meter von dir entfernt und ihr fahrt mit einer konstanten Geschwindigkeit " + h + "km/h, wobei du dich stetig um " + g + " m/s² beschleunigst.";
document.getElementById("question").innerHTML = "Wie lange brauchst du, um sie einzuholen?";
document.getElementById("unit").innerHTML = "s";
button.disabled = true;
confirmation.disabled = false;
input.disabled = false;
}
function ex1Sol() {
var answer = document.getElementById("input").value;
if (answer == sol1) {
document.getElementById("input").value = "";
document.getElementById("confirmation").onclick = function() {
ex2Sol();
};
document.getElementById("question").innerHTML = "";
for (var i = 0; i < 4; i++) {
document.getElementById(answers[i]).innerHTML = "";
}
button.disabled = false;
confirmation.disabled = true;
input.disabled = true;
story();
} else {
alert("Falsch!");
}
}
function ex2() {
var d, e;
var random = Math.floor(Math.random() * 2) + 1;
switch (random) {
case 1:
d = "300"; //Höhe des Hubschraubers
e = "95"; //Höhe des Gebäudes
rightAnswer = 64;
break;
case 2:
d = "500";
e = "50";
rightAnswer = 95;
break;
}
document.getElementById("text").innerHTML = "Du befindest dich auf einem Hubschrauber in der Höhe " + d + " Meter und musst einen Fallschirmsprung auf eine Plattform schaffen, die sich " + e + " Meter über dem Erdboden befindet. Um rechtzeitig die Kontrolle über den Flug zu erhalten, musst du 5 Meter über dem Ankunftsort den Fallschirm aufmachen. Um diese Regel einhalten zu können, ist es am besten, sich die für den Fall benötigte Zeit auszurechnen und beim Fall die Sekunden abzuzählen."
document.getElementById("question").innerHTML = "Wie viel Zeit vergeht zwischen dem Absprung und dem Aufmachen des Fallschirms?";
document.getElementById("unit").innerHTML = "s";
button.disabled = true;
confirmation.disabled = false;
input.disabled = false;
}
function ex2Sol() {
var answer = document.getElementById("input").value;
if (answer == sol2) {
document.getElementById("input").value = "";
document.getElementById("confirmation").onclick = function() {
ex3Sol();
};
document.getElementById("question").innerHTML = "";
for (var i = 0; i < 4; i++) {
document.getElementById(answers[i]).innerHTML = "";
}
button.disabled = false;
confirmation.disabled = true;
input.disabled = true;
story();
} else {
alert("Falsch!");
}
}
function ex3() {
var a, b, c;
var random = Math.floor(Math.random() * 2) + 1;
switch (random) {
case 1:
a = "30"; //Geschwindigkeit des Bootes
b = "10"; //Höhe des Stegs
c = "20"; //Entfernung des Bootes
rightAnswer = 439;
break;
case 2:
a = "60";
b = "20";
c = "5";
rightAnswer = 631;
break;
}
document.getElementById("text").innerHTML = "Die Verfolgten setzen sich in ein Boot und fahren mit einer Geschwindigkeit " + a + " m/s weg. Du bist ihnen auf dem Fersen mit deinem Motorrad und fährst auf das Ende eines Stegs zu, von dem aus du zu ihnen aufs Boot springen kannst. Der Steg liegt " + b + " Meter über dem Wasser, und zum Zeitpunkt deines Sprungs sind sie " + c + " Meter entfernt vom Ende des Stegs. Beachte: Das Boot bewegt sich auch während deinem Flug.";
document.getElementById("question").innerHTML = "Mit was für einer Geschwindigkeit musst du vom Steg abspringen, um auf dem Boot anzukommen?";
document.getElementById("unit").innerHTML = "m/s";
button.disabled = true;
confirmation.disabled = false;
input.disabled = false;
}
function ex3Sol() {
var answer = document.getElementById("input").value;
if (answer == sol3) {
document.getElementById("input").value = "";
document.getElementById("question").innerHTML = "";
for (var i = 0; i < 4; i++) {
document.getElementById(answers[i]).innerHTML = "";
}
confirmation.disabled = true;
input.disabled = true;
story();
} else {
alert("Falsch!");
}
}
&#13;
#box {
height: auto;
width: 700px;
border: 1px solid #333;
border-radius: 5px;
padding: 0px 10px;
background-color: green;
}
#header {
height: 30px;
width: 698px;
margin: 0;
border-bottom: 1px solid #333;
}
&#13;