Java实现人机猜拳游戏

 更新时间:2020年07月28日 10:23:00   作者:梦小娴  
这篇文章主要为大家详细介绍了Java实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下

实现:

User类

public class User 
{
 private String name;
 private int score=0;
 private int num;
 public String GetName()
 {
 return this.name;
 }
 public void SetName(String name)
 {
 this.name=name;
 }
 public int GetScore()
 {
 return this.score;
 }
 public void SetScore(int score)
 {
 this.score+=score;
 }
 
}

Computer类

public class Computer 
{
 private String name;
 private int score=0;
 private int num;
 public String GetName()
 {
 return this.name;
 }
 public void SetName(String name)
 {
 this.name=name;
 }
 
 public int RandNums()
 {
 int n;
 n=(int)(Math.random()*3)+1;// 返回1到3的随机整数。 
 return n;
 }
 public int GetScore()
 {
 return this.score;
 }
 public void SetScore(int score)
 {
 this.score+=score;
 }
}

Gamemanager类

import java.util.Scanner;
 
public class GameManager 
{
 
 
 
 public static void main(String[] args) 
 {
 Scanner input=new Scanner(System.in);//创建一个键盘扫描类对象
 User user=new User();
 Computer computer=new Computer();
 int vsNums=0;
 System.out.println("出拳游戏规则:1、剪刀,2、石头,3、布");
 System.out.println("请选择对方角色(1、刘备,2、孙权,3、曹操)");
 int n=input.nextInt(); //输入整型
 switch(n)
 {
 case 1:
 computer.SetName("刘备");
 break;
 case 2:
 computer.SetName("孙权");
 break;
 case 3:
 computer.SetName("曹操");
 break;
 }
 System.out.println("请输入你的姓名");
 String name=input.next(); //输入字符串型
 user.SetName(name);
 System.out.println(user.GetName()+" "+"VS"+" "+computer.GetName());
 
 String flag="y";
 while(flag.equals(flag))
 {
 System.out.println("要开始吗y/n");
 String yOrn=input.next(); //输入字符串型
 if(yOrn.equals("y"))
 {
 vsNums++;
 System.out.println("请出拳:1、剪刀,2、石头,3、布(输入数字)");
 int nums=input.nextInt(); //输入整型
 switch(nums)
 {
 case 1:
  System.out.println("你出拳:"+"剪刀");
  break;
 case 2:
  System.out.println("你出拳:"+"石头");
  break;
 case 3:
  System.out.println("你出拳:"+"布");
  break;
 }
 int rand=computer.RandNums();
 switch(rand)
 {
 case 1:
  System.out.println(computer.GetName()+"出拳:"+"剪刀");
  break;
 case 2:
  System.out.println(computer.GetName()+"出拳:"+"石头");
  break;
 case 3:
  System.out.println(computer.GetName()+"出拳:"+"布");
  break;
 }
 if(nums==1 && rand==3 || nums==2 && rand==1 || nums==3 && rand==2)
 {
  System.out.println("恭喜,你赢了");
  user.SetScore(1);
 }
 else if(nums==rand)
 {
  System.out.println("平手了");
 }
 else
 {
  System.out.println("很遗憾,你输了");
  computer.SetScore(1);
 }
 
 }
 else
 {
 System.out.println(computer.GetName()+" "+"VS"+" "+user.GetName());
 System.out.println("对战次数:"+vsNums);
 System.out.println("姓名\t得分");
 System.out.println(user.GetName()+"\t"+user.GetScore());
 System.out.println(computer.GetName()+"\t"+computer.GetScore());
 if(user.GetScore()>computer.GetScore())
 {
  System.out.println("恭喜,恭喜");
 }
 else
 {
  System.out.println("继续加油");
 }
 break;
 }
 }
 
 
 }
}

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • @Configuration保证@Bean单例语义方法介绍

    @Configuration保证@Bean单例语义方法介绍

    这篇文章主要介绍了SpringBoot中的@Configuration与@Bean注解,在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制,只有把这些都搞清楚了,我们在之后使用才会更加得心应手
    2023-01-01
  • Java实现定时任务的方法详解

    Java实现定时任务的方法详解

    大家都用过闹钟,闹钟可以说是一种定时任务。那么,在 Java 中,如何实现这样的功能呢?即如何实现定时任务呢?本文就来详细和大家聊聊
    2022-10-10
  • java制作复制文件工具代码分享

    java制作复制文件工具代码分享

    如果目标位置没有同名文件,则直接拷贝过去;如果目标位置已有同名文件,则比对文件的最后修改日期,来进行覆盖或者忽略。程序会在可以在复制过程中自动创建目录,并生成log文件,创建了哪些目录、文件,覆盖了哪些文件、跳过了哪些文件,文件的时间、位置等信息都一目了然
    2014-01-01
  • jvm添加自定义dns实现过程示例

    jvm添加自定义dns实现过程示例

    这篇文章主要为大家介绍了jvm添加自定义dns实现过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • SpringBoot中的异步任务解析

    SpringBoot中的异步任务解析

    这篇文章主要介绍了SpringBoot中的异步任务解析,SpringBoot 异步任务是一种在SpringBoot框架中使用的异步处理机制,可以提高系统的并发能力和响应速度,需要的朋友可以参考下
    2023-10-10
  • Java中的Random和ThreadLocalRandom详细解析

    Java中的Random和ThreadLocalRandom详细解析

    这篇文章主要介绍了Java中的Random和ThreadLocalRandom详细解析,Random 类用于生成伪随机数的流, 该类使用48位种子,其使用线性同余公式进行修改,需要的朋友可以参考下
    2024-01-01
  • Java观察者设计模式详解

    Java观察者设计模式详解

    这篇文章主要为大家详细介绍了Java观察者设计模式,对观察者设计模式进行分析理解,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • java微信延迟支付的实现示例

    java微信延迟支付的实现示例

    最近在面试的过程中总会出现一些关于微信支付延迟返回结果的处理方式的问题,本文主要介绍了java微信延迟支付的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • hutool 工具类基本使用教程

    hutool 工具类基本使用教程

    Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以 “甜甜的”,下面通过本文学习下hutool 工具类基本使用教程,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • java正则匹配读取txt文件提取特定开头和结尾的字符串

    java正则匹配读取txt文件提取特定开头和结尾的字符串

    通常我们可以直接通过文件流来读取txt文件的内容,但有时候也会遇到问题,下面这篇文章主要给大家介绍了关于java正则匹配读取txt文件提取特定开头和结尾的字符串的相关资料,需要的朋友可以参考下
    2022-11-11

最新评论