人間と機械がこれを行うことができますね。Javaコンソールは「推測ゲーム」を実現します

この記事の例では、Javaコンソールの特定のコードを共有して、参照用の推測ゲームを実装しています。具体的な内容は次のとおりです
。1。目標

マンマシン推測ゲームは、コンソールを介して実現されます。ユーザーが入力(1.はさみ2.岩3.布)、機械がランダムに生成(1.はさみ2.岩3.布)、勝者ポイント、そしてパスnラウンド。ポイント数が勝者を決定します。

2.ソースコード
ターゲットの要件に応じて、必要なクラスは次のとおりであることが大まかにわかります。

①ユーザークラスUser。ユーザーのパンチを取得して保存するために使用されます。

②ロボットのパンチをランダムに発生させるロボットのようなロボット。

③ゲームクラスはコアコードを格納するクラスです。ここではユーザーとロボットのパンチを比較し、結果を記録して最終的に出力します。

④最後に、さまざまなメソッドを呼び出すGuessクラスがあります。

コードに直接:

User.java

import java.util.Scanner;

public class User{
    
    
  static Scanner input = new Scanner(System.in);
  int user = 0;//用户出拳
  int score = 0;//用户积分
  int num = 0;//对战局数

  public int setUser(){
    
    
      System.out.println("请输入:1.剪刀 2.石头 3.布");
      user = input.nextInt();
      if (user == 1){
    
    
        System.out.println("用户出拳:剪刀");
      }else if (user == 2){
    
    
        System.out.println("用户出拳:石头");
      }else if (user == 3){
    
    
        System.out.println("用户出拳:布");
      }
    return user;
  }
}

Robot.java

import java.util.Random;

public class Robot {
    
    
  int id = 0;//获得机器人的出手
  int score = 0;//机器人的积分

  //获得机器人的出拳
  public int setId(){
    
    
    Random random = new Random();
    int r = random.nextInt(3);
    id = r + 1;//获取机器人随机出拳
    if (id == 1){
    
    
      System.out.println("机器人出拳:剪刀");
    }else if (id == 2){
    
    
      System.out.println("机器人出拳:石头");
    }else if (id == 3){
    
    
      System.out.println("机器人出拳:布");
    }
    return id;
  }
}

Game.java

import java.util.Scanner;

public class Game {
    
    
  //对用户类和机器人类进行初始化
  User user = new User();
  Robot robot = new Robot();

  public void GameStart() {
    
    
    //初始化界面
    System.out.println("-------------欢迎进入猜拳游戏---------------");
    System.out.println();
    System.out.println("******************************************");
    System.out.println("——————出拳规则:1.剪刀  2.石头  3.布——————————");
    System.out.println("-------------》》》猜拳开始《《《------------");
    System.out.println("-------------------------------------------");
    Scanner input = new Scanner(System.in);

    //获得用户想要进行的对战次数
    System.out.println("请输入对战局数:");
    user.num = input.nextInt();
    System.out.println("游戏开始");
    
    int userFirst;//用户出拳
    int robotFirst;//机器人出拳
      for (int i = 0; i < user.num; i++) {
    
    
        //获取双方的出拳
        userFirst = user.setUser();
        robotFirst = robot.setId();
        //判断胜负
        if (userFirst == robotFirst) {
    
    
          System.out.println("结果:平局,不积分。");
        } else if ((userFirst == 2 && robotFirst == 1) || (userFirst == 3 && robotFirst == 2)) {
    
    
          System.out.println("结果:你赢了,加一分!");
          user.score++;
        } else {
    
    
          System.out.println("结果:你输了,机器人加一分。");
          robot.score++;
        }
      }
    //显示结果
    showResult();
    }

    //输出对战结果
  private void showResult() {
    
    
    //显示对战次数
    System.out.println("------------------------------");
    System.out.println("对战次数:" + user.num);
    //显示最终得分
    System.out.println("\n姓名\t得分");
    System.out.println("用户" + "\t" + user.score);
    System.out.println("机器人" + "\t" + robot.score + "\n");

    //显示对战结果
    int result = Result();
    if (result == 1) {
    
    
      System.out.println("结果:打成平手。");
    } else if (result == 2) {
    
    
      System.out.println("结果:恭喜你赢得对战!");//用户获胜
    } else {
    
    
      System.out.println("结果:你输了,不气馁,下次再来");//计算机赢
    }
    System.out.println("游戏结束");
    System.out.println("--------------------------");
  }

  //计算比赛结果
  private int Result() {
    
    
    if (user.score == robot.score) {
    
    
      return 1;
    } else if (user.score > robot.score) {
    
    
      return 2;
    } else {
    
    
      return 3;
    }
  }
}

Guess.java

public class Guess {
    
    
  public static void main(String[] args) {
    
    
    Game game = new Game();
    
    //调用输出比赛结果的方法
    game.GameStart();
  }
}

2021年に収集された最新の高頻度インタビューの質問(すべてドキュメントにまとめられています)には、mysql、netty、spring、thread、spring cloud、jvm、ソースコード、アルゴリズム、その他の詳細な説明など、多くの乾物があります。また、詳細な学習計画とインタビュー。質問など、これらのコンテンツを取得する必要がある友人は、Q Junyang:547998459を追加してください。

以上が本稿の全内容です。詳しい情報が必要な場合はご連絡ください。皆様のご勉強に役立つことを願っておりますので、よろしくお願いいたします。

おすすめ

転載: blog.csdn.net/p1830095583/article/details/114448170