人机猜拳-游戏

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

  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. Appium+python自动化测试过程中问题

    一.自动删除contactmanager 自动化测试appium提供的sample如下包/activity:com.example.android.contactmanager/.ContactMan ...

  2. IO_FILE——FSOP、house of orange

    FSOP 是 File Stream Oriented  Programming 的缩写.所有的 _IO_FILE 结构会由 _chain 字段连接形成一个链表,由 _IO_list_all 来维护. ...

  3. element 日期时间选择器type = "datetimerange",限制时间的选择范围

    这里限制了只能选择一周的时间   pickerOptions:{          onPick(time){              // 如果选择了只选择了一个时间              i ...

  4. 带你十天轻松搞定 Go 微服务系列(七)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证( ...

  5. Python初学笔记之可变类型、不可变类型

    python中 可变类型: 列表 list 字典 dict 不可变类型: 数字型:int.float.complex.bool.long 字符型 str 元组 tuple id(i):通过id查看变量 ...

  6. 3,linux-yum源配置-systemctl服务管理-文件权限

    3,linux-yum源配置-systemctl服务管理-文件权限 小问答: 1.配置好阿里云yum源 生成yum缓存 下载nginx,并且启动nginx服务,使用浏览器访问10.0.0.10:80 ...

  7. java中的数据模型类

    package com.aaa.zxf.ajax.test; import java.io.Serializable; /** * java中的继承. * * 一.数据模型类 * 数据模型类:用来存取 ...

  8. Codeforces Round #740 Div. 2

    题目跳转链接 A. Simply Strange Sort 题意 定义一个函数\(f_{i}\) : 如果\(a_i \ge a_{i+1}\) swap(\(a_i\) \(a_{i+1}\)) 定 ...

  9. Maven仓库的目录结构

    _remote.repositories文件 本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implem ...

  10. JAVA变量的数据类型

    1. 整型 byte   代表一个字节的大小   8bit  2(8)   -128~127        256 short  代表两个字节的大小  16bit  2(16)  -2(15)~2(1 ...