java编写猜拳代码,人机猜拳java项目代码-成都快上网建站

java编写猜拳代码,人机猜拳java项目代码

用java如何编写一个猜拳游戏?

我之前写了个猜拳游戏的源代码,不过没你想的这么精彩。你才给5分就给你你自己修改了,应该很简单的。要多给点分我可以帮你修改。\x0d\x0aimport java.util.Scanner;\x0d\x0aimport java.util.Random;\x0d\x0apublic class caiquan\x0d\x0a{\x0d\x0afinal int jiandao=0;\x0d\x0afinal int shitou=1;\x0d\x0afinal int bu=2;\x0d\x0a\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0aString yn="y";\x0d\x0awhile (yn.equals("y"))\x0d\x0a {\x0d\x0a Scanner scanner = new Scanner(System.in);\x0d\x0a System.out.println("欢迎玩猜拳游戏。请输入0,1,2:0表示剪刀,1表示石头,2表示布");\x0d\x0a int a = scanner.nextInt();\x0d\x0a\x0d\x0a Random rd = new Random();\x0d\x0a int b = rd.nextInt(3); \x0d\x0a\x0d\x0a switch (b)\x0d\x0a {\x0d\x0a case 0:\x0d\x0a {\x0d\x0a System.out.println("系统出的是剪刀");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("平");break;\x0d\x0a case 1:System.out.println("赢");break;\x0d\x0a case 2:System.out.println("输");break;\x0d\x0a }\x0d\x0a }\x0d\x0a break;\x0d\x0a case 1:\x0d\x0a {\x0d\x0a System.out.println("系统出的是石头");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("输");break;\x0d\x0a case 1:System.out.println("平");break;\x0d\x0a case 2:System.out.println("赢");break;\x0d\x0a }\x0d\x0a }\x0d\x0a break;\x0d\x0a case 2:\x0d\x0a {\x0d\x0a System.out.println("系统出的是布");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("赢");break;\x0d\x0a case 1:System.out.println("输");break;\x0d\x0a case 2:System.out.println("平");break;\x0d\x0a }\x0d\x0a }\x0d\x0a }\x0d\x0a Scanner ynn = new Scanner(System.in);\x0d\x0a System.out.println("是否继续?是请输入y,否则输入n。");\x0d\x0a yn=ynn.next();\x0d\x0a }\x0d\x0a}\x0d\x0a}

创新互联公司专注于网站建设|网站建设维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖塑料袋等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。

java编程人机猜拳类和对象做求代码

先建立个Game包

然后我做的是分了5个类来做的

TestStartGuess 类

package com.game.guess;

public class TestStartGuess {

/**

* 人机互动版猜拳游戏

* 程序入口

*/

public static void main(String[] args) {

Game game=new Game();

game.initial();

game.startGame();

}

}

2.Person 类

package com.game.guess;

import java.util.Scanner;

/**

* 用户类

*阶段1完成

* @param Scanner

*/

public class Person {

String name ="匿名";//名字

int score =0;//积分

/**

* 出拳

*@return出拳结果:1.剪刀 2.石头 3.布

*/

public int showFist(){

//接收用户的选择

Scanner input =new Scanner(System.in);

System.out.print("\n请出拳:1.剪刀 2.石头 3.布 (输入相应数字):");

int show=input.nextInt();

//输出出拳结果,并返回

switch(show){

case 1:

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

break;

case 2:

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

break;

case 3:

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

break;

}

return show;

}

}

3.Computer 类

package com.game.guess;

/**

*计算机类

*阶段2完成

*/

public class Computer{

String name="电脑";//名字

int score = 0;;//积分

/**

*出拳

*@return 出拳结果:1.剪刀 2.石头 3.布

*/

public int showFist(){

       //产生随机数

       int show =(int)(Math.random()*10)%3+1;//产生随机数,表示电脑出拳

       //输出出拳结果并返回

    switch(show){

case 1:

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

break;

case 2:

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

break;

case 3:

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

break;

}

return show;

}

}

4.Game 类

package com.game.guess;

import java.util.Scanner;

/**

* 游戏类类完全版

* 阶段7:功能扩展

* @param computer

*

*/

public class Gamecomputer {

Person person; //甲方

Computer computer;  //乙方

int count;//对战次数

/**

* 初始化

*/

public void initial(){

person=new Person();

computer=new Computer();

count=0;

}

/**

* 开始游戏

*/

@SuppressWarnings("resource")

public void startGame(){

System.out.println("-------欢迎进入游戏世界-------\n");

System.out.println("\n\t\t***************");

System.out.println("\t\t**猜拳,开始 **");

System.out.println("\t\t***************");

System.out.println("\n\n出拳规则:1.剪刀,2.石头,3.布");

Scanner input=new Scanner(System.in);

String exit="n"; //退出系统

do{

initial();//初始化

/*选择对方角色*/

System.out.print("请选择对方角色:(1:刘备,2:孙权,3:曹操):");

int role=input.nextInt();

if(role==1){

computer.name="刘备";

}else if(role==2){

computer.name="孙权";

}else if(role==3){

computer.name="曹操";

}

//扩展功能1:输入用户姓名

/*输入用户姓名*/

System.out.print("请输入你的姓名:");

person.name=input.next();

System.out.println(person.name+"VS"+computer.name+"对战\n");

//扩展功能1结束

System.out.print("要开始吗?(y/n)");

String start=input.next();//开始每一局游戏

int perFist; //用户出的拳

int compFist; //计算机出的拳

while(start.equals("y")){

/*出拳*/

   perFist=person.showFist();

   compFist=computer.showFist();

   /*裁决*/

   if((perFist==1compFist==1)||(perFist==2compFist==2)||(perFist==3compFist==3)){

       System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!\n");  //平局

              }else if((perFist==1compFist==3)||(perFist==2compFist==1)||(perFist==3compFist==2)){

           System.out.println("结果:恭喜,你赢了!");  //用户赢

                    person.score++;

              }else{

                System.out.println("结果说:^_^,你输了,真笨!\n");  //计算机赢

                computer.score++;

              }

              count++;

              System.out.println("\n是否开始下一轮(y/n):");

              start=input.next();

              }

/*显示结果*/

showResult();

//扩展功能3:循环游戏,知道退出系统

System.out.print("\n要开始下一局吗?(y/n):");

exit=input.next();

       System.out.println();

       //扩展功能3结束

}while(!exit.equals("n"));

System.out.println("系统退出!");

}

/**

* 显示比赛结果

*/

public void showResult(){

/*显示对战次数*/

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

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

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

   

      //扩展功能2:显示最终的得分

      System.out.println("\n姓名\t得分");

      System.out.println(person.name+"\t"+person.score);

System.out.println(computer.name+"\t"+computer.score+"\n");

   //扩展功能2结束

      /*显示对战结果*/

      int result=calcResult();

      if(result==1){

      System.out.println("结果:打成平手,下次再和你一分高下!");

      }else if(result==2){

      System.out.println("结果:恭喜恭喜!");  //用户获胜

      }else{

      System.out.println("结果:呵呵,笨笨,下次加油啊!");  //计算机获胜

      }

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

}

/**

* 计算比赛结果

* @return1:战平; 2:用户赢; 3:电脑赢

*/

public int calcResult(){

if(person.score==computer.score){

return 1;//战平

}else if(person.scorecomputer.score){

return 2;//用户赢

}else{

return 3;//电脑赢

}

}

}

5.Start 类

package com.game.guess;

public class StartGuess {

public static void main (String[] args){

Game c = new Game();

c.initial();

c.startGame();

}

}

然后编译执行就OK了

希望能帮到你

猜拳游戏java能输出游戏时间

Java实现猜拳游戏的核心在于电脑随机数的生成,Java中的随机数生成方法是:

首先引入包   import java.util.*;  然后   int r=new Random().nextInt(3);  (nextInt中的数字三代表随机数生成的个数,从零开始)

所以在猜拳的输入中需要有0、1、2三个数字代替,如果要输入汉字,则用if进行相应判断即可。

在实现的游戏中实现①猜拳;②记录胜负;③玩家决定游戏局数;④输出获胜、失败及平局;⑤统计总共的胜负结果(根据获胜次数判断)

①猜拳基础功能:该部分代码可以放到一个方法中,减少主函数代码量。

电脑出拳即  int r=new Random().nextInt(3);  注意:该部分一定要写在for循环内部,否则无法实现每次不同的随机数。

通过if判断双方出拳是否相等   if(a==0r==0)  else if(a==0r==1)  else if(a==0r==2)   即可实现猜拳,if内直接输出相关语句即可

②记录胜负:  定义猜拳方法为int ,通过返回值记录相关比赛的胜负情况  ,可以用0--失败;1--获胜;2--平局 进行记录,在主函数中对相应抛出的数字记录即可

if(a==0r==0){

System.out.println("The computer comes out with cloth,it was a draw. ");

return 2;

}

h=comp.compare(a,r); if (h==1) j++;

登录后复制

③玩家决定局数: 定义一个数,在循环中不大于该数即可

④输出获胜、失败及平局: j、k即胜利和失败,平局数即n-j-k。

⑤统计结果,直接用if比较i、j的数字结果即可。

主函数部分:

package SS2_5;

import java.util.*;

public class Main {

public static void main(String args[]){

Scanner scanner=new Scanner(System.in);

Compare comp=new Compare();

int h=0,j=0,k=0;

System.out.println("rules:0--cloth;1--stone;2--scissors.\nU can choose how many times you want to play:");

int n=scanner.nextInt();

for(int i=1;i=n;i++){

System.out.print("It's the "+i+" round,your turn:");

int a=scanner.nextInt();

int r=new Random().nextInt(3);

switch (a){

case 0:

h=comp.compare(a,r);

break;

case 1:

h=comp.compare(a,r);

break;

case 2:

h=comp.compare(a,r);

break;

default:

System.out.println("Wrong number!");

break;

}

if (h==1)

j++;

else if(h==0)

k++;

}

System.out.println("The total times you won are "+j+",The draw times are "+(n-j-k)+".");

if(jk)

System.out.println("You are the final winner");

else if(kj)

System.out.println("The computer is the winner.");

if(j==k)

System.out.println("The final result is draw");

}

}

登录后复制

compare方法部分

package SS2_5;

public class Compare {

public int compare(int a,int r){

int counter=0;

if(a==0r==0){

System.out.println("The computer comes out with cloth,it was a draw. ");

return 2;

}

else if(a==0r==1){

System.out.println("The computer comes out with stone, you won. ");

return 1;

}

else if(a==0r==2){

System.out.println("The computer comes out with scissor,you lost. ");

return 0;

}

else if(a==1r==0){

System.out.println("The computer comes out with cloth,you lost. ");

return 0;

}

else if(a==1r==1){

System.out.println("The computer comes out with stone,it was a draw. ");

return 2;

}

else if(a==1r==2){

System.out.println("The computer comes out with scissors,you won. ");

return 1;

}

else if(a==2r==0){

System.out.println("The computer comes out with cloth,you won. ");

return 1;

}

else if(a==2r==1){

System.out.println("The computer comes out with stone,you lost. ");

return 0;

}

else if(a==2r==2){

System.out.println("The computer comes out with scissors,it was a draw. ");

return 2;

}

else

return 0;

}

}

登录后复制

java

704拖拉机

精选推荐

广告

java写简单的猜拳游戏

2下载·0评论

2016年7月27日

用Java编写的猜拳小游戏

2029阅读·0评论·0点赞

2021年3月7日

Java猜拳游戏和Random的应用

21阅读·0评论·0点赞

2022年10月24日

java实现完整版猜拳小游戏

25下载·0评论

2018年11月22日

用python实现功能猜拳

1137阅读·2评论·3点赞

2022年7月14日

java猜拳switch计分制_java----猜拳(10局分胜负)

117阅读·0评论·1点赞

2021年3月15日

二手拖拉机交易市场,你还在高价买吗?

精选推荐

广告

利用Java编写简单的猜拳游戏

911阅读·0评论·1点赞

2022年9月8日

Java简单实现猜拳游戏

1.1W阅读·1评论·2点赞

2022年1月23日

java猜拳游戏代码_Java实现简单猜拳游戏

4496阅读·0评论·0点赞

2021年3月1日

用java来写一个简单的猜拳小游戏

890阅读·1评论·1点赞

2022年7月26日

java实现猜拳游戏

3180阅读·2评论·1点赞

2022年5月4日

JAVA编写猜拳游戏

3037阅读·3评论·3点赞

2021年3月16日

[Java教程]17.实战,趣味猜拳小游戏

8040阅读·2评论·3点赞

2020年6月24日

怎么用java实现人机猜拳?

1959阅读·6评论·9点赞

2021年7月22日

Java Random经典例子【猜拳游戏】

4318阅读·0评论·0点赞

2014年3月22日

java的人机猜拳代码_Java实现人机猜拳游戏

702阅读·0评论·2点赞

2021年3月12日

Java基础练习之猜拳游戏

363阅读·1评论·1点赞

2021年8月19日

用java写猜拳小游戏

1096阅读·0评论·1点赞

2021年9月1日

Java猜拳小游戏

97阅读·0评论·0点赞

2022年8月23日

java猜拳小游戏

500阅读·1评论·0点赞

2022年7月14日

求一个java猜拳游戏程序

package test;

import java.util.Random;

import java.util.Scanner;

/**

* 猜拳游戏思路 

* 1、定义输入函数 

* 2、提示用户输入猜拳数值 

* 3、定义随机一个数作为电脑数值 

* 4、判断[用户输入数值]与 [电脑随机数值] 

* 5、能够相等就是打平,不能相等就利用、||逻辑符判断输赢 

* 6、设定数值1-石头 2-剪刀  3-布

*/

public class CaiQuanYouXi {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的

System.out.println("--------------猜拳游戏---------------");

System.out.println("请输入一个数值:1、石头 2、剪刀 3、布");//提示输入数值 

System.out.println(" ");//空行

int x=in.nextInt();//让用户输入X的数值 

Random on=new Random();//定义电脑的随机数值的函数on 

int y=on.nextInt(3)+1;//定义y随机函数数值范围(1--3)

if(x=4||x==0){   //判断用户是否输入非1--3范围 

System.out.println("亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:"+x);  

}else{   

/*下面是判断用户输入x的数值 嵌套if*/ 

if(x==y){   

if(x==1){ //判断打平的情况 

System.out.println("你:石头------电脑:石头    PK:很幸运打平手"); 

}else if(x==2){ 

System.out.println("你:剪刀------电脑:剪刀   PK:很幸运打平手"); 

}else { 

System.out.println("你:布------电脑:布    PK:很幸运打平手"); 

}else if(x==1y==2||x==2y==3||x==3y==1){ //开始判断赢的情况 

if(x==1y==2){ 

System.out.println("你:石头------电脑:剪刀    PK:恭喜您,赢了!"); 

}else if(x==2y==3){ 

System.out.println("你:剪刀------电脑:布   PK:恭喜您,赢了!"); 

}else {

System.out.println("你:布------电脑:石头    PK:恭喜您,赢了!");

}else {//开始判断输的情况 

if(x==1y==3){ 

System.out.println("你:石头------电脑:布    PK:很遗憾,输了!"); 

}else if(x==2y==1){ 

System.out.println("你:剪刀------电脑:石头    PK:很遗憾,输了!"); 

}else { 

System.out.println("你:布------电脑:剪刀    PK:很遗憾,输了!"); 

}

}

}

}

运行后的效果展示:

--------------猜拳游戏---------------

请输入一个数值:1、石头 2、剪刀 3、布

1

你:石头------电脑:布    PK:很遗憾,输了!

--------------猜拳游戏---------------

请输入一个数值:1、石头 2、剪刀 3、布

4

亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:4

java代码猜拳游戏相关代码请教

comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳。 因为剪刀石头布只有 1 2 3

。如果电脑的数字比的你刚好大1,就是它比你的大。 如21,32对应就是(石头大于剪刀,布大于石头)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了)。

所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候


网页题目:java编写猜拳代码,人机猜拳java项目代码
本文来源:http://kswjz.com/article/phpsci.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流