当前位置:首页 > JavaScript

通过js实现猜拳

2026-03-01 12:47:07JavaScript

实现猜拳游戏的JavaScript代码

以下是一个简单的猜拳(石头剪刀布)游戏的JavaScript实现,包含用户输入和计算机随机选择的功能。

// 获取用户选择并比较结果
function playGame(userChoice) {
    const choices = ['rock', 'paper', 'scissors'];
    const computerChoice = choices[Math.floor(Math.random() * 3)];

    let result;
    if (userChoice === computerChoice) {
        result = "It's a tie!";
    } else if (
        (userChoice === 'rock' && computerChoice === 'scissors') ||
        (userChoice === 'paper' && computerChoice === 'rock') ||
        (userChoice === 'scissors' && computerChoice === 'paper')
    ) {
        result = "You win!";
    } else {
        result = "You lose!";
    }

    console.log(`You chose ${userChoice}, computer chose ${computerChoice}. ${result}`);
    return result;
}

// 示例调用
playGame('rock'); // 用户选择石头

添加HTML界面

为了让游戏更完整,可以创建一个简单的HTML界面:

<!DOCTYPE html>
<html>
<head>
    <title>Rock Paper Scissors</title>
</head>
<body>
    <h1>Rock Paper Scissors</h1>
    <button onclick="playGame('rock')">Rock</button>
    <button onclick="playGame('paper')">Paper</button>
    <button onclick="playGame('scissors')">Scissors</button>
    <div id="result"></div>

    <script>
        function playGame(userChoice) {
            const choices = ['rock', 'paper', 'scissors'];
            const computerChoice = choices[Math.floor(Math.random() * 3)];

            let result;
            if (userChoice === computerChoice) {
                result = "It's a tie!";
            } else if (
                (userChoice === 'rock' && computerChoice === 'scissors') ||
                (userChoice === 'paper' && computerChoice === 'rock') ||
                (userChoice === 'scissors' && computerChoice === 'paper')
            ) {
                result = "You win!";
            } else {
                result = "You lose!";
            }

            document.getElementById('result').innerHTML = 
                `You chose ${userChoice}, computer chose ${computerChoice}. ${result}`;
        }
    </script>
</body>
</html>

游戏规则说明

  • 石头(rock)击败剪刀(scissors)
  • 剪刀(scissors)击败布(paper)
  • 布(paper)击败石头(rock)

如果用户和计算机选择相同,则为平局。

扩展功能

可以添加以下功能来增强游戏体验:

  • 计分系统,记录胜负次数
  • 游戏历史记录
  • 更美观的界面和动画效果
  • 多语言支持

这个实现提供了猜拳游戏的核心功能,可以根据需要进一步扩展和完善。

通过js实现猜拳

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

相关文章

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.defin…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…