java实现猜拳小游戏

 更新时间:2020年01月01日 08:57:09   作者:小白程序猩  
这篇文章主要为大家详细介绍了java实现猜拳小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一天下午无聊,突发奇想做的一个简单的小游戏。

下面是我做的过程中思路与步骤:`

/* 需求:由后台输入剪刀石头布,然后电脑随机输出一项,比较判断输赢

追加需求:可继续游戏,并当输入错误时提供重新输入

思路:

1、创建一个可以输入的渠道

2、能让电脑随机输出一个结果

3、用一些语句来判断比较

4、用do-while语句来完成继续游戏

5、在判断是否继续游戏时,只能输入Y/N,输入其他则重新输入

步骤:

1、输入格式:import java.util.Scanner;

2、随机格式:Math.random();

3、判断:if、else if、do-while、while、equalsIgnoreCase */

import java.util.Scanner;

class Dier{

public void Dier() { 
  //构建游戏规则的运行方法
   String xianze;
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入剪刀、石头、布其中一种:");
   xianze = sc.nextLine(); //存储后台输入的选项
   float suiji = (int)(Math.random()*3);
   String jiandao ="剪刀";
   String shito = "石头";
   String bu = "布";
   String jieguo = "null";
 if(0<=suiji && suiji<1) { //让0~1的值为剪刀
   jieguo = jiandao;
   }
 else if(1<=suiji && suiji<2) {  //让1~2的值为石头
   jieguo = shito;
   }
 else  //让2~3的值为布
   {
   jieguo = bu;
 }
 if(xianze.equals("剪刀") || xianze.equals("石头") || xianze.equals("布")) {
    System.out.println("电脑猜拳出的是:"+jieguo);
 }
 if(xianze.equals(jieguo)) {
    System.out.println("平局");
 }
 else if(xianze.equals(jiandao) && jieguo.equals(shito)) {
    System.out.println("抱歉,你输了!");
 }
 else if(xianze.equals(jiandao) && jieguo.equals(bu)) {
    System.out.println("恭喜你,你赢了!");
 }
 else if(xianze.equals(shito) && jieguo.equals(jiandao)) {
    System.out.println("恭喜你,你赢了!");
 }
 else if(xianze.equals(shito) && jieguo.equals(bu)) {
    System.out.println("抱歉,你输了!");
 }
 else if(xianze.equals(bu) && jieguo.equals(jiandao)) {
    System.out.println("抱歉,你输了!");
 }
 else if(xianze.equals(bu) && jieguo.equals(shito)) {
    System.out.println("恭喜你,你赢了!");
 }
 else {
    System.out.println("输入有误,请正确输入剪刀、石头、布其中一种!");
   }
 }
public void Disan() {   //用do-while循环来判断是否继续
  String a = null;
  String b = null;
 do{
  Dier();   //调用主要的游戏结果判断方法
  b=Diyi(a);     //调用游戏是否继续进行
 while(!b.equalsIgnoreCase("Y")) {    //用while循环判断输入是否正确
  if(!b.equalsIgnoreCase("N")) {
   System.out.println("输入错误,请重新输入Y/N!!!");
   Diyi(b);  //若输入不正确则在调用一次游戏是否继续的方法
  }
    break;  //跳出循环
     } 
  }while(!b.equalsIgnoreCase("N"));             
     System.out.println("游戏结束");
 }
public String Diyi(String a) {   //创建游戏是否继续的方法
    String zimu = a;
    Scanner zm = new Scanner(System.in);
    System.out.println("继续游戏(Y/N)?");
    zimu = zm.next();
    return zimu;
   }
 }
public class Caiquan {
   public static void main(String[] args) {
      Dier xianze = new Dier();
      xianze.Disan();
   }
}

大致上就这样了,毕竟还没有学Swing,学了之后或许可以去做贪吃蛇、扫雷、五子棋等等一些小游戏了。

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

相关文章

  • Java 通过反射给实体类赋值操作

    Java 通过反射给实体类赋值操作

    这篇文章主要介绍了Java 通过反射给实体类赋值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • SpringCloud两种注册中心的实现

    SpringCloud两种注册中心的实现

    本文主要介绍了SpringCloud两种注册中心的实现,包括服务注册、服务拉取、负载均衡和实例权重配置等,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • mybatis collection关联查询多个参数方式

    mybatis collection关联查询多个参数方式

    在使用MyBatis进行关联查询时,往往需要根据多个参数进行查询,例如,使用evtId和businessType作为查询条件,同时在resultMap中配置id和businessType1作为结果映射,这种情况下,可以通过<sql>标签定义参数模板,或者使用@Param注解指定参数名称
    2024-10-10
  • Java多线程下载的实现方法

    Java多线程下载的实现方法

    复习多线程的时候,练习了下,顺便记录一下:
    2013-03-03
  • springboot如何使用redis的incr创建分布式自增id

    springboot如何使用redis的incr创建分布式自增id

    这篇文章主要介绍了springboot如何使用redis的incr创建分布式自增id,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java中数组array和列表list相互转换

    Java中数组array和列表list相互转换

    这篇文章主要介绍了Java中数组array和列表list相互转换,在Java中,可以将数组(array)和列表(list)相互转换,但需要注意一些细节和限制,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Java零基础教程之do-while循环语句实例

    Java零基础教程之do-while循环语句实例

    Java中的do-while循环是一种后测试循环语句,它类似于while循环,但它先执行循环体中的代码,然后再进行条件判断,无论条件是否满足,至少会执行一次循环体中的代码,这篇文章主要给大家介绍了关于Java零基础教程之do-while循环语句的相关资料,需要的朋友可以参考下
    2024-09-09
  • Java面试题冲刺第二十六天--实战编程

    Java面试题冲刺第二十六天--实战编程

    这篇文章主要为大家分享了最有价值的三道java实战面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Mybatis-plus依赖及配置文件方式

    Mybatis-plus依赖及配置文件方式

    这篇文章主要介绍了Mybatis-plus依赖及配置文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java详解如何将excel数据转为树形

    Java详解如何将excel数据转为树形

    在平常的办公工作中,excel数据的操作是最常见的需求,今天就来看一下通过Java如何来实现将excel数据转为树形,感兴趣的朋友可以了解下
    2022-08-08

最新评论