Java简单实现猜拳游戏

article/2025/10/6 8:42:37

前言

Random类的简单使用
.nextInt()方法,返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。

public class Demo_02 {//出拳游戏:1表示石头,2表示剪刀,3表示布//   接收用户输入的拳  并输出 ,然后电脑随机产生一个数 对比输赢//   欢迎来到游戏中心//   请用户出拳(1表示石头,2表示剪刀,3表示布)public static void main(String[] args) {Scanner info = new Scanner(System.in);Random random = new Random();String[] s = new String[]{"石头", "剪刀", "布"};while (true) {System.out.println("1表示石头,2表示剪刀,3表示布");System.out.print("player:");int user = info.nextInt();//nextInt()方法,返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括)int npc = random.nextInt(3)+1;System.out.println("npc:"+npc);switch(user){case 1:System.out.println(s[user]+"VS"+s[npc-1]);if (npc == 1){System.out.println("平局");}else if (npc == 2){System.out.println("玩家获胜");}else if (npc == 3){System.out.println("电脑获胜");}break;case 2:System.out.println(s[user]+"VS"+s[npc-1]);if (npc == 2){System.out.println("平局");}else if (npc == 3){System.out.println("玩家获胜");}else if (npc == 1){System.out.println("电脑获胜");}break;case 3:System.out.println(s[user]+"VS"+s[npc-1]);if (npc == 3){System.out.println("平局");}else if (npc == 1){System.out.println("玩家获胜");}else if (npc == 2){System.out.println("电脑获胜");}break;default:System.out.println("年轻人不讲武德,我劝你耗子尾汁");break;}}}
}

运行结果
运行结果图
2023-01-09修改,隔了这么久才改。汗!就把错误保留下对比看看。感谢指出错误的小伙伴。

public class Demo_02 {//出拳游戏:1表示石头,2表示剪刀,3表示布//   接收用户输入的拳  并输出 ,然后电脑随机产生一个数 对比输赢//   欢迎来到游戏中心//   请用户出拳(1表示石头,2表示剪刀,3表示布)public static void main(String[] args) {Scanner info = new Scanner(System.in);Random random = new Random();String[] s = new String[]{"石头", "剪刀", "布"};while (true) {System.out.println("=========================猜拳游戏============================");System.out.println("1表示石头,2表示剪刀,3表示布");System.out.print("player:");try {int user = info.nextInt();info.nextLine();//nextInt()方法,返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括)int npc = random.nextInt(3)+1;System.out.println("npc:"+npc);switch(user){case 1:System.out.println(s[user-1]+"VS"+s[npc-1]);if (npc == 1){System.out.println("平局");}else if (npc == 2){System.out.println("玩家获胜");}else if (npc == 3){System.out.println("电脑获胜");}break;case 2:System.out.println(s[user-1]+"VS"+s[npc-1]);if (npc == 2){System.out.println("平局");}else if (npc == 3){System.out.println("玩家获胜");}else if (npc == 1){System.out.println("电脑获胜");}break;case 3:System.out.println(s[user-1]+"VS"+s[npc-1]);if (npc == 3){System.out.println("平局");}else if (npc == 1){System.out.println("玩家获胜");}else if (npc == 2){System.out.println("电脑获胜");}break;default:System.out.println("年轻人不讲武德,我劝你耗子尾汁");break;}}catch (Exception e){System.out.println(e.getMessage());info.next();System.out.println("请重新输入");}}}
}

http://chatgpt.dhexx.cn/article/NmS1QKE2.shtml

相关文章

java实现猜拳游戏

剪刀、石头、布又称“猜丁壳”,古老而简单,这个游戏的主要目的是为了解决争议,因为三者相互制约,因此不论平局几次,总会有胜负的时候。 游戏规则中,石头克剪刀,剪刀克布,布克石头。…

Java游戏编程前篇 修改eclipse背景颜色

最近准备开始研究java游戏设计了。(不是安卓的游戏设计,关于安卓的游戏设计,我打算学完java之后直接学cocos2dx,学习java的原因是因为在公司里接触到了eclipse,所以打算顺便将java也啃下来,以后说不定哪天就…

java游戏开发入门(一) - HelloWorld

java游戏开发入门(一)- HelloWorld 前言开发环境启程 Hello WorldMaven启动类 HelloWorldApp创建一个600 x 600,标题为"Hello world"的窗体main运行效果完整代码 完整项目 前言 开发一款游戏,我相信很多人在学习开发之前…

JAVA编程实现猜数游戏

1.该程序就是随机生成一个1-100的整数让玩家进行游戏,不限次数,直到玩家猜对为止。 2.使用while循环语句实现功能 3.代码展示 import java.util.Random; import java.util.Scanner;public class S11 {public static void main(String[] args) {Random…

Java游戏框架编写

自己抽空编写的一个2D游戏框架(也可以说是工具类集吧),在此记录一下,开发完了顺便写了一个案例判断框架的可用性 项目地址:https://gitee.com/shaokang123/spring-game-starter 框架特点 支持直接使用Tiled设计地图,以name为beanN…

Java游戏编程——愤怒的小鸟(一)

Java游戏编程——愤怒的小鸟(一) 前言:最近在b站up主尚学堂杨老师(b站链接)学习了我做的第一个游戏项目,所以在csdn进行总结,便于今后查看。 本部分主要是将游戏的背景绘制出来 先上一张效果…

java游戏开发(java游戏开发教程)

Java游戏开发绘图器是什么呢? 众所周知,Java GUI以paint进行绘图,以repaint进行图像刷新,而完成repaint及paint这一连贯过程中所用到绘图组件,我将其称为绘图器。就我个人的体会,绘图器的调用时机应始终处于…

Java编程实现三种等级的扫雷游戏(完整版)

大家好,我是陈橘又青,今天用Java编程实现图形化界面的扫雷游戏(三种难度),以下是完整的开发思路以及代码,供各位讨论交流。 文章目录 一、效果展示初级难度中级难度高级难度测试界面 二、项目介绍项目背景功…

Java游戏编程初步

现在流行的游戏似乎都是用C或C来开发的。在java平台上几乎没有很大型及可玩的流行游戏。由于java是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性。本文将带领大家一步一步学习编写Java游戏。最终打造属于自己的Java游戏。 …

如何用java语言编写小游戏?(一)

学习java的过程中,如果想找一些小游戏项目来练手的话,我们需要学习哪些技术先呢?(适用于java初学者) 第一步:了解GUI编程—Swing基础 GUI(Graphical User interface): …

SQL编程篇

SQL编程篇 这是以前的学习总结: 这一周将SQL编程篇仔细地看了一遍,有不少感触,因为SQL Server 中的T-SQL语言,在某种程度上就类似C等编程语言,其中有基本运算、控制语句及函数还有一个叫存储过程的东东。但目前对他们在…

SQL语言

创建数据库 创建table,create table后可以"库名.表名"或者"库名.用户.表名",也可以用上面工具选择,如果名字中含有特殊关键字,mysql需要交,sql server需要加[] 创建表 CREATE TABLE Student (S# CHAR ( 8 …

mysql -sql编程

基础语句 # 创建库 create database dome; # 切换到数据库 use dome; # 创建表 create table z (a int unsigned); # 查看表show create table z; # 查看表结构 desc z; # 插入数据 insert into z value(1);# 修改表字段类型 alter table zz change column a a int auto_incre…

pl/SQL编程基础

一、PL/SQL编程基础 1、pl/sql的组成:声明块、执行块、异常处理块 2、编制代码实现12...100的计算 3、编写求u12...100的结果并显示的存储过程 4、编写求12...n的带参数的存储过程 三、函数编程 1、函数的概念 function函数,存储在数据库中的带返回值的命名pl/s…

PL-SQL编程

PL/SQL介绍: PL/SQL是ORACLE对标准数据库语言的扩展 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是对 SQL 的扩展 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构 可用于创…

SQL编程学习01

在正式开始学习前,我发现之前安装的MySQL忘记了root密码。 所以在这里补充一下找回root密码的方法:MySQL找回root密码 一、问题与解决: 1、在创建表的时候出现了「1046(ErrorCode:1046.No database select…&#x…

SQL编程和高级查询

一、使用SQL操作表 1、SQL语言简介 2、数据库操纵语言 (1)INSERT命令 INSERT INTO grade VALUES (5,五年级);--插入每一列 INSERT INTO grade VALUES (6,六年级); INSERT INTO grade VALUES (7,七年级); INSERT INTO student(stuNo,stuName,sex) VAL…

数据库系统SQL编程-02

目录 一、查询平均分高于60分的课程(MSSQL) 表结构: 表样例 输出样例: 编译程序: 二、查询成绩最高的前三名同学(MSSQL) 表结构: 表样例 输出样例: 编译程序: 三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL) 表结构: 表样例 …

嵌入式SQL编程快速上手教程

嵌入式SQL编程快速上手教程 声明:我这里标题虽是《嵌入式SQL编程快速上手教程》,但只是嵌入式SQL编程的冰山一角罢了,我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一:题目描述 其模式描述分别是: S (s…

数据库系统SQL编程-01

目录 一、查询各专业学生的平均成绩(MSSQL) 表结构: 表样例 输出样例: 编译代码: 二、查询平均成绩最高的前3名同学 表结构: 表样例 输出样例: 编译代码: 三、 查询同专业的学生(MSSQL) 表结构: 表样…