题目:
通过控制台命令方式实现一个猜拳游戏,用户通过输入(1、剪刀2、石头3、布),与电脑PK,最后通过积分多少判定胜负。
public class HomeWork{
public static void main(String[] args){
Game g = new Game();
g.begin();
}
}
/**
猜拳游戏类实现思路
1、在控制台输出玩法提示
2、是否开始游戏(接收1表示开始,0退出)
3、接收游戏的局数
4、循环接收用户的出拳(1、剪刀2、石头3、布)
5、系统要随机出拳
6、进行比较记录胜者次数
7、公布结果
*/
class Game{
public void begin(){
System.out.println("********************");
System.out.println("********猜拳游戏********");
System.out.println("游戏规则:(1、剪刀2、石头3、布)");
System.out.println("开始游戏(1/0)");
Scanner cin = cin.nextInt();
int result = cin.nextInt();
if(result == 1){
System.out.println("请输入猜拳次数:");
int num = cin.nextInt();
play(num);
}else{
System.out.println("bye bye");
}
}
//游戏核心方法
public void play(int num){
int userScore = 0;//用户胜的局数
int pcScore = 0;//电脑胜的局数
Random r = new Random();
while(num > 0){
//电脑出的拳
int x = r.nextInt(100) % 3 + 1;
System.out.println("请输入你的选择(1 2 3):");
int s = cin.nextInt();
if(s == 1){
switch(x){
case 1:
System.out.println("平局,你出剪刀,电脑出剪刀");
break;
case 2:
System.out.println("你输了,你出剪刀,电脑出石头");
pcScore++;
break;
case 3:
System.out.println("你赢了,你出剪刀,电脑出布");
userScore++;
break;
}
}
if(s == 2){
switch(x){
case 1:
System.out.println("你赢了,你出石头,电脑出剪刀");
userScore++;
break;
case 2:
System.out.println("平局,你出石头,电脑出石头");
break;
case 3:
System.out.println("你输了,你出石头,电脑出布");
pcScore++;
break;
}
}
if(s == 3){
switch(x){
case 1:
System.out.println("你输了,你出布,电脑出剪刀");
pcScore++;
break;
case 2:
System.out.println("你赢了,你出布,电脑出石头");
userScore++;
break;
case 3:
System.out.println("平局,你出布,电脑出布");
}
}
num--;
}
System.out.println("******************");
System.out.println("你胜了:" + userScore + "局");
System.out.println("电脑胜了:" + pcScore + "局");
if(userScore == pcScore){
System.out.println("平手");
}else if(userScore > pcScore){
System.out.println("你赢了");
}else{
System.out.println("电脑赢了");
}
}
}