Java人机猜拳实现的思路及方法实例
创建四个类:
机器人类
玩家类
游戏类
运行类
一、机器人类:
1.首先创建两个成员变量,分别作为机器人的名字与积分:
Stringname; intjifen;
2.然后创建方法“pcname”用于定义机器人的名字:
写个switch循环来判断如果你按1234的话谁来与你对战
3.然后再创建一个方法“chuquan”来定义机器人出什么,石头还是剪刀。。:
所以写个1-3的随机数
intsuiji=((int)(Math.random()*3)+1);
4.最后switch判断,1的话是石头,2剪刀,3布
机器人完整代码:
importjava.util.Scanner;
publicclasspc{
Stringname;
intjifen;
Scannerinput=newScanner(System.in);
publicvoidpcname(){
intpcjuese=input.nextInt();
switch(pcjuese){
case1:
name="张飞";
System.out.println("你选择了"+name+"对战");
break;
case2:
name="赵云";
System.out.println("你选择了"+name+"对战");
break;
case3:
name="貂蝉";
System.out.println("你选择了"+name+"对战");
break;
default:
System.out.println("还没这个人");
}
}
publicintchuquan(){
intsuiji=((int)(Math.random()*3)+1);
switch(suiji){
case1:
System.out.println(name+"出拳:石头");
break;
case2:
System.out.println(name+"出拳:剪刀");
break;
case3:
System.out.println(name+"出拳:布");
break;
default:
}
returnsuiji;
}
}
二、玩家类:
1.和机器人一样,定义两个成员变量,用于作为名字和积分:
Stringname="1"; intjifen=0;
2.创建一个“renname”方法,用于定义玩家的昵称
3.创建一个”chuquan“方法,用于定义玩家出拳
然后switch进行判断,按1出石头,按2出剪刀,按3出布
玩家完整代码:
importjava.util.Scanner;
publicclassren
{
Stringname="1";
intjifen=0;
Scannerinput=newScanner(System.in);
publicvoidrenname(){
System.out.println("起一个昵称吧:");
name=input.next();
System.out.println("你的昵称为:"+name);
}
publicintchuquan(){
System.out.println("出拳:1.石头2.剪刀3.布");
intshow=input.nextInt();
switch(show){
case1:
System.out.println(name+"出石头");
break;
case2:
System.out.println(name+"出剪刀");
break;
case3:
System.out.println(name+"出布");
break;
default:
System.out.println("你准备出个大炮呢?");
}
returnshow;
}
}
三、游戏类
1.定义两个成员变量和new两个对象:
intcount;//进行了几局游戏 intpingju;//平局场次 renRen=newren(); pccomputer=newpc();
2.创建“game”方法,用来调用机器人类和玩家类,以及实现游戏功能
3.首先调用Ren.name()来用于让玩家创建昵称
3.1.然后调用computer.name()来用于让玩家选择和谁对战
4.一切ok,开始进行功能实现:
首先创建两个变量,一个是机器人出拳,一个是玩家出拳
intpcquan;//pc出拳 intpersonquan;//人出拳
y/n开始游戏和退出游戏
开始进行游戏功能实现编写
5.循环的时候把机器人和玩家出拳的方法赋值给上面两个定义出拳的变量
6.功能ok后创建一个方法,用于定义计分板,这个就很简单了,直接附上游戏类完整代码:
importjava.util.Scanner;
publicclassw{
intcount;//进行了几局游戏
intpingju;//平局场次
renRen=newren();
pccomputer=newpc();
Scannerinput=newScanner(System.in);
publicvoidgame(){
System.out.println("规则:1.石头2.剪刀3.布");
Ren.renname();
System.out.print("请选择对方角色(1.张飞2.赵云3.貂蝉):");//选择对方角色
computer.pcname();
System.out.println("要开始嘛?(y/n)");
Stringyn=input.next();
intpcquan;//pc出拳
intpersonquan;//人出拳
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++;
}elseif((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();
}
}
}
//比赛结果
publicvoidresult(){
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+"赢了");
}elseif(computer.jifen>Ren.jifen){
System.out.println(computer.name+"赢了");
}else{
System.out.println("平局");
}
}
}
三、运行类
这个就不多说了,直接上代码
publicclasstest
{
publicstaticvoidmain(String[]args){
wgame=neww();
renren=newren();
game.game();
//game.result();
}
}
到此这篇关于Java人机猜拳实现思路及方法的文章就介绍到这了,更多相关Java人机猜拳思路及方法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!