Java案例使用for迴圈+switch case+if else的猜拳小遊戲
阿新 • • 發佈:2019-02-20
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();
}
}
}
}
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();
}
}
}
}