• JavaScript小游戏实现高分榜


    之前我们实现了游戏的主体功能,以及恢复之类的功能!本次我们来实现高分榜的功能
    功能的需求如下:

    在这里插入图片描述

    ● 这个逻辑非常的简单,就是当我们猜对了数字后,跟我们的highscore做比较,如果比highscore高的话,就赋值给score

    'use strict';
    
    // console.log(document.querySelector('.message').textContent);
    
    // document.querySelector('.message').textContent = '🎉Correct Number';
    // document.querySelector('.number').textContent = 13;
    // document.querySelector('.score').textContent = 16;
    
    // console.log(document.querySelector('.guess').value);
    // document.querySelector('.guess').value = 23;
    // console.log(document.querySelector('.guess').value);
    
    let secretnumber = Math.trunc(Math.random() * 20) + 1;
    
    let score = 20;
    let highscore = 0;
    
    document.querySelector('.check').addEventListener('click', function () {
      const guess = Number(document.querySelector('.guess').value);
      console.log(guess);
    
      if (!guess) {
        document.querySelector('.message').textContent = '⛔No Number';
      } else if (guess === secretnumber) {
        document.querySelector('.message').textContent = '🎉Correct Number';
    
        document.querySelector('body').style.backgroundColor = '#60b347';
        document.querySelector('.number').style.width = '30rem';
        document.querySelector('.number').textContent = secretnumber;
        if (highscore < score) {
          highscore = score;
          document.querySelector('.highscore').textContent = highscore;
        }
      } else if (guess > secretnumber) {
        if (score > 1) {
          document.querySelector('.message').textContent = '📈Too high';
          score--;
          document.querySelector('.score').textContent = score;
        } else {
          document.querySelector('.message').textContent = '😭You lost the game!';
          document.querySelector('.score').textContent = 0;
        }
      } else if (guess < secretnumber) {
        if (score > 1) {
          document.querySelector('.message').textContent = '📉Too low';
          score--;
          document.querySelector('.score').textContent = score;
        } else {
          document.querySelector('.message').textContent = '😭You lost the game';
          document.querySelector('.score').textContent = 0;
        }
      }
    });
    
    document.querySelector('.again').addEventListener('click', function () {
      score = 20;
      document.querySelector('.score').textContent = score;
      document.querySelector('body').style.backgroundColor = '#222';
      document.querySelector('.message').textContent = 'Start guessing...';
      document.querySelector('.number').style.width = '15rem';
      document.querySelector('.number').textContent = '?';
      document.querySelector('.guess').value = '';
      secretnumber = Math.trunc(Math.random() * 20) + 1;
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    在这里插入图片描述

    这样我们的猜数字小游戏已经完成了,但是看上面的代码,不知道大家有没有发现有很多重复的代码,例如太高了或太低了代码非常的相似,下节课我们来优化代码

  • 相关阅读:
    NFS高可用方案:NFS+keepalived+Sersync
    合并文件解决HiveServer2内存溢出方案
    高分辨空间代谢组学测试的样品要求以及常见问题
    七、Vue3使用Pinia刷新页面状态丢失解决方案
    鸿蒙OpenHarmony【搭建Ubuntu环境】
    day9.30
    详解RISC v中断
    【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox
    Failed to configure a DataSource: ‘url‘ attribute is not specified and no em
    Linux—通过脚本方式配置ip地址失败
  • 原文地址:https://blog.csdn.net/weixin_42952508/article/details/133632551