Java人机猜拳实现的思路及方法实例

网友投稿 248 2023-02-13

Java人机猜拳实现的思路及方法实例

创建四个类:

机器人类

玩家类

游戏类

运行类

一、机器人类:

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:

SystqztAAktEGvem.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 http://"+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.qztAAktEGvprintln("平局");

}

}

}

三、运行类

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

public class test

{

public static void main(String[] args) {

w game=new w();

ren ren=new ren();

game.game();

//game.result();

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java redis 实现简单的用户签到功能
下一篇:信息聚合网站(信息聚合网站有哪些)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~