以下代码是一个猜拳小游戏的实现,其中包含了用户输入、随机数生成、逻辑判断和输出结果等功能。首先让用户输入名字,然后每轮循环中用户输入出拳手势,根据输入的数字1、2、3分别代表石头、剪刀、布;同时,系统也会产生一个随机数表示电脑出拳手势。判断用户和电脑的胜负关系,并输出结果。如果输入的数字为0则退出游戏。 MyMath是一个辅助类,用来生成1-3之间的随机整数。
import java.util.Random;
import java.util.Scanner;
public class GuessGame
{
String userName;
Scanner reader=new Scanner(System.in);
public GuessGame()
{
System.out.println("------欢迎来到猜拳小游戏------");
System.out.println("请输入你的名字:");
this.userName= reader.next();
}
public void startGame()
{
System.out.println("欢迎你,"+userName);
while(true)
{
System.out.println("请输入1-石头,2-剪刀,3-布,0-退出");
int u=reader.nextInt();
if(u>=1&&u<=3)
{
MyMath m=new MyMath();// 产生一个随机数
int c=m.getRandom();
judge(u,c);// 判断胜负
}else if(u==0)
{
System.out.println("退出游戏,欢迎下次再玩");
break;
}else
{
System.out.println("输入有误,请再次输入");
}
}
}
public void judge(int u,int c)
{
if(u==1&&c==2||u==2&&c==3||u==3&&c==1)
{
System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你赢了!!!");
}else if(u==1&&c==3||u==2&&c==1||u==3&&c==2)
{
System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你输了!!!");
}else
{
System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",平局!!!");
}
}
public String getState(int u)
{
String state="";// 将类型与编号对应
switch(u)
{
case 1:
state="石头";
break;
case 2:
state="剪刀";
break;
case 3:
state="布";
break;
}
return state;
}
}
class MyMath
{
public int getRandom()
{
Random rd=new Random();
int number = rd.nextInt(3) + 1;//生成1-3的随机数
return number;
}
}
标签:Java,猜拳,System,小游戏,reader,println,输入,out
From: https://blog.51cto.com/u_16131726/7240140