人机猜拳-游戏

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

  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. WebGPU图形编程(1):建立开发环境 <学习引自徐博士教程>

    首先感谢徐博士提供的视频教程,我的博客记录也是学习徐博士进行的自我总结,老徐B站学习视频链接网址:WebGPU图形编程 - 免费视频教程(1):建立开发环境_哔哩哔哩_bilibili 创建之前你需要 ...

  2. java继承子类实例化过程(细节解释)

    1 package face_08; 2 class Fu{ 3 Fu(){ 4 super(); 5 show(); 6 return; 7 } 8 void show() { 9 System.o ...

  3. 由浅入深,66条JavaScript面试知识点

    前言 我只想面个CV工程师,面试官偏偏让我挑战造火箭工程师,加上今年这个情况更是前后两男,但再难苟且的生活还要继续,饭碗还是要继续找的.在最近的面试中我一直在总结,每次面试回来也都会复盘,下面是我这几 ...

  4. netstat in Linux

    # netstat -unlt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address         ...

  5. ApacheCN jQuery 译文集 20211121 更新

    创建 jQueryMobile 移动应用 零.序言 一.jQueryMobile 原型制作 二.jQuery Mobile 网站 三.分析.长表单和前端验证 四.QR 码.地理位置.谷歌地图 API ...

  6. 社交网络分析的 R 基础:(四)循环与并行

    前三章中列出的大多数示例代码都很短,并没有涉及到复杂的操作.从本章开始将会把前面介绍的数据结构组合起来,构成真正的程序.大部分程序是由条件语句和循环语句控制,R 语言中的条件语句(if-else)和 ...

  7. Java程序设计(2021春)——第五章输入输出笔记与思考

    Java程序设计(2021春)--第五章输入输出笔记与思考 本章概览: 异常处理简介 程序运行时,环境.操作等可能出现各种错误.故障,我们希望程序具有容错能力,给出错误信息.面向对象的程序设计里有异常 ...

  8. Win10正式版屏幕一直闪烁怎么办

    这个原因是由于两个账户都在线,一个账户更替到另一个账户时出现的 解决办法:先注销一个账户,再登录到另一个账户,即只保持一个账户在线,就不会出现屏幕闪烁的情况.

  9. textarea自适应高(宽)度

    转载请注明来源:https://www.cnblogs.com/hookjc/ 方法一: <textarea rows=1 cols=40 style='overflow:scroll;over ...

  10. js 实现光标控制与字符串查找

    转载请注明来源:https://www.cnblogs.com/hookjc/ 光标定位: <html> <head> <meta http-equiv="co ...