***4.34-遊戲:剪刀石頭布

kewlgrl發表於2015-10-07
問題及程式碼:
/*   
*Copyright (c)2015,煙臺大學計算機與控制工程學院   
*All rights reserved.   
*檔名稱:Game.java   
*作    者:單昕昕   
*完成日期:2015年10月6日   
*版 本 號:v1.0   
*   
*問題描述:遊戲:剪刀石頭布,電腦隨機給出剪刀石頭布,使用者手動輸入,判斷勝負,直到有一方勝利次數超過2次。
*程式輸入:0,1,2。
*程式輸出:勝負情況。  
*/ 
import java.util.*;
import java.util.Scanner;
public class Test
{
    public static void main(String[] args)
    {
        int cnt1=0,cnt2=0;
        String []cards= {"scissor","rock","paper"};//剪刀石頭布
        Random random = new Random();
        System.out.println("The game begin.");
        while(cnt1<=2&&cnt2<=2)//還沒有人勝利超過兩局
        {
            System.out.print("scissor(0),rock(1),paper(2):");//用0,1,2分別表示三種情況
            Scanner input=new Scanner(System.in);
            int x =input.nextInt();//手工輸入使用者出的是什麼
            int t=Math.abs(random.nextInt())%3;//隨機產生電腦的情況
            System.out.print("The computer is "+cards[t]+". You are "+cards[x]);
            if(t==x)//雙方出的一樣
                System.out.print(" too.");
            else
                System.out.print(" .");
            if((t==1&&x==0)||(t==2&&x==1)||(t==0&&x==2))//電腦勝
            {
                System.out.println("The computer won.");
                ++cnt1;
            }
            else if((t==0&&x==1)||(t==1&&x==2)||(t==2&&x==0))//使用者勝
            {
                System.out.println("You won.");
                ++cnt2;
            }
            else if(t==x)//平局
                System.out.println("It is a draw.");
        }
        System.out.print("The result of the game is:");
        if(cnt1>2)//輸出最終比賽結果
        	System.out.println("The computer won.");
        else
        	  System.out.println("You won.");
    }
}



執行結果:


知識點總結:
隨機數 迴圈

學習心得:

判斷勝負情況的時候稍微麻煩一點點。。其他都很簡單

相關文章