博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人机猜拳
阅读量:5230 次
发布时间:2019-06-14

本文共 4064 字,大约阅读时间需要 13 分钟。

第一个类:

package java12;

import java.util.Scanner;

public class renjicaiquan {

  Scanner input = new Scanner(System.in);
//定义玩家类的属性
    String name;
    int score;
    String action;
    int num;
//定义玩家类的猜拳方法
    public void show() {
      System.out.println("\n请出拳:1.剪刀 2.石头 3.布");
    boolean a = true;
     do {

    num = input.nextInt();

      if (num == 1 || num == 2 || num == 3) {
        switch (num) {
          case 1:
            action = "剪刀";
            break;
          case 2:
            action = "石头";
            break;
          case 3:
            action = "布";
          break;
      }
         a = false;
       System.out.println("你出拳:" + action);
     } else {
       System.out.println("输入数字有误,请重新输入");
      }

        } while (a);

      }
    }

 

 

 

 


 

 

第二个类:

package java12;

public class renjicaiquan1 {

//电脑类

  String name;

  int score;
  String action;
  int sum;

//定义电脑类猜拳方法

  public void show() {

//产生随机数

  sum=(int)(Math.random());

    switch(sum) {
      case 1:
        action="剪刀";
        break;
      case 2:
        action="石头";
        break;
      case 3:
        action="布";
        break;
  }
         System.out.println(name+"出拳"+action);
      }
  }

 

 

 


 

 

第三个类:

package java12;

import java.util.Scanner;

public class renjicaiquan2 {

//游戏类

  Scanner input=new Scanner(System.in);

//定义游戏类的属性

//创建玩家类的对象

  renjicaiquan it=new renjicaiquan();

//创建电脑类的对象

  renjicaiquan1 is=new renjicaiquan1();

    int number;
    int witch=0;

//定义游戏进程的方法

    public void process() {

      System.out.println("--------------------------欢迎进入游戏世界--------------------------\n");
      System.out.println("\t\t********************************");
      System.out.println("\t\t**********猜拳,开始*************");
      System.out.println("\t\t********************************");
      System.out.println();
      System.out.println("出拳规则:1.剪刀 2.石头 3.布");
      System.out.print("请选择对方角色(1:刘备2:孙权3:曹操):");
    boolean b = true;
    do {
  number = input.nextInt();
     if (number == 1 || number == 2 || number == 3) {
       switch (number) {
        case 1:
          is.name = "刘备";
          break;
        case 2:
          is.name = "孙权";
          break;
        case 3:
          is.name = "曹操";
          break;

    }

      b = false;
      } else {
          System.out.println("输入数字有误,请重新输入");
    }
      } while (b);
          System.out.print("请输入你的姓名:");
    it.name = input.next();
          System.out.println(it.name + " VS " + is.name + " 对战\n");
          System.out.println("要开始吗?(y/n)");
    char answer = input.next().charAt(0);
    while (answer == 'y') {
      it.show();
      is.show();
      if (it.num == is.sum) {
          System.out.println("和局");
      } else if (((it.num == 2) && (is.sum == 1))|| (it.num == 1) && (is.sum == 3)|| ((it.num == 3) && (is.sum == 2))) {
          System.out.println("你赢了,真棒!");
      it.score++;
    } else {
          System.out.println("你输了,真笨!");
      is.score++;
    }
      witch++;
          System.out.println("\n");
          System.out.println("还要继续吗?(y/n)");
      answer = input.next().charAt(0);
    }
    }
/**
* 定义游戏结算的方法
*/
  public void showResult() {
          System.out.println("********************************");
          System.out.println(it.name + " VS " + is.name);
          System.out.println("对战次数:" + witch);
          System.out.println("\n姓名\t\t得分");
          System.out.println(it.name + "\t\t" + it.score);
          System.out.println(is.name + "\t\t" + is.score);
      if (it.score < is.score) {
          System.out.println("你真笨,下次加油!");
      } else if (it.score == is.score) {
          System.out.println("竟然平局,我们下次一决胜负!");
      } else {
          System.out.println("你真棒!太赞了!!");
    }
          System.out.println("********************************");

      }

    }

 

 

 

 


 

 

测试类:

package java12;

public class renjicaiquan3 {

public static void main(String[] args) {
  renjicaiquan2 play=new renjicaiquan2();                  //创建游戏类的对象
  play.process();                //调用游戏类的游戏进程方法
  play.showResult();               //调用游戏类的结算方法
  }
}

 

转载于:https://www.cnblogs.com/wnwn/p/9785106.html

你可能感兴趣的文章
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列
查看>>
定制jackson的自定义序列化(null值的处理)
查看>>
auth模块
查看>>
javascript keycode大全
查看>>
前台freemark获取后台的值
查看>>
log4j.properties的作用
查看>>
游戏偶感
查看>>
Leetcode: Unique Binary Search Trees II
查看>>
C++ FFLIB 之FFDB: 使用 Mysql&Sqlite 实现CRUD
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>