猜拳小游戏
习题代码
package com.newer.oop;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
* author:HCQ
* date: 2018/7/26
* see: 猜拳游戏
*/
public class GuessFist {
static int playerNumber; //玩家输入的数字
static int computerNumber; //电脑随机产生的数字
static String jiXu; //玩家判断是否继续
private static Scanner sc;
/*进行电脑出拳和判断输赢*/
public static void computer() {
//电脑出拳
computerNumber = (int) (Math.random()*3+1); //随机产生数字1-3
switch(computerNumber) {
case 1: System.out.println("计算机出的是:"+"石头");break;
case 2: System.out.println("计算机出的是:"+"剪刀");break;
case 3: System.out.println("计算机出的是:"+"布");break;
}
//判断输赢
if((playerNumber == 1 && computerNumber == 2) || (playerNumber == 2 && computerNumber == 3) || (playerNumber == 3 && computerNumber == 1)) {
System.out.println("你赢了");
} else {
if((playerNumber == 2 && computerNumber == 1) || (playerNumber == 3 && computerNumber == 2) || (playerNumber == 1 && computerNumber == 3)) {
System.out.println("你输了");
} else {
System.out.println("您和计算机打平手");
}
}
}
/*main方法*/
public static void main(String[] args) {
String shiTou = "石头"; //石头
String jianDao = "剪刀"; //剪刀
String bu = "布"; //布
try {
sc = new Scanner(System.in);
while(true) { //无限循环,在判断"是否继续?(y/n)"可以跳出循环结束游戏
System.out.print("请出拳:1:石头,2:剪刀,3:布:");
playerNumber = sc.nextInt(); //玩家输入数字出拳
if(playerNumber>0 && playerNumber<4) {
if(playerNumber == 1) { //玩家输入的数字为1,出石头
System.out.println("您出的是:"+shiTou);
computer();
}
if(playerNumber == 2) { //玩家输入的数字为2,出剪刀
System.out.println("您出的是:"+jianDao);
computer();
}
if(playerNumber == 3) { //玩家输入的数字为3,出布
System.out.println("您出的是:"+bu);
computer();
}
} else { //玩家输入的不是1、2、3,输入报错,退出游戏
System.out.println("输入错误,游戏退出!");
break;
}
//是否继续游戏
System.out.println("是否继续?(y/n)");
jiXu = sc.next();
if(jiXu.equals("y")) { //继续游戏,跳出本次循环,进行下轮游戏(下次循环)
continue;
} else {
if(jiXu.equals("n")) { //退出游戏,跳出循环
break;
} else { //输入的不是y或n,输入报错,退出游戏
System.out.println("输入错误,游戏退出!");
break;
}
}
}
} catch(InputMismatchException e) {
System.out.println("输入错误,游戏退出!");
} catch(Exception e) {
System.out.println("其他错误。");
e.printStackTrace();
} finally {
//提示游戏已退出
System.out.println("程序结束!");
System.exit(0); //退出系统
}
}
}
代码仅供参考,谢谢。
2018/8/4