人机猜拳-游戏

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

  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. Genymotion安装apk问题

    Genymotion安装apk时,出现如下错误: 问题原因分析:很多apk使用arm架构的 cpu,在x86上安装会存在问题. 解决办法: 在Genymotion模拟器上安装一个能够解析ARM架构的a ...

  2. Android开发 海康威视 多路视频播放(同时播放视频)

    原文地址:Android开发 海康视频 多路视频播放 | Stars-One的杂货小窝 最近公司有个项目需要对接到海康监控摄像头来实现对应的实时播放和回放,但这两个不是我们今天要讨论的重点,APP首页 ...

  3. .NET下如何拦截鼠标、键盘消息?Win32NET来帮你

    Win32NET是一个Win32API的.NET下封装的类库,包含: 1: 常用win32的API的net封装 2:鼠标.键盘.热键hook钩子模块, 3:模拟键盘输入文字(支持各种字符文字.不同语言 ...

  4. Servlet虚拟路径匹配规则

    当 Servlet 容器接收到请求后,容器会将请求的 URL 减去当前应用的上下文路径,使用剩余的字符串作为映射 URL 与 Servelt 虚拟路径进行匹配,匹配成功后将请求交给相应的 Servle ...

  5. ☕【Java深层系列】「并发编程系列」让我们一起探索一下CyclicBarrier的技术原理和源码分析

    CyclicBarrier和CountDownLatch CyclicBarrier和CountDownLatch 都位于java.util.concurrent这个包下,其工作原理的核心要点: Cy ...

  6. python引用列表--10

    #!/usr/bin/python #coding=utf-8 #好好学习,天天向上 python=["a","b","c","d ...

  7. Idea内存设置idea.vmoptions无效的解决办法

    原因:貌似是因为maven的问题 解决办法 结果

  8. web常用开发工具

    1.WebStorm[推荐] WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.目前已经被广大中国JS开发者誉为"Web前端开发神器"." ...

  9. Tomcat部署时war和war exploded区别以及打包后路径问题

    感谢原文作者:keven_deng 原文链接:https://blog.csdn.net/keven_deng/article/details/104830664 war和war exploded的区 ...

  10. iOS中JavaScript和OC交互 --by 胡 xu

    在iOS开发中很多时候我们会和UIWebView打交道,目前国内的很多应用都采用了UIWebView的混合编程技术,最常见的是微信公众号的内容页面.前段时间在做微信公众平台相关的开发,发现很多应用场景 ...