2016-01-31 55 views
0
import java.util.*; 
import java.util.Scanner; 

public class Assignment2 { 
    public static void main(String args[]){ 
     Scanner stdin = new Scanner(System.in); 

     Random random = new Random();  
     int ran2 = (random.nextInt(10)); 
     int ran1 = (random.nextInt(10)); 
     int total = ran1 + ran2; 
     char exit = 'y'; 

     System.out.println("First cards: " + ran1 + ", " + ran2); 
     System.out.println("Total: " + total); 

     while(exit != 'n' && total < 21){ 
      System.out.println("Do you want another card? (y/n): "); 
      exit = stdin.next().charAt(0); 

      if (exit =='n'){ 
       System.out.println("Would you like to play again? (y/n): "); 
       exit = stdin.next().charAt(0);      
       if(total > 21 || exit == 'n'){   
        break; 
       } 
      } 

      int next = random.nextInt(10); 
      System.out.println("Card: "+ next); 
      total = total + next;//adds 
      System.out.println("Total: "+ total); 

      if(total > 21){ 
       System.out.println("Bust."); 
       break; 
      } 

      if(total == 21){ 
       System.out.println("You win!"); 
       break; 
      } 

     } 


    } 
} 

我得到了遊戲的工作和所有,但如果我想從一開始就玩到第一張牌的地方,我該怎麼辦?在你贏或輸後,我會如何讓它重新開始遊戲?我一直試圖弄清楚了這一點,仍然無法找出如何做到這一點如何添加重玩到這個二十一點遊戲?

回答

2

總結你的代碼在另一個循環:)

Scanner stdin = new Scanner(System.in); 
char exit = 'n'; 

while(exit != 'n') { 
    // your old code here 
    System.out.println("Play again ? (y/n):") 
    exit = stdin.next().charAt(0); 
} 
+0

非常感謝!!!! – benoit

相關問題