- /* =================== 剪包锤游戏 ========================
- 功能:
- 玩家选择玩游戏或者不玩,出“剪子,包子,锤子”中的一个。
- 程序随机出招,然后判断输赢情况,并打印出来
- 可以循环玩,直到玩家愿意退出为止。
- 不足的地方:
- 异常处理。如果玩家输入错误会得到提示并更正输入,
- 但如果连续两次错误输入,程序就会结束。
- 也就是说,异常判断只有一次有效,不清楚原因。。
- ============================================================*/
- import java.util.*;
- // --------------- 主程序 --------------------
- // --------------------------------------------
- public class Game_JBC {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int i;
- //循环开始
- do {
- System.out.print("开始玩吗?(1.玩 / 2.不玩):");
- i = in.nextInt();
- //异常判断
- read_data:
- if(i!=1 && i!=2) {
- System.out.print("只可以输入“1”或者“2”,请重新输入:");
- i = in.nextInt();
- break read_data;
- }
- //游戏开始
- read_data:
- if (i==1) {
- int p;
- System.out.print("出什么呢?(1.剪子 / 2.包子 / 3.锤子): ");
- p = in.nextInt();
- //异常判断
- if(p!=1 && p!=2 && p!=3){
- System.out.print("只可以输入“1~3”,请重新输入: ");
- p = in.nextInt();
- break read_data;
- }
- JBC game = new JBC(p);
- game.computer_cho();
- System.out.println("你出的是:" + game.player_cho());
- System.out.println("电脑出了:" + game.computer_cho());
- game.decide();
- //继续否?
- System.out.println("------------------------------");
- System.out.println("要在玩一次吗~");
- }
- }while(i==1);
- //循环结束,退出游戏
- System.out.println("Bye!");
- }
- }
- // --------------- 类部分 --------------------
- // --------------------------------------------
- class JBC {
- //构造器
- JBC(int p) {
- player = p;
- }
- //得到cmputer的出招
- public String computer_cho() {
- Random x = new Random();
- computer = x.nextInt(3);
- //return computer;
- switch (computer) {
- case 0:
- computer_do = "剪子";
- break;
- case 1:
- computer_do = "包子";
- break;
- case 2:
- computer_do = "锤子";
- break;
- }
- return computer_do;
- }
- //得到玩家的出招
- public String player_cho() {
- switch (player) {
- case 1:
- player_do = "剪子";
- break;
- case 2:
- player_do = "包子";
- break;
- case 3:
- player_do = "锤子";
- break;
- }
- return player_do;
- }
- //判断输赢
- public void decide() {
- System.out.print("结果是:");
- if (player_do == "包子"){
- if (computer_do == "包子")
- System.out.println("平了!");
- else if (computer_do == "剪子")
- System.out.println("你输了!");
- else
- System.out.println("你赢了!");
- }
- else if (player_do == "剪子"){
- if (computer_do == "包子")
- System.out.println("你赢了!");
- else if (computer_do == "剪子")
- System.out.println("平了!");
- else
- System.out.println("你输了!");
- }
- else {
- if (computer_do == "包子")
- System.out.println("你输了!");
- else if (computer_do == "剪子")
- System.out.println("你赢了!");
- else
- System.out.println("平了!");
- }
- }
- //私有成员
- private int player;
- private int computer;
- private String player_do;
- private String computer_do;
- }
剪包锤小游戏(java,命令行)
最新推荐文章于 2019-06-20 14:06:41 发布