1. 程式人生 > >Java案例使用for迴圈+switch case+if else的猜拳小遊戲

Java案例使用for迴圈+switch case+if else的猜拳小遊戲

 import java.util.Scanner;
import java.util.Random;
public class HomeWork2{
 public static void main(String[] args){
  Scanner scanner=new Scanner(System.in);
  System.out.println("開始遊戲,請輸入0~2之間的數!");
  int num=scanner.nextInt();
  //假設使用者有1000塊錢,輸一局150,贏一局;200,錢數低於150塊遊戲結束
  //要求使用者輸入一個0~2之間的整數
  //0表示“石頭”
  //1表示"剪刀"
  //2表示"布"
  //接收使用者輸入的0~2之間的數字,如果超出範圍,提示使用者重新輸入
  //比較電腦隨機生成的數,遵照遊戲規則
  //累計電腦贏了退出
  //如果回答y就重複以上過程
  //否則結束程式
  int money=1000;
  int count=0;
  String computerHand="";
  String yourHand="";
  for(;;){
   //產生0~2的隨機數
   int rand=new Random().nextInt(3);
   switch(rand){//給0、1、2分別賦值石頭、剪刀、布
    case 0:
     computerHand="石頭";
    break;
    case 1:
     computerHand="剪刀";
    break;
    case 2:
     computerHand="布";
    break;
   }
   switch(num){//給0、1、2分別賦值石頭、剪刀、布
    case 0:
     yourHand="石頭";
    break;
    case 1:
     yourHand="剪刀";
    break;
    case 2:
     yourHand="布";
    break;
   }
   if(num>=0&&num<=2){//判斷輸入的數字符不符合要求
    switch(rand){
     case 0:
      if(num==0){
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",你們平局!");
      }else if(num==1){
       money-=150;
       count++;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",很遺憾,你輸了!");
      }else{
       money+=200;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",恭喜你,你贏了!");
      }
     break;
     case 1:
      if(num==0){
       money+=200;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",恭喜你,你贏了!");
      }else if(num==1){
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",你們平局!");
      }else{
       money-=150;
       count++;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",很遺憾,你輸了!");
      }
     break;
     case 2:
      if(num==0){
       money-=150;
       count++;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",很遺憾,你輸了!");
      }else if(num==1){
       money+=200;
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",恭喜你,你贏了!");
      }else{
       System.out.println("電腦出的是"+computerHand+",你出的是"+yourHand+",你們平局!");
      }
     break;
    }
    System.out.println("你現在還有"+money+"元錢。");
    System.out.println("電腦已經贏了"+count);
    if(count==5){
     System.out.println("你已經退出的遊戲!");
     break;
    }
    if(money>=150){
     System.out.println("是否繼續玩,繼續玩請輸入y");
     String str=scanner.next();
     if(str.equals("y")||str.equals("Y")){
      System.out.println("開始遊戲,請輸入0~2之間的數!");
      num=scanner.nextInt();
     }else{
      System.out.println("111");
      break;
     }
    }else{
     System.out.println("你已經退出的遊戲!");
     break;
    }
   }else{
    System.out.println("你輸入的不是0~2之間的數,請重新輸入!");
    num=scanner.nextInt();
   }
   
  }
 }
}