下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1. 要求系統(tǒng)自動(dòng)幫玩家抽2張卡,統(tǒng)計(jì)總數(shù);電腦(delaer)自動(dòng)抽兩張卡,一張看得見一張看不見(用*表示);然后玩家(player)選擇是繼續(xù)抽(HIT)還是停止抽(STAY);再抽的話是抽一張牌,每次都統(tǒng)計(jì)總數(shù);電腦的得分如果小于17的話他也會(huì)抽一張,大于等于17的話就不抽了;最后接近21的人贏,但不能超過21,超過就輸了(BUST),如果兩個(gè)人的得分一樣(tie)的話是電腦(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"/用來存儲(chǔ)玩家的抽排的集合private List<String> playCard ;/用來存儲(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)/玩家得分超過21 System.out.println("電腦勝!"); return false; if(c<0)/電腦得分超過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)無限循環(huán)游戲,數(shù)據(jù)n/N結(jié)束游戲jack.init();/游戲初始化while(true)/默認(rèn)無限玩家無限再次抽排,輸入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)語言環(huán)境的百分比格式。NumberFormat percent = NumberFormat.getP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人民版七年級物理下冊階段測試試卷
- 二零二五年度高科技產(chǎn)業(yè)財(cái)產(chǎn)抵押擔(dān)保投資合同2篇
- 2025年滬教版九年級生物上冊階段測試試卷
- 2025年外研版第二冊生物上冊階段測試試卷
- 2025年粵教滬科版八年級歷史上冊月考試卷含答案
- 2025年度汽車租賃與導(dǎo)航系統(tǒng)使用合同4篇
- 2025年度個(gè)人之間房屋買賣合同附件清單范本4篇
- 2025年中圖版選擇性必修3生物下冊月考試卷
- 2025年人教A版八年級歷史上冊階段測試試卷
- 二零二五年度建筑材料回收利用合同范本3篇
- 胰島素注射的護(hù)理
- 云南省普通高中學(xué)生綜合素質(zhì)評價(jià)-基本素質(zhì)評價(jià)表
- 2024年消防產(chǎn)品項(xiàng)目營銷策劃方案
- 旅游公司發(fā)展規(guī)劃
- 聞道課件播放器
- 03軸流式壓氣機(jī)b特性
- 五星級酒店收入測算f
- 大數(shù)據(jù)與人工智能ppt
- 人教版八年級下冊第一單元英語Unit1 單元設(shè)計(jì)
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動(dòng)態(tài)計(jì)量第5部分:油量計(jì)算
- 邀請函模板完整
評論
0/150
提交評論