Java面向对象之猜拳游戏

 更新时间:2021年05月19日 09:51:40   作者:&小小白&  
这篇文章主要为大家详细介绍了Java面向对象之猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Java面向对象之猜拳游戏,供大家参考,具体内容如下

1 要求

与电脑进行猜拳并记录分数。

2 Computer.java 源代码(电脑自动随机出拳)

public class Computer {
    public void Fingers(int index) {
        String[] fingers = {"石头", "剪刀", "布"};
        System.out.println("电脑出拳:" + fingers[index]);
    }
}

3 Game.java 源代码(实现主要功能的类)

import java.util.Random;
import java.util.Scanner;

public class Game {
    public void initial(){
        //页面
        Scanner scanner = new Scanner(System.in);
        System.out.println("-------------------欢迎进入游戏界面-------------------");
        System.out.println();
        System.out.println("               ***********************");
        System.out.println("               *******猜拳,开始!******");
        System.out.println("               ***********************");
        System.out.println("出拳规则:0.石头 1.剪刀 2.布");

        //输入姓名
        System.out.print("请输入你的姓名:");
        String name = scanner.next();
        System.out.println(name+" VS 汶老板  对战");

        //判断是否开始
        System.out.print("要开始吗?(输入yes/no):");
        String b =scanner.next();
        int count = 0;
        int usercount=0;
        int computercount=0;
        while (b.equals("yes")){
            //统计对战次数
            count++;

            //玩家出拳
            System.out.print("请出拳 0.石头 1.剪刀 2.布(输入相对应的数字):");
            int a = scanner.nextInt();
            String [] fingers = {"石头","剪刀","布"};
            System.out.println("你出拳:"+fingers[a]);

            //电脑随机出拳
            Random random = new Random();
            int index = random.nextInt(3);
            Computer computer = new Computer();
            computer.Fingers(index);

            //判断输赢
            if ((a == 0 && index == 1)||(a == 1 && index == 2)||(a == 2 && index == 0)) {
                System.out.println("结果说:恭喜你,你赢得了!");
                usercount = usercount+1;
            }else if ((a == 0 && index == 2)||(a == 1 && index == 0)||(a == 2 && index == 1)){
                System.out.println("结果说:很抱歉,你输了!");
                computercount = computercount+1;
            }else{
                System.out.println("结果说:平局!");
            }

            //是否进行下一局
            System.out.print("是否继续进行下一局!(输入yes/no)");
            b = scanner.next();
        }

        //总结
        System.out.println("----------------------总结---------------------");
        System.out.println(name+" VS 汶老板");
        System.out.println("对战次数:"+count);
        System.out.println("姓名\t\t得分");
        System.out.println("汶老板\t"+computercount);
        System.out.println(name+"\t"+usercount);
        String i = computercount>usercount?"很遗憾,你输了本场比赛!":computercount<usercount?"恭喜你,你赢得了本场比赛!":"平局!";
        System.out.println(i);
    }
}

3 Client.java 源代码(测试类)

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

4 结果截图

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

相关文章

  • java使用lambda表达式对List集合进行操作技巧(JDK1.8)

    java使用lambda表达式对List集合进行操作技巧(JDK1.8)

    这篇文章主要介绍了java使用lambda表达式对List集合进行操作技巧适用jdk1.8,感兴趣的朋友跟着小编一起看看实现代码吧
    2018-06-06
  • java进行数据的比较的实例方法

    java进行数据的比较的实例方法

    在本篇文章里小编给大家整理的是一篇关于java进行数据的比较的实例方法,有需要的朋友们可以学习下。
    2021-04-04
  • 利用Sharding-Jdbc进行分库分表的操作代码

    利用Sharding-Jdbc进行分库分表的操作代码

    sharding-jdbc是一个分布式的关系型数据库中间件,今天通过本文给大家介绍利用Sharding-Jdbc进行分库分表的操作代码,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-01-01
  • 为什么SpringBoot的jar可以直接运行

    为什么SpringBoot的jar可以直接运行

    这篇文章主要介绍了为什么SpringBoot的jar可以直接运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 关于Redis键值出现\xac\xed\x00\x05t\x00&错误的解决方法

    关于Redis键值出现\xac\xed\x00\x05t\x00&错误的解决方法

    这篇文章主要介绍了关于Redis键值出现\xac\xed\x00\x05t\x00&的解决方法,出现该问题的原因是, redis template向redis存放使用java对象序列化的值,序列化方式和string的一般方式不同,需要的朋友可以参考下
    2023-08-08
  • SpringBoot后端上传文件类型检测方式

    SpringBoot后端上传文件类型检测方式

    这篇文章主要介绍了SpringBoot后端上传文件类型检测方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现过程

    Spring Boot + Vue 基于 RSA 的用户身份

    RSA是一种非对称加密算法,适用于用户身份认证加密,本文介绍了基于RSA的用户身份认证加密机制的实现,包括前端Vue.js使用jsencrypt库对用户名密码进行加密,后端使用RSA私钥解密验证用户凭据,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Java中对于并发问题的处理思路分享

    Java中对于并发问题的处理思路分享

    并发粗暴的解释就是一段代码,在同一时间段内,被多个线程同时处理的情况就是并发现象。这篇文章和大家分享了一些对于并发问题的处理思路,需要的可以参考一下
    2023-02-02
  • 详解java基础--提示对话框的使用

    详解java基础--提示对话框的使用

    这篇文章主要介绍了java基础--提示对话框的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • SpringBoot Knife4j框架&Knife4j的显示内容的配置方式

    SpringBoot Knife4j框架&Knife4j的显示内容的配置方式

    Knife4j框架是基于Swagger2开发的在线API文档生成工具,主要功能包括自动生成API文档、接口文档展示、接口测试工具、接口权限控制和在线调试,该框架支持通过注解自动生成详细的接口文档,开发者可以直接在文档界面进行接口测试和调试
    2024-09-09

最新评论