转载

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,学了之后或许可以去做贪吃蛇、扫雷、五子棋等等一些小游戏了。想想还是有点小激动呢,继续加油吧!!!

原文  https://segmentfault.com/a/1190000021434001
正文到此结束
Loading...