javascript - 第一次运行后,都是 NaN
问题描述
我是新来的,开始学习 JavaScript。我的第一个项目之一是一个有两个骰子的游戏。你有两个玩家,每个玩家都有 100 美元的开始。你可以为每一轮下注,如果你赢了,钱就给你。现在的问题是:第一轮没问题,钱进入了获胜者的口袋,但是如果我想开始第二轮下注,所有 var 都是 NaN。我知道我必须在外部文件以及 css 中编写脚本,但这对我来说只是一个试验。我尝试检查是否 (isNaN) 但它不起作用。非常感谢
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Würfelspiel</title>
<link rel="stylesheet" href="Würfel.css">
<meta name="viewport" content="width=device-width, initial-scale=0.8, user-scalable=no">
</head>
<body style=" background-image: linear-gradient(to right, green, darkgreen)">
<center><h1 style="font-family: Broadway">Würfelspiel</h1></center>
<h3 style="padding-left: 600px; padding-top: 100px; ">Drücke auf den Würfel und versuche dein Glück</h3>
<center> <p id="gewinn" style="font-family: 'Comic Sans MS'; font-size: large"></p></center>
<center><input id="wetteinsatz" type="text"></center>
<p id="guthaben1" style=" float: right"></p><br><br><br>
<p id="guthaben2" style=" float: right"></p><br><br><br>
<button onclick="wette()" style="float: right">Wette Abgeben</button>
<div id="out" onclick="würfel()" style="box-sizing: border-box; margin-right: 150px; float: left; border-radius: 50px; margin-top: 200px; margin-left: 100px;
background-color: #0a8c04; padding-left: 350px; padding-right: 250px; padding-top: 244px; background-position: center; background-repeat: no-repeat;
background-image: url(würfel_1.png)"></div><br><br><br>
<div id="out1" onclick="würfel1()" style="box-sizing: border-box;; margin-left: 900px; margin-right: 90px; margin-top: 155px; background-color: #0a8c04;
padding-right: ; padding-top: 240px; background-position: center; background-repeat: no-repeat; margin-bottom: 150px; border-radius:
50px; background-image: url(würfel_1.png)"></div>
<div class="wrap">
<div class="cube">
<div class="front"></div>
<div class="back"></div>
<div class="top"></div>
<div class="bottom"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</div>
<a href="https://diereiseritter.com/" style=" color: rgba(234, 127, 11, 0.72); font-family: 'Playlist Script'; font-size: xx-large">By DieReiseRitter</a>
<script>
function prüfenNaN() {
if (isNaN(Pott)) {
Pott = 0;
} else if (isNaN(guthaben1parse)) {
guthaben1parse = 100;
} else if (isNaN(guthaben2parse)) {
guthaben2parse = 100;
}
}
//###########################################################################
//##### Start mit Guthaben
//###########################################################################
var guthaben1 = 100
guthaben1parse = Number.parseInt(guthaben1);
document.getElementById('guthaben1').innerHTML = 'Spieler 1 Guthaben: ' + guthaben1parse + '$';
var guthaben2 = 100
guthaben2parse = Number.parseInt(guthaben2);
document.getElementById('guthaben2').innerHTML = 'Spieler 2 Guthaben: ' + guthaben2parse + '$';
//##################################
//###### Funktion zum erstellen eines Gewinners
//##################################
function gewinn() {
u = Math.floor(Math.random() * 6) + 1
document.getElementById('gewinn').innerHTML = 'Der Gewinner Würfelt ' + u;
}
function einschreiben2() {
guthaben2parse = guthaben2parse + Pott;
guthaben2parse = Number.parseInt(guthaben2parse);
document.getElementById('guthaben2').innerHTML = 'Spieler 2 Guthaben: ' + guthaben2parse + '$';
return guthaben2parse;
}
function einschreiben1() {
guthaben1parse = guthaben1parse + Pott;
guthaben1parse = Number.parseInt(guthaben1parse);
document.getElementById('guthaben1').innerHTML = 'Spieler 1 Guthaben: ' + guthaben1parse + '$';
return guthaben1parse;
}
function Pottdel() {
Pott = 0;
document.getElementById('wetteinsatz').value = '';
}
//######################################################################################
//###### Funktion Wett Button
//#####################################################################################
function wette() {
// Einsatz
wetteinsatz1 = window.prompt('Spieler 1 ihren Wetteinsatz bitte');
wetteinsatz1parse = Number.parseInt(wetteinsatz1);
wetteinsatz2 = window.prompt('Spieler 2 ihren Wetteinsatz bitte');
wetteinsatz2parse = Number.parseInt(wetteinsatz2);
// Zieht Einsatz von Guthaben ab
guthaben1parse = guthaben1parse - wetteinsatz1parse;
guthaben2parse = guthaben2parse - wetteinsatz2parse;
// Schreibt neues Guthaben in den Paragraphen
document.getElementById('guthaben1').innerHTML = 'Spieler 1 Guthaben: ' + guthaben1parse + '$';
document.getElementById('guthaben2').innerHTML = 'Spieler 2 Guthaben: ' + guthaben2parse + '$';
// Schreibt Pott in Wetteinsatz Feld
Pott = wetteinsatz1parse + wetteinsatz2parse;
Pott = Number.parseInt(Pott);
document.getElementById('wetteinsatz').value = 'Der Pott liegt bei ' + Pott + '$';
prüfenNaN();
}
//##############################
//###### Ruft die Gewinnfunktion auf und schreibt sie in den Paragraphen
//##############################
gewinn();
//##############################
//###### Spieler Links Funtion für Zufällige Würfelzahl
//##############################
function würfel() {
//#####################
//#### Audio Variable erstellen und Abspielen
//#####################
var snd = new Audio("roll.wav");
snd.play();
//#####################
//#### Alarmausgabe bei Wurf
//#####################
window.alert('Die Würfel Rollen!');
//#####################
//######Erzeugt Zufällige Zahl zwischen 1 und 6
//#####################
wurf = Math.round(Math.random() * 6) + 1
//#####################
//#### Bei Gewürfelter Zahl, wird Bild eingefügt
//#####################
if (wurf == 0) {
document.getElementById('out').style.backgroundImage = 'url(würfel_1.png)';
} else if (wurf == 1) {
document.getElementById('out').style.backgroundImage = 'url(würfel_1.png)';
} else if (wurf == 2) {
document.getElementById('out').style.backgroundImage = 'url(würfel_2.png)';
} else if (wurf == 3) {
document.getElementById('out').style.backgroundImage = 'url(würfel_3.png)';
} else if (wurf == 4) {
document.getElementById('out').style.backgroundImage = 'url(würfel_4.png)';
} else if (wurf == 5) {
document.getElementById('out').style.backgroundImage = 'url(würfel_5.png)';
} else if (wurf == 6) {
document.getElementById('out').style.backgroundImage = 'url(würfel_6.png)';
}
//####################
//#### Wenn var wurf und u (variable in der gewinn funktion) gleich sind, ausgabe Sieg
//####################
if (wurf == u) {
var tada = new Audio("Tada.mp3");
tada.play();
window.alert('Spieler Eins hat gewonnen');
gewinn();
einschreiben1();
Pottdel();
}
}
//##############################
//###### Spieler Rechts Funtion für Zufällige Würfelzahl
//##############################
function würfel1() {
//#####################
//#### Audio Variable erstellen und Abspielen
//#####################
var snd = new Audio("roll.wav");
snd.play();
//#####################
//#### Alarmausgabe bei Wurf
//#####################
window.alert('Die Würfel Rollen!');
//#####################
//######Erzeugt Zufällige Zahl zwischen 1 und 6
//#####################
wurf1 = Math.round(Math.random() * 6) + 1
//#####################
//#### Bei Gewürfelter Zahl, wird Bild eingefügt
//#####################
if (wurf1 == 0) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_1.png)';
} else if (wurf1 == 1) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_1.png)';
} else if (wurf1 == 2) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_2.png)';
} else if (wurf1 == 3) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_3.png)';
} else if (wurf1 == 4) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_4.png)';
} else if (wurf1 == 5) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_5.png)';
} else if (wurf1 == 6) {
document.getElementById('out1').style.backgroundImage = 'url(würfel_6.png)';
}
//####################
//#### Wenn var wurf1 und u (variable in der gewinn funktion) gleich sind, ausgabe Sieg
//####################
if (wurf1 == u) {
var tada = new Audio("Tada.mp3");
tada.play();
window.alert('Spieler Zwei hat gewonnen');
gewinn();
einschreiben2();
Pottdel()
}
}
</script>
</body>
</html>
解决方案
推荐阅读
- reactjs - 当我们使用reactjs点击它时如何显示Modal?
- node.js - react-admin 授权权限
- apache-spark - 为什么将RDD更改为DataFrame时会出现Spark不可序列化的异常?
- mysql - MySQL INSERT INTO SELECT 不匹配记录由函数 str_to_date 触发
- python - 我正在尝试将我的数据从长格式重塑为不太宽格式的数据。我如何重塑最后一点?
- ios - 在 UITableViewCell 中添加 UICollectionView 后 UI 突然发生变化
- python - 获取 keras 模型中使用的损失函数的名称
- swift - 在 Swift 中管理 statusBarStyle 的正确方法是什么?
- elasticsearch - 带有逗号值的弹性搜索匹配查询不起作用
- video - 无法在 Android Lollipop 中播放视频