HTML、CSS、JS if 语句认为 1==0

科学牧场

这是我正在制作的纸牌游戏。codepen 在LINK

问题是代码只应该删除健康值为 0 的卡片,而是删除所有健康级别的卡片。在战斗功能中,您将看到我所指的 if 语句。我正在检查数组中的数字是否为 0,但其中一张卡的健康状况为 1,但它也被删除了。要查看卡片,请在调用 setup 函数时注释掉。

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 enemyCardArray = [[2, 3], [2, 4]];

var friendlyCardArray = [[3, 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);
        }else{
          
        }
      }else{
        
      }
    }
  }else 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>

加布里埃尔·彼得里奥利

enemyCardArray.splice(i);应该是enemyCardArray.splice(i,1);被检查只将卡取出。

请参阅splice文档及其参数。如果只start传递参数,它将删除该元素和之后的所有元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从1而不是0开始线性缩放(D3.js)

来自分类Dev

Swift NSPredicate在复合语句时抛出EXC_BAD_ACCESS(Code = 1,address = 0x1)

来自分类Dev

准备好的语句参数索引超出范围(0 <1)

来自分类Dev

Android错误:绑定参数过多。提供了1个参数,但该语句需要0个参数

来自分类Dev

ProtocolViolation:错误:绑定消息提供0个参数,但准备好的语句“”需要1个

来自分类Dev

python:关于赋值语句的困惑:l = [a,b] = [0,1]?

来自分类Dev

在R中将(0,1,0,0,1,1,1)转换为(0,0,0,1,0,1,2)

来自分类Dev

Moment.js格式为“ Date(2021,0,1)”

来自分类Dev

JS正则表达式返回-1&0

来自分类Dev

CSS无限类.class0,.class1,

来自分类Dev

Redshift SQL语句,如果select语句返回任何行,它将返回1或0

来自分类Dev

将1个JS If语句应用于多个HTML ID

来自分类Dev

Moment.js格式为“ Date(2021,0,1)”

来自分类Dev

PHP 5.3如何认为0为空?

来自分类Dev

Python-0 ** 0 == 1?

来自分类Dev

基于表中的数值(1,0)的IF语句确定字符串结果

来自分类Dev

为什么Perl认为1 <<-1是9223372036854775808?

来自分类Dev

PHP MySQL UPDATE失败使用PHP语句将INT值从0更改为1

来自分类Dev

是否对if(0)和if(1)语句进行了优化?

来自分类Dev

[“ $ {1:0:1}” ='-']的含义

来自分类Dev

ProtocolViolation:错误:绑定消息提供0个参数,但准备好的语句“”需要1个

来自分类Dev

长值显示默认为0

来自分类Dev

为什么CSS边距:1px 0 1px 0不等于边距:2px 0 0 0

来自分类Dev

python:关于赋值语句的困惑:l = [a,b] = [0,1]?

来自分类Dev

浮点值默认为1或0

来自分类Dev

CSS动画不透明度(0)回到1

来自分类Dev

如何更改 GKE 集群事件的生存时间(默认为 1h0m0s)?

来自分类Dev

为什么语句`0 < 0.5 < 1` 减少为false?

来自分类Dev

CSS 文本样式 - 使用带有数字 1 和 0 的动画填充文本 - HTML

Related 相关文章

  1. 1

    从1而不是0开始线性缩放(D3.js)

  2. 2

    Swift NSPredicate在复合语句时抛出EXC_BAD_ACCESS(Code = 1,address = 0x1)

  3. 3

    准备好的语句参数索引超出范围(0 <1)

  4. 4

    Android错误:绑定参数过多。提供了1个参数,但该语句需要0个参数

  5. 5

    ProtocolViolation:错误:绑定消息提供0个参数,但准备好的语句“”需要1个

  6. 6

    python:关于赋值语句的困惑:l = [a,b] = [0,1]?

  7. 7

    在R中将(0,1,0,0,1,1,1)转换为(0,0,0,1,0,1,2)

  8. 8

    Moment.js格式为“ Date(2021,0,1)”

  9. 9

    JS正则表达式返回-1&0

  10. 10

    CSS无限类.class0,.class1,

  11. 11

    Redshift SQL语句,如果select语句返回任何行,它将返回1或0

  12. 12

    将1个JS If语句应用于多个HTML ID

  13. 13

    Moment.js格式为“ Date(2021,0,1)”

  14. 14

    PHP 5.3如何认为0为空?

  15. 15

    Python-0 ** 0 == 1?

  16. 16

    基于表中的数值(1,0)的IF语句确定字符串结果

  17. 17

    为什么Perl认为1 <<-1是9223372036854775808?

  18. 18

    PHP MySQL UPDATE失败使用PHP语句将INT值从0更改为1

  19. 19

    是否对if(0)和if(1)语句进行了优化?

  20. 20

    [“ $ {1:0:1}” ='-']的含义

  21. 21

    ProtocolViolation:错误:绑定消息提供0个参数,但准备好的语句“”需要1个

  22. 22

    长值显示默认为0

  23. 23

    为什么CSS边距:1px 0 1px 0不等于边距:2px 0 0 0

  24. 24

    python:关于赋值语句的困惑:l = [a,b] = [0,1]?

  25. 25

    浮点值默认为1或0

  26. 26

    CSS动画不透明度(0)回到1

  27. 27

    如何更改 GKE 集群事件的生存时间(默认为 1h0m0s)?

  28. 28

    为什么语句`0 < 0.5 < 1` 减少为false?

  29. 29

    CSS 文本样式 - 使用带有数字 1 和 0 的动画填充文本 - HTML

热门标签

归档