PHP开发【石头剪刀布小游戏】

news2024/11/15 6:56:56

石头剪刀布小游戏

玩法超级简单,你只需要在下面选择石头、剪刀或者布,然后提交,系统就会随机生成电脑的选择,告诉你最终的结果哦!
在这里插入图片描述

游戏规则:

  1. 如果你的选择和电脑一样,那么就是平局。
  2. 如果你赢了,会有相应的提示告诉你“你赢了”。
  3. 如果你不幸输了,系统也会显示电脑的选择,让你知道差距在哪里。

使用指南:

  1. 代码如下,保存到一个忘记中:如 index.php。
  2. 代码部署到PHP服务器,比如 phpstudy。
  3. 运行网站,访问 index.php 文件即可。

代码

<?php
session_start();

// 服务器端生成的随机选择对应的图片
$computer_choices_images = array(
    '石头' => 'stone.png',
    '剪刀' =>'scissors.png',
    '布' => 'paper.png'
);

// 生成随机选择
$computer_choice = array_rand($computer_choices_images);
$computer_choice_image = $computer_choices_images[$computer_choice];

// 检查是否有用户输入
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $user_choice = $_POST['user_choice'];
    if ($user_choice === $computer_choice) {
        $_SESSION['result'] = '平局';
    } elseif (($user_choice === '石头' && $computer_choice === '剪刀') ||
              ($user_choice === '剪刀' && $computer_choice === '布') ||
              ($user_choice === '布' && $computer_choice === '石头')) {
        $_SESSION['result'] = '你赢了';
    } else {
        $_SESSION['result'] = '你输了';
        $_SESSION['computer_choice'] = $computer_choice;
    }
}
?>
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>石头、剪刀、布游戏</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f7f7f7;
            margin: 0;
            padding: 20px;
        }
        h1 {
            color: #333;
        }
        form {
            margin: 20px 0;
        }
        label {
            margin-right: 10px;
        }
        input[type="radio"] {
            margin-right: 5px;
        }
        button {
            padding: 10px 20px;
            background-color: #5cb85c;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 16px;
        }
        button:hover {
            background-color: #4cae4c;
        }
        p {
            margin-top: 20px;
            font-size: 24px;
            font-weight: bold;
        }
        img {
            max-width: 100px;
            height: auto;
            margin-top: 20px;
        }
    </style>
</head>
<body>
    <h1>石头、剪刀、布游戏</h1>
    <p>请猜出我选择的是哪个。</p>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
        <div>
            <input type="radio" id="stone" name="user_choice" value="石头">
            <label for="stone">石头</label>
        </div>
        <div>
            <input type="radio" id="scissors" name="user_choice" value="剪刀">
            <label for="scissors">剪刀</label>
        </div>
        <div>
            <input type="radio" id="paper" name="user_choice" value="布">
            <label for="paper"></label>
        </div>
        <button type="submit">提交</button>
    </form>
    <?php
    if (isset($_SESSION['result'])) {
        echo '<p>结果:'. $_SESSION['result']. '</p>';
        if ($_SESSION['result'] === '你输了') {
            echo '<p>电脑选择了:'. $_SESSION['computer_choice']. '</p>';
        }
    }
   ?>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十一、外观模式

文章目录 1 基本介绍2 案例2.1 Person 类2.2 Computer 类2.3 Player 类2.4 TV 类2.5 StudyManager 类2.6 Client 类2.7 Client 类运行结果2.8 总结 3 各角色之间的关系3.1 角色3.1.1 SubSystem ( 子系统 )3.1.2 Facade ( 窗口 )3.1.3 Client ( 客户端 ) 3.2 类图 4 注意事项5 在…

PointNet点云语义分割

在本教程中&#xff0c;我们将学习如何在斯坦福 3D 室内场景数据集 (S3DIS) 上训练 Point Net 进行语义分割。S3DIS 是一个 3D 数据集&#xff0c;包含来自多栋建筑的室内空间点云&#xff0c;占地面积超过 6000 平方米 [1]。Point Net 是一种新颖的架构&#xff0c;它使用整个…

基于JAVA的陶瓷工厂进销存管理系统的设计与实现

点击下载源码 基于JAVA的陶瓷工厂进销存管理系统的设计与实现 摘 要 时代在进步&#xff0c;我们的生产生活方式当然也要相对应的做出改变了。在今天这样一个信息化的时代&#xff0c;计算机软件已经广泛的被用于日常的办公&#xff0c;仓库的库存管理&#xff0c;企业的人员…

2024年热门开放式耳机评测!悠律、韶音、声阔到底该选谁?

开放式耳机选购技巧篇&#xff0c;可参考选购&#xff01; 作为一名数码评测博主&#xff0c;这两年用过的开放式耳机不下50款了&#xff0c;市面上的开放式耳机众多&#xff0c;很多人不知道该如何选择&#xff0c;其实选购都是有一定的技巧和规律性的&#xff0c;看配置就能…

无损下载器1.1.0.0(3.6M)支持批量下载无损音乐

无损音乐下载器。只有3.6M&#xff0c;简单试了一下感觉非常好用&#xff0c;不知道论坛里发过没有&#xff0c;也不知道作者是谁&#xff0c;非常感谢该软件的开发者&#xff01; 软件标题&#xff1a;无损下载器 版本号&#xff1a;1.1.0.0 使用步骤&#xff1a; 我们下载…

AVL解析

本节主要看板书 概念 AVL树&#xff08;Adelson-Velsky and Landis tree&#xff09;是一种自平衡二叉查找树&#xff0c;用于在动态集合中进行高效的插入、删除和查找操作。它保持树的高度接近最小可能值&#xff0c;从而确保这些操作的时间复杂度始终保持在O(log n)。AVL树…

OS—磁盘和固态硬盘

目录 一. 磁盘二. 磁盘的管理磁盘初始化分区引导块坏块 三. 磁盘调度算法磁盘存取时间磁盘调度算法先来先服务&#xff08;FCFS&#xff09;算法最短寻道时间优先&#xff08;Shorted Seek Time First,SSTF&#xff09;算法扫描&#xff08;SCAN&#xff09;算法LOOK 调度算法循…

30个可以帮程序员查询很多真相的网址

具体请前往&#xff1a;一站式综合查询导航 - 快递物流查询,国际区号查询,车牌号查询,航班动态查询,教育考试成绩和证书、学历、食品药品标准,招投标,知识产权,专利文献,企业信用,法律文书在线查询

13. 基于标定板的lidar到车体的外参标定思路

目录 1. 什么是lidar到车体的外参&#xff1f;2. 为什么要做这个外参矫正&#xff1f;3. 怎么做这个外参矫正&#xff1f;3.1 标定思路3.2 lidar检测标定板上的圆心流程介绍3.3 匹配过程 4. 老乡别走&#xff0c;一起来读书吧 1. 什么是lidar到车体的外参&#xff1f; 在机器人…

猫头虎分享疑难杂Bug:ERROR: No matching distribution found for beautifulsoup4解决方案

&#x1f42f; 猫头虎分享疑难杂Bug&#xff1a;ERROR: No matching distribution found for beautifulsoup4解决方案 摘要 Python开发过程中&#xff0c;ERROR: No matching distribution found for beautifulsoup4 是常见错误之一。本文将详细介绍此错误的产生原因及解决方…

2024最详细的安装教程来了!手把手教你安装Python和PyCharm

最详细的Python安装教程 一、进入Python官网首页&#xff0c;下载最新的Python版本 https://www.python.org/downloads/ 选择最新的Python3.10.5&#xff0c;下载64位的版本 二、下载完成后&#xff0c;进行安装 1.双击Python-3.10.5-amd64.exe 2.选择Customize installation…

入门 PyQt6 看过来(案例)21~ 绘图案例

今天带给大家的是一些绘制图形的案例&#xff0c;第一个是绘制奥运图片&#xff0c;第二个是绘制五角星&#xff0c;第三个是绘制时钟。 1 绘制奥运图片 源码&#xff1a; import sys from PyQt6.QtWidgets import QApplication, QWidget from PyQt6.QtCore import Qt, QRect…

CSS mask-image 实现边缘淡出过渡效果

使用场景 在生产环境中&#xff0c;遇到一个需求&#xff0c;需要在一个深色风格的大屏页面中&#xff0c;嵌入 Google Maps。为了减少违和感&#xff0c;希望地图四边能够淡出过渡。 这里的“淡出过渡”&#xff0c;关键是淡出&#xff0c;而非降低透明度。 基于 Google Ma…

科普文:微服务之Spring Cloud Alibaba组件Nacos一致性协议Distro+Raft概叙

一、概要 Nacos是阿里开放的一款中间件&#xff0c;它主要提供三种功能&#xff1a;持久化节点注册&#xff0c;非持久化节点注册和配置管理。 二、一致性协议 - AP/CP Nacos不是纯粹的AP服务&#xff0c;也不是纯粹的CP服务&#xff0c;而是两者同时支持。 这要从服务注册…

【学习日记】静态库与动态库的区别及使用指南

文章目录 静态库与动态库的区别及使用指南静态库定义使用方式优点缺点使用示例创建静态库使用静态库 动态库定义工作原理优点缺点使用示例创建动态库使用动态库 如何区分静态库和动态库总结 封面 静态库与动态库的区别及使用指南 本文将详细介绍这两种库的定义、工作原理、优缺…

【机器学习】为什么使用Scikit-Learn来进行逻辑回归以及如何使用Scikit-Learn进行逻辑回归

引言 在Scikit-Learn中&#xff0c;逻辑回归是通过LogisticRegression类实现的。该类提供了多种方法来训练模型、进行预测以及评估模型性能。用户可以自定义许多参数&#xff0c;包括正则化类型&#xff08;L1、L2或弹性网&#xff09;、求解器类型&#xff08;用于优化问题&am…

Cesium初探

Cesium 是一个开源 JavaScript 库&#xff0c;用于创建 3D 地理空间应用程序。它允许开发者在 Web 浏览器中构建高性能、交互式的 3D 地图和地球可视化应用&#xff0c;而无需安装任何插件。Cesium 支持多种数据格式&#xff0c;包括 3D Tiles&#xff08;一种高效的 3D 场景流…

变量作用域、作用域链、return

全局变量 全局变量因为在全局操作会每次留存上次操作的结果 局部变量因为执行完成就会被销毁并不会保留本次操作的结果 可以通过传参和返回&#xff0c;将结果不断地专递处理 局部变量 参数也是局部变量 函数内的预解析预赋值 函数内的局部变量 如果同名全局变量遇到局部变量…

Java的jstat命令输出GC信息时携带时间信息(Windows系统中)

之前写了一篇在Linux系统中携带时间的文章&#xff1a;Java的jstat命令输出GC信息时携带时间信息&#xff08;Linux系统中&#xff09; 但是很多时候&#xff0c;我们都是在Windows系统中开发&#xff0c;可能有些人没有Linux环境&#xff0c;所以这篇文章就讲一下在Windows系统…

[论文精读]Multi-View Multi-Graph Embedding for Brain Network Clustering Analysis

论文原文&#xff1a;3504035.3504050 (acm.org) 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 省流版 1.1. 心得…