当前位置:首页 > JavaScript

js实现猜拳

2026-02-01 01:04:54JavaScript

实现猜拳游戏的步骤

HTML 结构 创建一个简单的HTML页面,包含三个按钮(石头、剪刀、布)和一个显示结果的区域。

js实现猜拳

<!DOCTYPE html>
<html>
<head>
    <title>猜拳游戏</title>
    <style>
        button { margin: 10px; padding: 8px; }
        #result { margin-top: 20px; font-size: 18px; }
    </style>
</head>
<body>
    <h1>猜拳游戏</h1>
    <button id="rock">石头</button>
    <button id="scissors">剪刀</button>
    <button id="paper">布</button>
    <div id="result"></div>
    <script src="game.js"></script>
</body>
</html>

JavaScript 逻辑game.js中实现游戏逻辑,包括玩家选择、电脑随机选择以及胜负判断。

js实现猜拳

const buttons = document.querySelectorAll('button');
const resultDiv = document.getElementById('result');

const choices = ['石头', '剪刀', '布'];

buttons.forEach(button => {
    button.addEventListener('click', () => {
        const playerChoice = button.textContent;
        const computerChoice = choices[Math.floor(Math.random() * 3)];
        const winner = determineWinner(playerChoice, computerChoice);

        resultDiv.textContent = `你选择了 ${playerChoice},电脑选择了 ${computerChoice}。${winner}`;
    });
});

function determineWinner(player, computer) {
    if (player === computer) return '平局!';

    if (
        (player === '石头' && computer === '剪刀') ||
        (player === '剪刀' && computer === '布') ||
        (player === '布' && computer === '石头')
    ) {
        return '你赢了!';
    } else {
        return '电脑赢了!';
    }
}

功能扩展 可以增加计分功能,记录玩家和电脑的胜负次数。

let playerScore = 0;
let computerScore = 0;

function updateScore(winner) {
    if (winner.includes('你赢了')) playerScore++;
    if (winner.includes('电脑赢了')) computerScore++;
    resultDiv.textContent += ` 比分:玩家 ${playerScore} - 电脑 ${computerScore}`;
}

// 在事件监听器中调用
const winner = determineWinner(playerChoice, computerChoice);
updateScore(winner);

优化用户体验 添加动画效果或延迟显示电脑的选择,增强游戏体验。

button.addEventListener('click', () => {
    resultDiv.textContent = '电脑正在选择...';
    setTimeout(() => {
        const computerChoice = choices[Math.floor(Math.random() * 3)];
        const winner = determineWinner(playerChoice, computerChoice);
        resultDiv.textContent = `你选择了 ${playerChoice},电脑选择了 ${computerChoice}。${winner}`;
        updateScore(winner);
    }, 1000);
});

注意事项

  • 确保HTML和JavaScript文件在同一目录下,或正确引用路径。
  • 可以通过CSS进一步美化界面,如添加按钮悬停效果或结果高亮显示。
  • 如果需要更复杂的功能,可以添加游戏历史记录或重置比分按钮。

标签: 猜拳js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…