温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Java控制台中实现一个猜拳游戏

发布时间:2021-01-19 15:23:19 来源:亿速云 阅读:213 作者:Leah 栏目:开发技术

这篇文章给大家介绍怎么在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控制台中实现一个猜拳游戏就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI