java 人机猜拳 游戏
人机猜拳-游戏
掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用
- 定义一个电脑类:Computer.java
点击查看【Computer.java】代码
/**
 * @Title: 电脑类
 * @Description: 定义电脑类创建时将拥有的属性和方法
 * @author: TabKey9
 * @CreateDate: 2022.2.26
 */
public class Computer {
    static String name = "关羽";//名字
    static double integral;//总积分
    static String chu;//本次出拳状态
    /**
     * @description: 出拳动作
     * @param: null
     * @return: String  value
     * @author: TabKey9
     * @update: 2022/2/26  17:35
     */
    public static void chu(){
        int val = (int)(Math.random()*3) + 1;//1个随机数:取值范围0~2
        switch(val){
            case 1:
                chu = "石头";
                System.out.println( name +" 电脑出【石头】");
                break;
            case 2:
                chu = "剪刀";
                System.out.println( name +" 电脑出【剪刀】");
                break;
            case 3:
                chu = "布";
                System.out.println(name +" 电脑出【布】");
                break;
        }
    }
}
2.定义一个玩家类:Mankind.java
点击查看【Mankind.java】代码
/**
 * @Title: 人类
 * @Description: 定义人类创建时将拥有的属性和方法
 * @author: TabKey9
 * @CreateDate: 2022.2.26
 */
public class Mankind {
    static String name = "王富贵";//名字
    static double integral;//总积分
    static String chu;//本次出拳状态
    /**
     * @description: 出拳动作
     * @param: null
     * @return: String  value
     * @author: TabKey9
     * @update: 2022/2/26  17:35
     */
    public static void chu(int i){
        switch(i){
            case 1:
                chu = "石头";
                System.out.println( name +" 出【石头】");
                break;
            case 2:
                chu = "剪刀";
                System.out.println( name +" 出【剪刀】");
                break;
            case 3:
                chu = "布";
                System.out.println(name +" 出【布】");
                break;
        }
    }
}
- 最后再写一个游戏类:Game.java
点击查看【Game.java】代码
import java.util.Scanner;
/**
 * @Title: 人机猜拳-游戏
 * @Description: 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用
 * @author: TabKey9
 * @CreateDate: 2022.2.26
 */
public class Game {
    public static void main(String[] args) {
        System.out.println("【========== 人机猜拳游戏 ==========】");
        Scanner input = new Scanner(System.in);// 创建扫描仪,用于获取用户输入值
        Computer dn = new Computer();//创建一个电脑玩家
        System.out.println("请选择电脑玩家:1、小伙子;2、小姑凉;2、关羽;4、唐僧");
        switch(input.nextInt()){
            case 1:
                dn.name ="小伙子";
                break;
            case 2:
                dn.name ="小姑凉";
                break;
            case 3:
                dn.name ="关羽";
                break;
            case 4:
                dn.name ="唐僧";
                break;
        }
        Mankind ren = new Mankind();//创建一个玩家
        System.out.print("请输入玩家昵称:");
        ren.name = input.next();
        while(true){
            System.out.print("【三局两胜】开始游戏?(y/n):");// 开始游戏?
            String start = input.next();
            if (start.equals("n")){ // 判断字符串需要用字符串的函数方法,而不是用运算符比较字符串
                System.out.println("游戏结束,下次再玩吧!");
                System.exit(0);// 终止游戏
            }else if (!start.equals("y")){
                System.out.println("请按要求重新输入!!!");
                continue;
            }
            System.out.println("游戏规则:1、石头;2、剪刀;3、布");// 声明游戏规则
            for (int i=1,d=0,r=0;i<3 || d==r;i++){
                System.out.println();
                System.out.print("请出拳:");
                int val = input.nextInt();
                ren.chu(val);//玩家出拳一次
                dn.chu();//电脑出拳一次
                //        判断胜负结果
                if ( (dn.chu=="剪刀" && ren.chu=="石头") || (dn.chu=="石头" && ren.chu=="布") || (dn.chu=="布" && ren.chu=="剪刀") ){
                    r++;
                    System.out.println("人/机 比分:"+ d +":"+ r);
                    System.out.println( "你 得分!");
                }else if ( dn.chu == ren.chu ){
                    i--;// 平局还得i--,不然1:0也会提前结束游戏
                    System.out.println("人/机 比分:"+ d +":"+ r);
                    System.out.println("平局!再来?");
                }else{
                    d++;
                    System.out.println("人/机 比分:"+ d +":"+ r);
                    System.out.println( "电脑 得分");
                }
//                累计总积分:输了--,赢了++
                if ( r==2 && d<r ){
                    ren.integral++;
                    dn.integral--;
                }else if ( d==2 && d>r ){
                    ren.integral--;
                    dn.integral++;
                }
            }
//            展示总积分
            System.out.println();
            System.out.println("你 的总积分:"+ ren.integral +";\t\t"+ dn.name +" 的总积分:"+ dn.integral);
            System.out.println();
        }
    }
}
游戏体验:

java 人机猜拳 游戏的更多相关文章
- Java 实现简单的人机猜拳游戏
		import java.util.Scanner; import java.util.Random; public class TestGuess{ public static void main(S ... 
- 人机猜拳游戏Java
		作业要求: 我的代码: package day20181119;/** * 猜拳游戏 * @author Administrator * @version1.0 */import java.util. ... 
- python与java的猜拳游戏
		python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ... 
- JAVA 猜拳游戏
		JAVA 猜拳游戏 题目:通过控制台方式实现一个人机对战的猜拳游戏 用户通过输入(0.石头子 1.剪刀 2.布),机器随机生成(0.石头子 1.剪刀 2.布) 要求: 能打印玩家的对局信息,胜利的次数 ... 
- 有趣的java小项目------猜拳游戏
		package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ... 
- Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观
		Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java ... 
- 猜拳游戏三局两胜------java实现代码
		package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ... 
- Java中利用随机数的猜拳游戏
		Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ... 
- JAVA基础代码分享--模拟人机猜拳系统
		问题描述: 一.主要功能: .电脑与人互动,实现“剪刀.石头.布”的游戏: 1.1 角色登陆: ******************** ***欢迎进入猜拳游戏*** **************** ... 
随机推荐
- java基础05-类型转换
			java基础05-类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换. 低 ---------------------------> 高 byte , short , ... 
- 带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN
			摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架--HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性 ... 
- [Windows]为windows系统鼠标右键添加软件和图标
			转载自 https://blog.csdn.net/p312011150/article/details/81207059 一.打开注册表 首先打开windows的注册表,当然了,我个人倾向于 (1) ... 
- luis使用手册
			Luis聊天机器人的使用 首先打开luis官网 图5.1 luis官网界面 图5.2 app应用管理界面 界面显示现有应用,显示它们的名称,语言,日期,以及使用次数.点击创建一个新的app应用. ... 
- 全网最全的Java SpringBoot点赞功能实现
			前言 最近公司在做一个NFT商城的项目,大致就是一个只买卖数字产品的平台,项目中有个需求是用户可以给商品点赞,还需要获取商品的点赞总数,类似下图 起初感觉这功能很好实现,无非就是加个点赞表嘛,后来发现 ... 
- k8s通过Service访问Pod
			如何创建服务 1.创建Deployment #启动三个pod,运行httpd镜像,label是run:mcw-httpd,Seveice将会根据这个label挑选PodapiVersion: apps ... 
- IoC容器-Bean管理XML方式(引入外部属性文件)
			IoC操作Bean管理(引入外部属性文件) 1,直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池依赖jar包 2,通过引入外部属性文件配置数据库连接池 (1)创建外部属性文件,pro ... 
- Kafka中非常值得学习的优秀设计
			一.Kafka基础 消息系统的作用 应该大部份小伙伴都清楚,用机油装箱举个例子 所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用. 引入一个场景,我们知道中国移动,中国 ... 
- 羽夏看Win系统内核——同步篇
			写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ... 
- 如何使用C++开发PHP扩展(下)
			更多的情况是业务中已经有独立的 api 库,形式为 libxxx.a / libxxx.so,PHP程序中需要调用这些 api,所以这时就要编写PHP扩展来实现.这时是使用静态库 libxxx.a , ... 
