当前位置:首页 > 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实现轮播图

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

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…