java编程 用循环方式实现和计算机玩猜拳的程序 (设定胜出条件--输3次...

发布网友

我来回答

2个回答

热心网友

大哥,刚刚看到你的就开始写了。各种功能都有,包括判断你输入的字符是否正确,假如不符合的字符就提示。不玩了就可以直接按0退出。

然后,只要是赢三次,输三次都自动退出,并输出你输赢,还可以自动共玩多少局,输赢局数统计!希望能帮到您。


/*

猜拳游戏思路

1、定义输入函数

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

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

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

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

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


*/

import java.util.*;//嵌入Java.util包所有


public class Cq{


public static void main(String[] args){

int win=0;//赢的记录

int lose=0;//输的记录

int all=1;//计数总的局数


int a=1;//控制循环条件使用

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

System.out.println("游戏规则:赢三次便赢,输三次便输。");

while(a>0){//假如a=0的话就不用继续玩


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


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


  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){   //判断用户是否输入非1--3范围


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


}else if(x==0){

a=0;

System.out.println("欢迎再次玩“猜拳游戏”!");

return;


}

else{  


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


if(x==y){  


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


 System.out.println("你:石头------电脑:石头    PK:平手"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

 all++;


 }

else if(x==2){


System.out.println("你:剪刀------电脑:剪刀   PK:平手"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;

}else {


System.out.println("你:布------电脑:布    PK:平手"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;

}

/*   打平手的判断END*/


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


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


win++;//win1

System.out.println("[你]:石头---VS---[电脑]:剪刀    PK:赢了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;


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


win++;//win2

System.out.println("[你]:剪刀---VS---[电脑]:布   PK:赢了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;


}else {

 

win++;//win3

System.out.println("[你]:布---VS---[电脑]:石头     PK:赢了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;


}


//判断赢的情况END


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


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

lose++;

System.out.println("[你]:石头---VS---[电脑]:布    PK:输了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;

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

lose++;

System.out.println("[你]:剪刀---VS---[电脑]:石头    PK:输了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;

}else {

lose++;

System.out.println("[你]:布---VS---[电脑]:剪刀    PK:输了!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

all++;

}


}//判断输的情况END

if(win==3){

System.out.println("");

System.out.println("");

System.out.println("游戏结束:恭喜您!你已经赢了[电脑]三局!!!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

a=1;

return;

}else if (lose==3) {

a=1;

System.out.println("");

System.out.println("");

System.out.println("游戏结束:很遗憾,电脑赢了你三盘!继续加油!"+"    共玩"+all+"局,"+"赢:"+win+",输:"+lose);

return;

}

else{continue;}


}//判断是否输入数值1-3范围,如果不是1-3会提醒重新输入 END


}//while


}


}

热心网友


骗答案的死脑残,去死吧你,想骗人答案,又不采纳人家,你个死脑残,人品极差,人渣一个

package test;

import java.util.Scanner;

public class S
{
public static long recursion ( long n )
{
if (n == 1)
{
return 1;
}
else
{
return n * recursion (n - 1);
}
}

public static void findMax ()
{
for ( int i = 100; i < 200; i++ )
{
if (i % 4 == 2 && i % 7 == 3 && i % 9 == 5)
{
System.out.println (i);
}
}
}

private static void morra ()
{
String[] array = { "石头", "剪刀", "布" };
System.out.println ("输入1个数:(0~2)");
Scanner scanner = new Scanner (System.in);
int num1 = 0, num2 = 0;
while (scanner.hasNextInt ())
{
System.out.println ("输入1个数:(0~2)");
int me = scanner.nextInt ();
int random = (int) ( Math.random () * 3 );
System.out.println ("你:" + array[me] + " ; 计算机:" + array[random]);
if (me == 0 && random == 1 || me == 1 && random == 2 || me == 2 && random == 0)
{
System.out.println ("你胜利.");
num1++;
}
else
{
System.out.println ("计算机胜利.");
num2++;
}
if (num1 == 3 || num2 == 3)
{
break;
}
}
scanner.close ();
if (num1 > num2)
{
System.out.println ("你获胜了!");
}
else
{
System.out.println ("结果:计算机获胜!");
}
}

public static void main ( String[] args )
{
long n = 1;
while (recursion (n) < 5000)
{
n++;
}
System.out.println ("n = " + n);
findMax ();
morra ();
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com