当前位置:首页 > 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实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现继承

js实现继承

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

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…