人机猜拳-游戏

掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用

  1. 定义一个电脑类: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;
}
} }

  1. 最后再写一个游戏类: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 人机猜拳 游戏的更多相关文章

  1. Java 实现简单的人机猜拳游戏

    import java.util.Scanner; import java.util.Random; public class TestGuess{ public static void main(S ...

  2. 人机猜拳游戏Java

    作业要求: 我的代码: package day20181119;/** * 猜拳游戏 * @author Administrator * @version1.0 */import java.util. ...

  3. python与java的猜拳游戏

    python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...

  4. JAVA 猜拳游戏

    JAVA 猜拳游戏 题目:通过控制台方式实现一个人机对战的猜拳游戏 用户通过输入(0.石头子 1.剪刀 2.布),机器随机生成(0.石头子 1.剪刀 2.布) 要求: 能打印玩家的对局信息,胜利的次数 ...

  5. 有趣的java小项目------猜拳游戏

    package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...

  6. Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观

    Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java  ...

  7. 猜拳游戏三局两胜------java实现代码

    package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ...

  8. Java中利用随机数的猜拳游戏

    Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...

  9. JAVA基础代码分享--模拟人机猜拳系统

    问题描述: 一.主要功能: .电脑与人互动,实现“剪刀.石头.布”的游戏: 1.1 角色登陆: ******************** ***欢迎进入猜拳游戏*** **************** ...

随机推荐

  1. Kafka connector (kafka核心API)

    前言 Kafka Connect是一个用于将数据流输入和输出Kafka的框架.Confluent平台附带了几个内置connector,可以使用这些connector进行关系数据库或HDFS等常用系统到 ...

  2. 阿里Java规范:【强制】所有的 POJO 类属性必须使用包装数据类型

    在 Java 开发手册中有这一条: 我们知道基本类型和包装类型有很多不同点: 封装类型可以调用各种方法,而基本类型没有 封装类型声明字段之后可以不设置默认值,而基本类型需要初始化默认值.比如 int ...

  3. k8s基本概念,资源对象

    kubernetes里的master指的是集群控制节点 master负责是整个集群的管理和控制 kubernetes3大进程 API server 增删改查操作的关键入口 controller man ...

  4. AT2645 [ARC076D] Exhausted?

    解法一 引理:令一个二分图两部分别为 \(X, Y(|X| \le |Y|)\),若其存在完美匹配当且仅当 \(\forall S \subseteq X, f(S) \ge |S|\)(其中 \(f ...

  5. 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

    一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger.Swagger 是一个规范和完整的框架,用于生成.描述.调试和可视化 RESTful 风格的 Web API 服 ...

  6. Nginx 路由转发配置(转)

    Nginx 路由转发配置笔记 由于预算有限,只有一台服务器,想要玩的东西不少,所以这个台服务器上会提供多重服务,因此涉及到的nginx转发就必有重要了 由nginx做请求代理,提供多种服务 php搭建 ...

  7. 远程连接MySQL报错1045解决方案

    MySQL远端操作步骤: 方法一: USE mysql: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH ...

  8. svn 用户名,密码 查看/删除

    1.查看svn 的用户名,密码: 找到用户名,密码文件,都是明文的,你可以看到 例:linux ls ~/.subversion/auth/svn.simple 2ab598e9cb6d6d38761 ...

  9. 认识Visual C++ 6.0工程结构

  10. 把 Navigation Bar 下面那条线删掉的最简单的办法! — By: 昉

    系统默认的 Navigation Bar 下面一直有条线,翻尽了文档却没找到能把它弄走的相关接口,处女座的简直木法忍啊有木有!!!! 研究了一下navigationBar下的子视图,原来只需要几行代码 ...