用Html和js和layui写一个简单猜拳小游戏

简介: 用Html和js和layui写一个简单猜拳小游戏

     简单学习技术,写了一个小游戏,用html和js写一个简单的小游戏。玩家点击按钮出拳,玩家胜利结果显示绿色,玩家输了结果显示红色,平局结果显示蓝色

页面效果:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>石头、剪刀、布 小游戏</title>
<link rel="stylesheet" href="../layui/css/layui.css" media="all">
<style>
/* 添加样式以中心布局两个游戏并增加一些间距 */
.game-container {
  text-align: center;
  margin: 5% auto;
}
.game-container > button {
  margin: 0 5px; /* 添加按钮间距 */
}
#result, #message {
  margin: 20px 0;
}
</style>
</head>
<body>
  <div class="game-container">
    <h1>石头、剪刀、布 小游戏</h1>
    <div id="choices">
      <button onclick="play('石头')" class="layui-btn layui-btn-primary layui-border-blue">石头</button>
      <button onclick="play('布')" class="layui-btn layui-btn-primary layui-border-orange">布</button>
      <button onclick="play('剪刀')" class="layui-btn layui-btn-primary layui-border-green">剪刀</button>
    </div>
    <div id="result"></div>
  </div>
  <script src="./gamejs/game.js"></script>
</body>
</html>
html解析:

1. `<!DOCTYPE html>`: 声明文档类型为 HTML5,告诉浏览器使用 HTML5 规范来解析页面。

2. `<html lang="en">`: HTML 标签,指定页面语言为英语。

3. `<head>`: 页面头部,包含了文档的元信息和引用的外部资源。

  • `<meta charset="UTF-8">`: 声明文档使用 UTF-8 字符集编码。
  • `<meta name="viewport" content="width=device-width, initial-scale=1.0">`: 设置移动设备的视口大小,并且使用 1:1 的比例放大。
  • `<title>石头、剪刀、布 小游戏</title>`: 设置页面标题为“石头、剪刀、布 小游戏”。
  • `<link rel="stylesheet" href="../layui/css/layui.css" media="all">`: 引入外部样式表 layui.css,用于页面样式。

4. `<style>`: 内联样式,用于定义页面元素样式。

  • `.game-container`: 设置游戏容器样式为居中布局,并增加一些间距。
  • `.game-container > button`: 设置游戏按钮之间的间距。
  • `#result, #message`: 设置结果和信息显示区域的样式。

5. `<body>`: 页面主体内容。

  • `<div class="game-container">`: 游戏容器,包含了游戏标题、游戏选项按钮和结果显示区域。
  • `<h1>石头、剪刀、布 小游戏</h1>`: 游戏标题。
  • `<div id="choices">`: 游戏选项按钮容器。
  • `<button οnclick="play('石头')" class="layui-btn layui-btn-primary layui-border-blue">石头</button>`:选择石头的按钮,点击后执行 play 函数。
  • `<button οnclick="play('布')" class="layui-btn layui-btn-primary layui-border-orange">布</button>`: 选择布的按钮,点击后执行 play 函数。
  • `<button οnclick="play('剪刀')" class="layui-btn layui-btn-primary layui-border-green">剪刀</button>`: 选择剪刀的按钮,点击后执行 play 函数。
  • `<div id="result"></div>`: 结果显示区域,用于显示游戏结果。

6. `<script src="./gamejs/game.js"></script>`: 引入外部 JavaScript 文件 game.js,用于实现游戏逻辑。

Js实现(game.js):

function play(playerChoice) {
    var choices = ['石头', '布', '剪刀']; // 可选择的选项
    var computerChoice = choices[Math.floor(Math.random() * 3)]; // 电脑随机选择
    var result;
    if (playerChoice === computerChoice) {
        result = '平手!';
     document.getElementById('result').style.color = "blue"; // 玩家输时文字变成红色
    } else if (
        (playerChoice === '石头' && computerChoice === '剪刀') ||
        (playerChoice === '剪刀' && computerChoice === '布') ||
        (playerChoice === '布' && computerChoice === '石头')) {
        result = '你赢了!';
        document.getElementById('result').style.color = "green"; // 玩家赢时文字变成绿色
    } else {
        result = '你输了!';
        document.getElementById('result').style.color = "red"; // 玩家输时文字变成红色
    }
    // 显示结果
    document.getElementById('result').innerHTML = `
    <div  style="margin-left: 0%;margin-top: 1%;">
      <span style="font-size:20px; font-style:normal;font-family:'宋体';color:#000000">你的选择: ${playerChoice} </span>
      <br>
      <span style="font-size:20px; font-style:normal;font-family:'宋体';color:#000000">电脑的选择: ${computerChoice} </span>
      <br>
      <span style="font-size:20px; font-style:normal;font-family:'宋体';">结果:${result}  </span>
    </div>
    `;
}
js解析:
  1. function play(playerChoice) { ... }: 定义了一个名为 play 的函数,接受玩家选择的选项作为参数。
  2. var choices = ['石头', '布', '剪刀'];: 创建一个包含可选择的选项的数组。
  3. var computerChoice = choices[Math.floor(Math.random() * 3)];: 通过随机数生成电脑的选择,即从 choices 数组中随机选择一个选项作为电脑的选择。
  4. var result;: 声明一个变量 result 用于存储游戏结果。
  5. 根据玩家和电脑的选择进行判断,更新结果和结果展示区域的文字颜色:
  • 如果玩家和电脑选择相同,将结果设为平手,并将结果文字颜色设置为蓝色。
  • 如果玩家胜利,将结果设为“你赢了!”,并将结果文字颜色设置为绿色。
  • 如果玩家失败,将结果设为“你输了!”,并将结果文字颜色设置为红色。
  1. 使用 document.getElementById('result').innerHTML更新结果展示区域的内容,根据游戏结果和玩家与电脑的选择,动态生成展示的文本内容,并设置对应的字体样式和颜色。

目录结构:

效果:

相关文章
|
1月前
|
移动开发 编解码 前端开发
摸鱼必备-80款在线HTML小游戏
本文推荐了80款精彩的HTML5在线小游戏,涵盖益智、冒险、射击、体育等多种类型,适合各年龄段玩家。无需下载安装,随时随地畅玩。地址:[https://game.share888.top/](https://game.share888.top/)
195 7
摸鱼必备-80款在线HTML小游戏
|
17天前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
59 2
|
28天前
|
JavaScript 前端开发
js+jquery实现贪吃蛇经典小游戏
本项目采用HTML、CSS、JavaScript和jQuery技术,无需游戏框架支持。通过下载项目文件至本地,双击index.html即可启动贪吃蛇游戏。游戏界面简洁,支持方向键控制蛇移动,空格键实现游戏暂停与恢复功能。
57 14
|
1月前
|
JavaScript
原生JS实现斗地主小游戏
这是一个原生的JS网页版斗地主小游戏,代码注释全。带有斗地主游戏基本的地主、选牌、提示、出牌、倒计时等功能。简单好玩,欢迎下载
32 7
|
1月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
137 1
|
1月前
|
移动开发 HTML5
HTML5熊猫弹跳手机小游戏源码
一款html5手机端小游戏源码,熊猫跳跃小游戏源码下载。熊猫脚底有弹簧,长按变化力度跳跃,计分游戏,html5手机熊猫也疯狂小游戏源代码。
49 5
|
1月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
48 3
|
1月前
|
JavaScript
JS趣味打字金鱼小游戏特效源码
hi fish是一款打字趣味小游戏,捞出海里的鱼,捞的越多越好。这款游戏用于电脑初学者练习打字。初学者可以根据自己的水平设置游戏难度。本段代码可以在各个网页使用,有需要的朋友可以直接下载使用,本段代码兼容目前最新的各类主流浏览器,是一款非常优秀的特效源码!
35 3
|
1月前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
60 0
html5+three.js公路开车小游戏源码
|
Web App开发 移动开发 JavaScript
分享21个丰富多彩的 HTML5 小游戏
  作为下一代的网页语言,HTML5 拥有很多让人期待已久的新特性。HTML5 的优势之一在于能够实现跨平台游戏编码移植,现在已经有很多公司在移动设备上使用 HTML5 技术。随着 HTML5 跨平台支持的不断增强和智能手机的迅速普,HTML5 技术有着非常好的发展前景,甚至有人预言 HTML5 将引燃移动平台游戏开发技术的新革命。
1027 0