簡(jiǎn)單黑白撲克牌游戲_第1頁(yè)
簡(jiǎn)單黑白撲克牌游戲_第2頁(yè)
簡(jiǎn)單黑白撲克牌游戲_第3頁(yè)
簡(jiǎn)單黑白撲克牌游戲_第4頁(yè)
簡(jiǎn)單黑白撲克牌游戲_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1. 要求系統(tǒng)自動(dòng)幫玩家抽2張卡,統(tǒng)計(jì)總數(shù);電腦(delaer)自動(dòng)抽兩張卡,一張看得見(jiàn)一張看不見(jiàn)(用*表示);然后玩家(player)選擇是繼續(xù)抽(HIT)還是停止抽(STAY);再抽的話(huà)是抽一張牌,每次都統(tǒng)計(jì)總數(shù);電腦的得分如果小于17的話(huà)他也會(huì)抽一張,大于等于17的話(huà)就不抽了;最后接近21的人贏,但不能超過(guò)21,超過(guò)就輸了(BUST),如果兩個(gè)人的得分一樣(tie)的話(huà)是電腦(dealer)贏。2. 效果3. 實(shí)現(xiàn)1)BlackJack.javapackage test;import java.util.ArrayList;import java.util.List;import jav

2、a.util.Random;public class BlackJack /撲克牌private String card = new String"A","2","3","4","5","6","7","8","9","J","Q","K"/用來(lái)存儲(chǔ)玩家的抽排的集合private List<String> playCard ;/用來(lái)存儲(chǔ)電腦的抽排

3、的集合private List<String> computerCard;/玩家得分private int pScore;/電腦得分private int cScore;Random r = new Random();/* * 玩家再次抽排 */public void nextCard()playCard.add(getCard();/如果電腦的得分小于17則再次抽排if(getScore(computerCard)<17)computerCard.add(getCard();msg(playCard);/打印玩家抽排信息/* * 系統(tǒng)初始化,默認(rèn)玩家和電腦各抽2張牌,并打印

4、信息 */public void init()/玩家抽2張牌playCard = new ArrayList();playCard.add(getCard();/把玩家抽到的牌放入集合中playCard.add(getCard();msg(playCard);/電腦抽2張牌computerCard = new ArrayList();computerCard.add(getCard();/把電腦抽到的牌放入集合中computerCard.add(getCard();System.out.println("Dealer Cards: "+computerCard.get(0)

5、 + " *");/* * 從撲克牌中隨機(jī)抽排 * return */public String getCard()String c = cardr.nextInt(card.length);return c;/* *根據(jù)傳入的集合打印玩家或電腦的抽排信息 ,傳入玩家撲克牌的集合則打印玩家的抽排信息,反之。 * param card 存儲(chǔ)玩家或電腦撲克牌的集合 */ public void msg(List<String> card) String msg ="" for(String p : card) msg = msg+p+"

6、 " System.out.print("Player Cards: "+msg + "t" + "Total: "); System.out.println(getScore(card); /* * 判勝 * return true玩家勝利 false電腦勝 */ public boolean getWinner() pScore = getScore(playCard);/玩家得分 cScore = getScore(computerCard);/電腦得分 String pMsg ="" for(St

7、ring p : playCard) pMsg = pMsg+p+" " System.out.println("Player Cards: "+pMsg + "t" + "Total: " +pScore); String dMsg ="" for(String d : computerCard) dMsg = dMsg+d+" " System.out.println("Dealer Cards: "+ dMsg + "t" + &

8、quot;Total: "+cScore); int p = 21-pScore; int c = 21-cScore; if(p<0)/玩家得分超過(guò)21 System.out.println("電腦勝!"); return false; if(c<0)/電腦得分超過(guò)21 System.out.println("玩家勝!"); return true; if(p>=c)/電腦得分比玩家的分更接近21 System.out.println("電腦勝!"); return false; else System.

9、out.println("玩家勝!"); return true; /* * 根據(jù)傳入的集合計(jì)算玩家或電腦的得分 * param card 存儲(chǔ)玩家或電腦撲克牌的集合 * return 得分 */ public int getScore(List<String> card) int score = 0; for(String c : card) switch(c) case "A": score += 1;break; case "2": score += 2;break; case "3": scor

10、e += 3;break; case "4": score += 4;break; case "5": score += 5;break; case "6": score += 6;break; case "7": score += 7;break; case "8": score += 8;break; case "9": score += 9;break; case "J": score += 10;break; case "Q":

11、 score += 11;break; case "K": score += 12; return score; 2)PlayBlackJack.javapackage test;import java.text.NumberFormat;import java.util.Scanner;public class PlayBlackJack /游戲次數(shù)private static int count;/玩家贏得次數(shù)private static int playWin;public static void main(String args) BlackJack jack =

12、new BlackJack();Scanner scan = new Scanner(System.in);System.out.println("Let's play Blackjack!n");/Welcome!while(true)/默認(rèn)無(wú)限循環(huán)游戲,數(shù)據(jù)n/N結(jié)束游戲jack.init();/游戲初始化while(true)/默認(rèn)無(wú)限玩家無(wú)限再次抽排,輸入1結(jié)束抽排System.out.println("HIT (0) or STAY (1): ");int input = scan.nextInt();if(input = 1)if(j

13、ack.getWinner()playWin+;count+;break;/結(jié)束抽排else/玩家再次抽排jack.nextCard();System.out.println("Would you like to play again?(y for yes, n for no): ");String again = scan.next();if("N".equals(again)|"n".equals(again)break;/結(jié)束游戲/當(dāng)前默認(rèn)語(yǔ)言環(huán)境的百分比格式。NumberFormat percent = NumberFormat.getP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論