【发布时间】:2017-05-08 10:05:33
【问题描述】:
我正在开发一款纸牌游戏,但我收到此错误,即输入意外结束。我对此错误一无所知,因此将不胜感激。 codepen 也没有显示任何内容,它给出了错误以及 StackOverflow 中的编译器。任何帮助将不胜感激。
var turn = true;
var enemyCards = document.getElementById('enemy-cards');
var friendlyCards = document.getElementById('friendly-cards');
var friendlyHealth = document.getElementById('friendly-health-value');
var enemyHealth = document.getElementById('enemy-health-value');
var goodHealth=20;
var badHealth=20;
var enemyCardArray = [[2, 3], [2, 4]];
var friendlyCardArray = [[4, 3], [3,2]];
function initialSetup() {
for (var i=0; i < enemyCardArray.length; i++) {
var card = enemyCardArray[i]
var damage = card[0];
var health = card[1];
enemyCards.innerHTML += "<div class='card'><h1 class='damage'>"+damage+"</h1><h1 class='health'>"+health+"</h1></div>"
}
for (var i=0; i < friendlyCardArray.length; i++) {
var card = friendlyCardArray[i]
var damage = card[0];
var health = card[1];
friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>"+damage+"</h1><h1 class='health'>"+health+"</h1></div>"
}
}
function setup() {
enemyCards.innerHTML = "";//<--Set it to "" here, not in for loop
friendlyCards.innerHTML = "";//<--Set it to "" here, not in for loop
for (var i = 0; i < enemyCardArray.length; i++) {
var card = enemyCardArray[i]
var damage = card[0];
var health = card[1];
//enemyCards.innerHTML = "";
enemyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + "</h1><h1 class='health'>" + health + "</h1></div>";
}
for (var i = 0; i < friendlyCardArray.length; i++) {
var card = friendlyCardArray[i]
var damage = card[0];
var health = card[1];
//friendlyCards.innerHTML = "";
friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + "</h1><h1 class='health'>" + health + "</h1></div>";
}
}
function battle() {
if (turn === true){
for (var i = 0; i<friendlyCardArray.length; i++) {
if (friendlyCardArray.length == enemyCardArray.length){
enemyCardArray[i][1] -= friendlyCardArray[i][0];
if (enemyCardArray[i][1] < 1){
enemyCardArray.splice(i, 1);
}
}if(friendlyCardArray.length>enemyCardArray.length){
for (var i=0; i<enemyCardArray.length; i++){
enemyCardArray[i][1] -= friendlyCardArray[i][0];
if (enemyCardArray[i][1] < 1){
enemyCardArray.splice(i, 1);
}
}
for (var i=enemyCardArray.length+1; i>enemyCardArray.length; i++){
badHealth-=friendlyCardArray[i][0];
if (i == frienlyCardArray.length+1){
break;
}
}
}if(friendlyCardArray.length<enemyCardArray.length){
for (var i=0; i<friendlyCardArray.length; i++){
enemyCardArray[i][1] -= friendlyCardArray[i][0];
if (enemyCardArray[i][1] < 1){
enemyCardArray.splice(i, 1);
}
}
}if (turn === false){
}
}
initialSetup();
battle();
setup();
body {
margin: 0;
font-family: sans-serif;
position: relative;
}
#enemy-cards{
background-color: #873a00;
width: 100%;
height: 270px;
}
#friendly-cards{
background-color: #873a00;
width: 100%;
height: 270px;
position: fixed;
bottom: 0;
}
.card {
width: 150px;
height: 250px;
background-color: #afafaf;
margin-top: 10px;
margin-left: 10px;
margin-bottom: 10px;
position: relative;
float:left;
}
.damage {
text-align: left;
position: absolute;
bottom:0;
left: 20px;
}
.health {
text-align: right;
position: absolute;
bottom:0;
right: 20px;
}
#friendly-health{
float:left;
width: 50%;
background-color: lightgreen;
height: 200px;
}
#friendly-health-value{
position: fixed;
left: 25%;
vertical-align: middle;
color: white;
}
#enemy-health-value{
position: fixed;
left: 75%;
vertical-align: middle;
color: white;
}
#enemy-health{
float:left;
width: 50%;
background-color: #f73f27;
height: 200px;
}
<div id="game">
<div id="enemy-cards">
</div>
<div id="health">
<div id="friendly-health">
<h1 id="friendly-health-value">20</h1>
</div>
<div id="enemy-health">
<h1 id="enemy-health-value">20</h1>
</div>
</div>
<div id="friendly-cards">
</div>
</div>
【问题讨论】:
-
您在
battle()函数中的某处缺少} -
不,他在最后一个函数的末尾缺少 2
}。 :) -
battle()是最后一个函数,不是吗?最后不一定,取决于所有那些for循环和if语句应该如何嵌套:) -
如果你正确缩进你的代码,对于你和所有查看你的代码的人来说,找到放错位置的大括号会容易得多
标签: javascript html css web compiler-errors