Java控制台实现猜拳游戏

本文实例为大家分享了Java控制台实现猜拳游戏的具体代码,供大家参考,具体内容如下

1、目标

通过控制台实现一个人机对战的猜拳游戏,用户通过输入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负。

2、源码

根据目标的要求,可以大概知道,我们需要的类有:

①一个用户类User,用于获得和存储用户的出拳;

②一个机器人的类Robot,用于随机生成机器人的出拳;

③一个Game类,是存放核心代码的类,用户和机器人的出拳在这里进行对比,对结果进行记录,最后输出结果;

④最后是一个调用各个方法的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();
  }
}

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

(0)

相关推荐

  • Java开发实现猜拳游戏

    本文实例为大家分享了Java实现猜拳游戏的具体代码,供大家参考,具体内容如下 一.问题简介 通过控制台方式实现一个人机对战的猜拳游戏,用户通过输 入(1.剪刀2.石头3.布),机器随机生成(1.剪刀2.石头3.布),胜者积分,3局以后通过积分的多少判定胜负. 二.代码逻辑简介 1.向用户解释比赛规则: 2.接收用户输入的内容并判断用户输入的内容是否符合要求,如果不符合,重新输入. 3.电脑自动生成数字: 4.根据电脑和用户输入的内容,进行比较二者的胜负 5.让用户连续进行多场比赛,直到一方达到3

  • Java实现人机猜拳小游戏

    本文实例完成人机猜拳互动游戏的开发,供大家参考,具体内容如下 阶段一:实验--分析业务,创建用户类 1.分析业务,抽象出类.类的特征和行为 2.创建出用户类 阶段二:实验--创建出计算机类 1.创建计算机类Computer.实现计算机出拳 2.产生一个1-3的随机数,模拟计算机的出拳结果 阶段三:实验--创建游戏类,选择对战对手 1.创建游戏类Game 2.编写游戏类的初始化方法initial() 3.编写游戏类的开始游戏方法startGame() 阶段四:实验--实现一局对战 分别调用用户类和

  • java实现猜拳小游戏

    一天下午无聊,突发奇想做的一个简单的小游戏. 下面是我做的过程中思路与步骤:` /* 需求:由后台输入剪刀石头布,然后电脑随机输出一项,比较判断输赢 追加需求:可继续游戏,并当输入错误时提供重新输入 思路: 1.创建一个可以输入的渠道 2.能让电脑随机输出一个结果 3.用一些语句来判断比较 4.用do-while语句来完成继续游戏 5.在判断是否继续游戏时,只能输入Y/N,输入其他则重新输入 步骤: 1.输入格式:import java.util.Scanner; 2.随机格式:Math.ran

  • 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()

  • java项目实现猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 项目名称 猜拳小游戏 项目描述 玩家与电脑进行猜拳游戏,玩家行为采用输入方式,电脑行为采用随机形式. 代码实现 测试类 public class Test { public static void main(String[] args) { Game game = new Game(); game.start(); } } 主类:实现主方法 public class Game { private People peo

  • Java开发实现人机猜拳游戏

    本文实例为大家分享了Java开发实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 猜拳游戏 游戏规则:人和电分别出剪刀.石头.布,直到人战胜电脑,游戏结束. 整体分析: 1.总体是一个循环 ->>>(while循环终止条件是人战胜电脑,break:) 2.人的出拳数字从键盘获得 ->>>(Scanner) 3.电脑的出拳数字随机产生范围是(1,2,3)->>>Math.random() 4.出拳的数字转换为文字 ->>>switc

  • Java入门案列之猜拳小游戏

    最近正在学习Java基础知识,终于完成了第一个小demo,记录下来,算是一个小总结与整理,也希望可以帮助到别人. 先看看我写了哪些类: Player:玩家类: ComputerPlayer:机器人玩家类,主要用来实现机器人随机出拳: Game:游戏类,主要实现游戏规则的逻辑,以及正式游戏的逻辑: TestGuessBox:代码测试类: Player类: //玩家类 public class Player { private String name; //玩家昵称 private int scor

  • java实现数字猜拳小游戏

    本文编写一个java数字猜拳的小游戏,具体实现很简单 package guenum; import java.util.ArrayList; import java.util.Scanner; public class Demo { // private static Object list; public static void main(String ad[]) { System.out.println("-------------------------------------小游戏---

  • java实现猜拳游戏

    本文实例为大家分享了java实现猜拳游戏的具体代码,供大家参考,具体内容如下 package com.farsight.session7; import java.util.Scanner; /** * 根据输入的数字,判断数组strs的值 然后进行逻辑判断 */ public class 猜拳 { public static void main(String[] args) { String[] strs = { "石头", "剪刀", "布"

  • Java控制台实现猜拳游戏小游戏

    本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下 先来看一下效果图: 首先我们创建一个Person类,这个类有name和score两个属性,有play这个方法,源代码如下: package com.samoy; public class Person { public String name; public int score; public Person(String name, int score) { this.name = name; this.score = s

随机推荐