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

}

}

以上是 Java控制台实现猜拳游戏 的全部内容, 来源链接: utcz.com/z/322974.html

回到顶部