当前位置:首页 > JavaScript

通过js实现猜拳

2026-03-01 12:47:07JavaScript

实现猜拳游戏的JavaScript代码

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

通过js实现猜拳

// 获取用户选择并比较结果
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界面:

通过js实现猜拳

<!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 实现vue

js 实现vue

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

js实现tab选项卡切换

js实现tab选项卡切换

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

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js实现左右滑动

js实现左右滑动

实现左右滑动的 JavaScript 方法 监听触摸事件 通过 touchstart、touchmove 和 touchend 事件来检测用户的手势操作。记录触摸的起始位置和移动距离,判断滑动方向。…

js实现文件夹

js实现文件夹

使用JavaScript创建文件夹 在浏览器端的JavaScript中无法直接操作文件系统创建文件夹,这是出于安全考虑。但在Node.js环境中可以通过文件系统模块(fs)实现。 Node.js中使…