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经典小游戏汇总

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

相关文章

  • 如何使用axis调用WebService及Java WebService调用工具类

    如何使用axis调用WebService及Java WebService调用工具类

    Axis是一个基于Java的Web服务框架,可以用来调用Web服务接口,下面这篇文章主要给大家介绍了关于如何使用axis调用WebService及Java WebService调用工具类的相关资料,需要的朋友可以参考下
    2023-04-04
  • Java圆通物流轨迹推送服务接口文档及流程

    Java圆通物流轨迹推送服务接口文档及流程

    这篇文章主要介绍了圆通物流轨迹推送服务接口Java文档,主要用来接收圆通推送的订单状态,本文给大家分享详细流程,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • java获取手机已安装APK的签名摘要

    java获取手机已安装APK的签名摘要

    这篇文章主要介绍了java获取手机已安装APK的签名摘要的相关资料,需要的朋友可以参考下
    2016-02-02
  • 浅谈Java abstract关键字不能和哪些关键字共存

    浅谈Java abstract关键字不能和哪些关键字共存

    本文主要介绍了Java abstract关键字不能和哪些关键字共存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • Java Servlet上传图片到指定文件夹并显示图片

    Java Servlet上传图片到指定文件夹并显示图片

    在学习Servlet过程中,针对图片上传做了一个Demo,如果大家对Java Servlet上传图片到指定文件夹并显示图片功能感兴趣的朋友大家通过本文一起学习吧
    2017-08-08
  • SpringBoot中的自动配置原理详解

    SpringBoot中的自动配置原理详解

    这篇文章主要介绍了SpringBoot中的自动配置原理详解,springboot的自动配置类直观的表现就是通过一系列的注解,使得springboot项目在启动的时候从配置文件中加载需要自动配置的类,注入容器中,需要的朋友可以参考下
    2024-01-01
  • 模拟简单Java线程池的方法详解

    模拟简单Java线程池的方法详解

    这篇文章主要为大家详细介绍了模拟简单Java线程池的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 关于@Scheduled不执行的原因分析

    关于@Scheduled不执行的原因分析

    这篇文章主要介绍了关于@Scheduled不执行的原因分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot项目中遇到的BUG问题及解决方法

    SpringBoot项目中遇到的BUG问题及解决方法

    这篇文章主要介绍了SpringBoot项目中遇到的BUG问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 4种java复制文件的方式

    4种java复制文件的方式

    本篇文章列举了4种最受欢迎的java复制文件的方式,复制文件是一个重要的操作,需要的朋友可以参考下
    2015-07-07

最新评论