java实现简单猜拳小游戏

 更新时间:2021年11月23日 11:39:22   作者:ღ᭄ꦿ幻墨如烟࿐  
这篇文章主要为大家详细介绍了java实现简单猜拳小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

User.java

import java.util.Scanner;
public class User {
    String name;
    int score;
    public int showFist(){
        System.out.println ("请出拳:1.剪刀\t2.石头\t3.布");
        Scanner input=new Scanner ( System.in );
        int choice=input.nextInt ();
        if(choice==1){
            System.out.println ("您出了剪刀");
        }else if(choice==2){
            System.out.println ("您出了石头");
        }else if (choice==3){
            System.out.println ("您出了布");
        }else {
            System.out.println ("输入有误!");
        }
        return choice;
    }
}

Computer.java

public class Computer {
    String name;
    int score;

    public int showFist () {
        int choice = (int) (Math.random () * 3) + 1;    //产生随机数
        if (choice == 1) {
            System.out.println (name +"出了剪刀" );
        } else if (choice == 2) {
            System.out.println (name +"出了石头" );
        } else if (choice == 3) {
            System.out.println (name +"您出了布" );
        } else {
            System.out.println ( "输入有误!" );
        }
        return choice;
    }
}

Game.java

import java.util.Scanner;

public class Game {
    User user;  //用户
    Computer computer;  //计算机
    int count;  //记录对战次数

    //初始化:设置自己的名字   对手的名字,积分0
    public void init(){
        System.out.println ("请输入自己的名字");
        Scanner input = new Scanner ( System.in );
        String name = input.next ();
        user=new User ();   //对象初始化
        user.name=name;
        user.score=0;
        System.out.println ("请选择你的对手:\n1.张三\t2.李四\t3.王五");
        int choice = input.nextInt ();
        computer=new Computer ();   //对象初始化
        computer.score=0;
        switch (choice){
            case 1:
                computer.name="张三";
            case 2:
                computer.name="李四";
            case 3:
                computer.name="王五";
                break;
            default:
                System.out.println ("输入有误!");
        }
        System.out.println ("你选择与TA对战:"+computer.name);
    }

    public void start() {
        init ();
        Scanner input=new Scanner ( System.in );
        String isContinue = null;
        do {
            int userFist = user.showFist ();              //人出拳
            int chomputerFist = computer.showFist ();     //计算机出拳
            calcResult ( userFist, chomputerFist );
            System.out.println ("是否继续?y(继续)/其他(结束)");
            isContinue=input.next ();
        }while ("y".equals ( isContinue ));
         showResult (user,computer);    //显示最终结果
    }
    //计算每一轮的结果
    public void calcResult(int userFist,int computerFist){
        //"1.剪刀\t2.石头\t3.布"
        if((userFist==1&&computerFist==3)||(userFist==2&&computerFist==1)||(userFist==3&&computerFist==2)){
            System.out.println ("您赢了");
            user.score++;
        }else if((userFist==3&&computerFist==1)||(userFist==1&&computerFist==2)||(userFist==2&&computerFist==3)){
            System.out.println ("您输了");
            computer.score++;
        }else {
            System.out.println ("您平局");
        }


    }
    //计算最终结果
    public void showResult(User user,Computer computer){
        System.out.println (user.name +"\t" +user.score );
        System.out.println (computer.name +"\t" +computer.score);
        if (user.score>computer.score){
            System.out.println ("恭喜,获得了最终的胜利");
        }else if (user.score<computer.score){
            System.out.println ("很遗憾你输了");
        }else {
            System.out.println ("最终平局...");
        }

    }

    public static void main ( String[] args ) {
        Game game = new Game ();
        game.start ();
    }
}

测试结果显示

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

相关文章

  • Java如何手动创建线程池

    Java如何手动创建线程池

    这篇文章主要介绍了Java如何手动创建线程池,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java中动态规则的实现方式示例详解

    Java中动态规则的实现方式示例详解

    这篇文章主要介绍了Java中动态规则的实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 教你使用java将excel数据导入MySQL

    教你使用java将excel数据导入MySQL

    今天教大家如何使用Java将excel数据导入MySQL,文中有非常详细的代码示例,对正在学习java的小伙伴呢很有帮助,需要的朋友可以参考下
    2021-05-05
  • Spring Boot指标监控及日志管理示例详解

    Spring Boot指标监控及日志管理示例详解

    Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用,比如健康检查、内存使用情况统计、线程使用情况统计等,这篇文章主要介绍了Spring Boot指标监控及日志管理,需要的朋友可以参考下
    2023-11-11
  • 简单了解synchronized和lock的区别

    简单了解synchronized和lock的区别

    这篇文章主要介绍了简单了解synchronized和lock的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • springBoot 项目排除数据库启动方式

    springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 详解如何把cmd黑窗口把java文件打包成jar

    详解如何把cmd黑窗口把java文件打包成jar

    本文主要介绍了如何把cmd黑窗口把java文件打包成jar,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 解决IntelliJ IDEA中鼠标拖动选择为矩形区域问题

    解决IntelliJ IDEA中鼠标拖动选择为矩形区域问题

    这篇文章主要介绍了解决IntelliJ IDEA中鼠标拖动选择为矩形区域问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Android Studio中ButterKnife插件的安装与使用详解

    Android Studio中ButterKnife插件的安装与使用详解

    本篇文章主要介绍了Android Studio中ButterKnife插件的安装与使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 使用SpringCache进行缓存数据库查询方式

    使用SpringCache进行缓存数据库查询方式

    这篇文章主要介绍了使用SpringCache进行缓存数据库查询方式,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论