创建四个类:

机器人类

玩家类

游戏类

运行类

一、机器人类:

1.首先创建两个成员变量,分别作为机器人的名字与积分:

String name;

int jifen;

2.然后创建方法“pcname”用于定义机器人的名字:

写个switch循环来判断如果你按1234的话谁来与你对战

3.然后再创建一个方法“chuquan”来定义机器人出什么,石头还是剪刀。。:

所以写个1-3的随机数

int suiji=((int)(Math.random()*3)+1);

4.最后switch判断,1的话是石头,2剪刀,3布

机器人完整代码:

import java.util.Scanner;

public class pc {

String name;

int jifen;

Scanner input=new Scanner(System.in);

public void pcname(){

int pcjuese=input.nextInt();

switch (pcjuese) {

case 1:

name="张飞";

System.out.println("你选择了"+name+"对战");

break;

case 2:

name="赵云";

System.out.println("你选择了"+name+"对战");

break;

case 3:

name="貂蝉";

System.out.println("你选择了"+name+"对战");

break;

default:

System.out.println("还没这个人");

}

}

public int chuquan(){

int suiji=((int)(Math.random()*3)+1);

switch (suiji){

case 1:

System.out.println(name+"出拳:石头");

break;

case 2:

System.out.println(name+"出拳:剪刀");

break;

case 3:

System.out.println(name+"出拳:布");

break;

default:

}

return suiji;

}

}

二、玩家类:

1.和机器人一样,定义两个成员变量,用于作为名字和积分:

String name="1";

int jifen=0;

2.创建一个“renname”方法,用于定义玩家的昵称

3.创建一个”chuquan“方法,用于定义玩家出拳

然后switch进行判断,按1出石头,按2出剪刀,按3出布

玩家完整代码:

import java.util.Scanner;

public class ren

{

String name="1";

int jifen=0;

Scanner input=new Scanner(System.in);

public void renname(){

System.out.println("起一个昵称吧:");

name=input.next();

System.out.println("你的昵称为:"+name);

}

public int chuquan(){

System.out.println("出拳:1.石头 2.剪刀 3.布");

int show=input.nextInt();

switch (show){

case 1:

System.out.println(name+" 出石头");

break;

case 2:

System.out.println(name+" 出剪刀");

break;

case 3:

System.out.println(name+" 出布");

break;

default :

System.out.println("你准备出个大炮呢?");

}

return show;

}

}

三、游戏类

1.定义两个成员变量和new两个对象:

int count; //进行了几局游戏

int pingju; //平局场次

ren Ren =new ren();

pc computer =new pc();

2.创建“game”方法,用来调用机器人类和玩家类,以及实现游戏功能

3.首先调用Ren.name()来用于让玩家创建昵称

3.1.然后调用computer.name()来用于让玩家选择和谁对战

4.一切ok,开始进行功能实现:

首先创建两个变量,一个是机器人出拳,一个是玩家出拳

int pcquan; //pc出拳

int personquan; //人出拳

y/n开始游戏和退出游戏

开始进行游戏功能实现编写

5.循环的时候把机器人和玩家出拳的方法赋值给上面两个定义出拳的变量

6.功能ok后创建一个方法,用于定义计分板,这个就很简单了,直接附上游戏类完整代码:

import java.util.Scanner;

public class w {

int count; //进行了几局游戏

int pingju; //平局场次

ren Ren =new ren();

pc computer =new pc();

Scanner input=new Scanner(System.in);

public void game(){

System.out.println("规则:1.石头 2.剪刀 3.布");

Ren.renname();

System.out.print("请选择对方角色(1.张飞 2.赵云 3.貂蝉): "); // 选择对方角色

computer.pcname();

System.out.println("要开始嘛?(y/n)");

String yn=input.next();

int pcquan; //pc出拳

int personquan; //人出拳

while (yn.equalsIgnoreCase("y")){

personquan=Ren.chuquan(); //人出拳

pcquan=computer.chuquan(); //pc出拳

if((pcquan==1&personquan==1)|(pcquan==2&personquan==2)|(pcquan==3&personquan==3)){

System.out.println("平局");

pingju++;

}else if((pcquan==1&personquan==3)|(pcquan==2&personquan==1)|(pcquan==3&personquan==2)){

System.out.println(Ren.name+"赢了");

computer.jifen++;

}else {

System.out.println(computer.name+"赢了");

Ren.jifen++;

}

count++; //表示进行了一局游戏

System.out.println("开始下一轮嘛?(y/n)");

yn=input.next();

if (yn.equalsIgnoreCase("n")){

System.out.println("游戏结束");

result();

}

}

}

//比赛结果

public void result(){

System.out.println("-------------------------------");

System.out.println(Ren.name+" VS "+computer.name);

System.out.println("对战次数:"+count);

System.out.println("平局"+pingju+"场");

System.out.println(Ren.name+"赢了"+Ren.jifen+"场");

System.out.println(computer.name+"赢了"+computer.jifen+"场");

if(Ren.jifen> computer.jifen){

System.out.println(Ren.name+"赢了");

}else if (computer.jifen> Ren.jifen){

System.out.println(computer.name+"赢了");

}else {

System.out.println("平局");

}

}

}

三、运行类

这个就不多说了,直接上代码

public class test

{

public static void main(String[] args) {

w game=new w();

ren ren=new ren();

game.game();

//game.result();

}

}

到此这篇关于Java人机猜拳实现思路及方法的文章就介绍到这了,更多相关Java人机猜拳思路及方法内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

java猜拳论文_Java人机猜拳实现的思路及方法实例相关推荐

  1. java 双向链表例子_Java双向链表按照顺序添加节点的方法实例_Java_软件编程

    分析过程: 首先需要比较待添加的节点编号与已有的节点编号的大小,若待添加的节点编号已经存在,则不能加入.为防止出现空指针的情况,需要对节点的位置进行判断. 示例代码: package linkedli ...

  2. java 全角_java 全角半角字符转换的方法实例

    这篇文章主要介绍了java 全角半角字符转换的方法,大家参考使用吧 如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对 ...

  3. python人机猜拳_python实现人机猜拳小游戏

    今天的这篇文章呢是对人机猜拳小游戏--石头剪刀布的一个描述以及代码展现 石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家 ...

  4. java课程论文_Java课程论文.doc

    Java课程论文 Java课程总结 11级计本(2)班 1104012006 齐先鹏 一. 多线程是指同时存在几个执行体, 按几条不同的执行路线共同工作的情况.Java是通过多线程运行机制来支持多任务 ...

  5. java condition详解_Java使用Condition控制线程通信的方法实例详解

    Java使用Condition控制线程通信的方法实例详解 发布于 2020-4-20| 复制链接 摘记: 本文实例讲述了Java使用Condition控制线程通信的方法.分享给大家供大家参考,具体如下 ...

  6. java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示

    自从20世纪90年代以来,java编程语言的发展如火如荼,不仅仅应用于高新产业的壮大发展,还涉及到了我们的日常生活,为我们的生活带来了更多的便利与快捷方法.今天主要为大家介绍一下,如何用java做出一 ...

  7. java 数组排序论文_Java中运用数组的四种排序方法

    标签: <1>利用Arrays带有的排序方法快速排序 import java.util.Arrays; 2 public class Test2{ public static void m ...

  8. 软件java技术论文_java技术论文

    package cn.itcast.demo07_字符流_输出流_FileWriter; import java.io.FileWriter; import java.io.IOException; ...

  9. java 数组排序论文_Java 7是否对方法Arrays.Sort使用Tim Sort?

    是! ...也没有 摘要 在当前的Open JDK 0实现中,Tim Sort通常用于对对象数组(即byte和好友)进行排序-但是对于基本数组(byte方法的其余部分)使用了多种其他方法. 对于基元, ...

最新文章

  1. ​GPT-3好“搭档”:这种方法缓解模型退化,让输出更自然
  2. linux系统如何从字母切换为拼音,linux shell字母转换写法
  3. excel像素画教程_像素画新手教程:极简像素画角色分析
  4. JS对象与jQuery对象
  5. 128位计算机 ps2,64位就是最强电脑?难道就没有128位的电脑吗
  6. 你胆敢在case后面不加break试试?
  7. InfoPath Resource Sites
  8. python远程linux服务器执行命令_基于使用paramiko执行远程linux主机命令(详解)
  9. Android eclipse unable to launch:The selection can not be launched,and there are no recent launches
  10. html音乐播放器代码大全,关于HTML 音乐播放器代码|音乐播放器网页代码大全(转)...
  11. u盘启动蓝屏 索尼vaio_索尼笔记本电脑安装系统后出现蓝屏怎么处理
  12. 太实用了,这几个Python数据可视化案例
  13. 1寸、小2寸、2寸证件照片是多大尺寸?
  14. 高通ISP流程中,ADRC Gain与GTMLTM的对应关系
  15. 步步为营Hibernate全攻略(三)剪不断理还乱之:多对多关联映射
  16. 我喜欢你时的内心活动
  17. uni-app 微信支付
  18. vue路由之路由的两种模式
  19. Serv-u + 花生壳实现FTP内网穿透
  20. Uniform Sector Standard and Quad Serial Flash - GD55LB01GE DATASHEET

热门文章

  1. 搭建tidb集群linux_无服务器计算,学习Go,Linux系统恢复,TiDB,Udev等
  2. python编程学习_使用EduBlocks轻松学习Python编程
  3. 表面上承认错误_做一个可以承认错误的领导者
  4. 文档加载完成覆盖_在完成文档之前,作业尚未完成
  5. 怎样在vrep child scirpt里定义自己写的函数
  6. ios 获取固件版本_觉得iOS测试版本BUG太多?系统降级试一试?
  7. 自考专科计算机信息管理专业好,计算机信息管理(专科)专业介绍
  8. 在java代码中设置TextView文本内容可滚动
  9. 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案...
  10. PCB 生产周期计算逻辑与代码实现