搜索
首页Javajava教程java 猜拳小游戏

java 猜拳小游戏

Oct 24, 2019 pm 03:27 PM
java

请认真阅读以下注意事项游戏开始,要求输入玩家名字随后系统将派出一名英雄(名字自取)出站。玩家通过控制台输入 1(石头)、2(剪刀)、3(布) 与系统英雄对战。玩家出拳的同时,系统英雄随即随机出拳。

java 猜拳小游戏

 根据《石头剪刀布游戏》规则,胜利者得1分。 最终比赛结束会展示比赛战绩! 如果玩家胜利,则奖励(胜利局数*2) 荣誉值!!!!同意以上规则请在控制台输入 1,输入其他数字结束!!!

import java.util.Random;
import java.util.Scanner;
public class Game{
	public static void main(String[] args){
			System.out.println("欢迎来到石头剪刀布游戏世界!");
			System.out.println("请认真阅读以下注意事项:");
			System.out.println("* 游戏开始,要求输入玩家名字");
			System.out.println("* 随后系统将派出一名英雄(名字自取)出站。");
			System.out.println("* 玩家通过控制台输入 1(石头)、2(剪刀)、3(布) 与系统英雄对战。");
			System.out.println("* 玩家出拳的同时,系统英雄随即随机出拳。");
			System.out.println("* 根据《石头剪刀布游戏》规则,胜利者得1分。");
			System.out.println("* 最终比赛结束会展示比赛战绩!");
			System.out.println("* 如果玩家胜利,则奖励(胜利局数*2) 荣誉值!");
			System.out.println("* !!!同意以上规则请在控制台输入 1,输入其他数字结束!!!");
			
			Scanner scanner=new Scanner(System.in);
			int agree=scanner.nextInt();//用户是否同意规则	
			Random random=new Random();
	
			String pcName="电脑";//电脑名称
			int userNum;//用户输入的数字
			int pcNum;//电脑输出的数字
			
			int a=0;//记录用户赢的次数
			int b=0;//记录电脑赢的次数
			int c=0;//记录平局次数
			int flag=1;//用户不同意规则 或者 用户退出使用
			int flagError=1;//定义用户输入错误时使用
			//用户同意规则
			if(agree == 1){
				System.out.println("请输入玩家名字: ");
				String userName=scanner.next();
				//for循环
				for(;;){								
					if(flag ==1){						
						System.out.println("系统玩家:  "+pcName+" 出战");
						System.out.println(userName+" 请出拳:1(石头)、2(剪刀)、3(布) (请输入相应的数字,输入0结束比赛)");
						//接收用户出拳
						userNum=scanner.nextInt();
						//电脑出拳
						pcNum=random.nextInt(2)+1;						
						//判断用户出拳
						switch(userNum){
							case 1:							
									System.out.println(userName+" 出拳:石头");
									break;					
							case 2:
									System.out.println(userName+" 出拳:剪刀");
									break;												
							case 3:							
									System.out.println(userName+" 出拳:布");
									break;						
							case 0:										
									System.out.println("退出成功,查看结果");
									flag=0;
									break;
							default:
									System.out.println("输入错误,重新输入");
									flagError=0;
									break;	
						}
						//用户退出
						if(flag ==0){
							break;//终止循环
						}
						//用户输入错误,重新输入
						if(flagError ==0){
							//程序给其赋值开始下一次循环
							flagError=1;
							continue;//只是终止本次循环,继续进行下一次循环
						}	
						//判断电脑出拳
							switch(pcNum){
								case 1:							
										System.out.println(pcName+"  出拳:石头");
										break;											
								case 2:						
										System.out.println(pcName+"  出拳:剪刀");
										break;											
								case 3:							
										System.out.println(pcName+"  出拳:布");
										break;
								default:
								break;
							}								
							//判断谁赢
							if((pcNum-userNum) > 0){
								System.out.println(userName+"  赢了");
								flag=1;
								a++;
							}else if((pcNum-userNum) ==0){
								System.out.println("平局");
								flag=1;					
								c++;
							}else{
								System.out.println(pcName+"  赢了");
								flag=1;
								b++;
							}							
						}else{
							flag=0;
							break;
						}
				}	
				
				System.out.println("*******************");				
				System.out.println(pcName+" 胜利 "+b+" 局");
				System.out.println(userName+" 胜利 "+a+" 局");
				System.out.println("平局:"+c+" 局");
				if(a==b){
					System.out.println("最终结果:打平手!");
				}else if(a > b){
					System.out.println("最终结果:"+userName+" 赢了");
				}else{
					System.out.println("最终结果:"+pcName+" 赢了");
				}				
				System.out.println("*******************");
						
			}else{
				System.out.println("程序结束");
			}
		
	}
}

结果截图:

java-17.png

以上是java 猜拳小游戏的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除
如何将Maven或Gradle用于高级Java项目管理,构建自动化和依赖性解决方案?如何将Maven或Gradle用于高级Java项目管理,构建自动化和依赖性解决方案?Mar 17, 2025 pm 05:46 PM

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

如何使用适当的版本控制和依赖项管理创建和使用自定义Java库(JAR文件)?如何使用适当的版本控制和依赖项管理创建和使用自定义Java库(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

如何使用咖啡因或Guava Cache等库在Java应用程序中实现多层缓存?如何使用咖啡因或Guava Cache等库在Java应用程序中实现多层缓存?Mar 17, 2025 pm 05:44 PM

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

如何将JPA(Java持久性API)用于具有高级功能(例如缓存和懒惰加载)的对象相关映射?如何将JPA(Java持久性API)用于具有高级功能(例如缓存和懒惰加载)的对象相关映射?Mar 17, 2025 pm 05:43 PM

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类负载机制如何起作用,包括不同的类载荷及其委托模型?Java的类负载机制如何起作用,包括不同的类载荷及其委托模型?Mar 17, 2025 pm 05:35 PM

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具