当前位置:首页 > JavaScript

js实现猜拳

2026-03-13 23:14:26JavaScript

实现猜拳游戏的基本思路

使用JavaScript实现猜拳游戏需要处理用户输入、随机生成电脑选择、比较胜负逻辑以及显示结果。以下是一个简单的实现方案。

HTML结构

创建一个简单的HTML界面,包含三个按钮代表石头、剪刀、布,以及一个显示结果的区域。

js实现猜拳

<!DOCTYPE html>
<html>
<head>
    <title>猜拳游戏</title>
</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实现猜拳

// 获取DOM元素
const rockBtn = document.getElementById('rock');
const scissorsBtn = document.getElementById('scissors');
const paperBtn = document.getElementById('paper');
const resultDiv = document.getElementById('result');

// 电脑随机选择
function computerChoice() {
    const choices = ['rock', 'scissors', 'paper'];
    const randomIndex = Math.floor(Math.random() * 3);
    return choices[randomIndex];
}

// 比较用户和电脑的选择
function compareChoices(userChoice, computerChoice) {
    if (userChoice === computerChoice) {
        return '平局!';
    }
    if (
        (userChoice === 'rock' && computerChoice === 'scissors') ||
        (userChoice === 'scissors' && computerChoice === 'paper') ||
        (userChoice === 'paper' && computerChoice === 'rock')
    ) {
        return '你赢了!';
    }
    return '你输了!';
}

// 事件监听
rockBtn.addEventListener('click', () => {
    const compChoice = computerChoice();
    const result = compareChoices('rock', compChoice);
    resultDiv.textContent = `你选择了石头,电脑选择了${compChoice}。${result}`;
});

scissorsBtn.addEventListener('click', () => {
    const compChoice = computerChoice();
    const result = compareChoices('scissors', compChoice);
    resultDiv.textContent = `你选择了剪刀,电脑选择了${compChoice}。${result}`;
});

paperBtn.addEventListener('click', () => {
    const compChoice = computerChoice();
    const result = compareChoices('paper', compChoice);
    resultDiv.textContent = `你选择了布,电脑选择了${compChoice}。${result}`;
});

游戏规则说明

石头(rock)胜过剪刀(scissors),剪刀胜过布(paper),布胜过石头。如果用户和电脑选择相同,则为平局。

扩展功能

可以进一步优化游戏体验,例如添加计分系统、动画效果或历史记录功能。

// 计分系统示例
let userScore = 0;
let computerScore = 0;

function updateScore(result) {
    if (result.includes('赢了')) {
        userScore++;
    } else if (result.includes('输了')) {
        computerScore++;
    }
    resultDiv.textContent += ` 当前比分:用户 ${userScore} - 电脑 ${computerScore}`;
}

注意事项

确保代码逻辑清晰,避免冗余。可以通过函数封装重复代码,例如将事件监听逻辑统一处理。

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

相关文章

js 实现vue模板

js 实现vue模板

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

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js 实现继承

js 实现继承

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

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…