找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 271|回复: 0

js实现简易猜拳游戏 。

[复制链接]

25

主题

6

回帖

3956

积分

版主

积分
3956

优秀版主i 认证

发表于 2024-8-19 14:00:04 | 显示全部楼层 |阅读模式
本帖最后由 OK论坛 于 2024-8-19 14:00 编辑

效果如图:


  1. <!DOCTYPE html>
  2. <html lang="en">

  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>猜拳游戏</title>
  7.     <style>
  8.         body {
  9.             font-family: Arial, sans-serif;
  10.             text-align: center;
  11.             margin-top: 50px;
  12.         }

  13.         button,
  14.         #computerChoice {
  15.             padding: 10px 20px;
  16.             margin: 10px;
  17.             font-size: 16px;
  18.             cursor: pointer;
  19.             border: none;
  20.         }

  21.         p {
  22.             margin: 20px 0;
  23.             font-size: 18px;
  24.         }

  25.         .active,
  26.         #computerChoice {
  27.             background-color: #ff6700;
  28.             color: white;
  29.         }
  30.     </style>
  31. </head>

  32. <body>
  33.     <div>
  34.         <h1>猜拳游戏</h1>
  35.         <span>总局数:<span id="allCount">0</span></span>
  36.         <span style="margin-left: 30px;">赢局:<span id="win">0</span></span>
  37.         <span style="margin-left: 30px;">平局:<span id="abreast">0</span></span>
  38.         <span style="margin-left: 30px;">输局:<span id="defeat">0</span></span>
  39.     </div>
  40.     <div>
  41.         <span>你的选择:</span>
  42.         <button onclick="userChoice('石头',0)">石头</button>
  43.         <button onclick="userChoice('剪刀',1)">剪刀</button>
  44.         <button onclick="userChoice('布',2)">布</button>

  45.         <span style="margin-left: 66px;">电脑选择:</span> <span id="computerChoice">……</span>
  46.     </div>

  47.     <p>结果: <span id="result">……</span></p>

  48. </body>

  49. <script>
  50.     const result = ["#ffc107", "#32a12b", "#db5243"]
  51.     const resultText = document.getElementById("result")

  52.     const allCount = getElementByMyId("allCount")
  53.     const win = getElementByMyId("win")
  54.     const defeat = getElementByMyId("defeat")
  55.     const abreast = getElementByMyId("abreast")


  56.     function getRandomChoice() {
  57.         const choices = ['石头', '剪刀', '布'];
  58.         return choices[Math.floor(Math.random() * choices.length)];
  59.     }

  60.     function getElementByMyId(name) {
  61.         return document.getElementById(name)
  62.     }

  63.     function determineWinner(user, computer) {
  64.         if (user === computer) {
  65.             resultText.style.color = result[0]
  66.             score.abreast = score.abreast + 1
  67.             abreast.innerText = score.abreast
  68.             return '-平局-';
  69.         } else if ((user === '石头' && computer === '剪刀') ||
  70.             (user === '剪刀' && computer === '布') ||
  71.             (user === '布' && computer === '石头')) {
  72.             resultText.style.color = result[1]
  73.             score.win = score.win + 1
  74.             win.innerText = score.win
  75.             return '你赢了!';
  76.         } else {
  77.             resultText.style.color = result[2]
  78.             score.defeat = score.defeat + 1
  79.             defeat.innerText = score.defeat
  80.             return '你输了!';
  81.         }
  82.     }

  83.     const score = {
  84.         "all": 0,
  85.         "win": 0,
  86.         "defeat": 0,
  87.         "abreast": 0
  88.     }
  89.     function userChoice(choice, index) {

  90.         score.all = score.all + 1
  91.         allCount.innerText = score.all

  92.         const buttonList = document.getElementsByTagName("button")


  93.         for (let index = 0; index < buttonList.length; index++) {
  94.             const element = buttonList[index];
  95.             element.classList.remove("active")
  96.             // element.classList.add("active")
  97.         }

  98.         buttonList[index].classList.add("active")


  99.         const computerChoice = getRandomChoice();
  100.         document.getElementById('computerChoice').innerText = computerChoice;



  101.         const result = determineWinner(choice, computerChoice);
  102.         document.getElementById('result').innerText = result;
  103.     }
  104. </script>

  105. </html>
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
享年116.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OK论坛

GMT+8, 2024-12-23 05:49 , Processed in 0.064559 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表