首先定義牌和玩家對象。
城步網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
牌還要考慮王牌,屬性有花色和點(diǎn)數(shù),能夠區(qū)分。
玩家有一個list存放手牌。
for循環(huán)生成52個對象,然后生成2個王牌,加入一個list.
定義三個玩家。
循環(huán)17次,每次按順序發(fā)牌三張。
發(fā)牌的時候操作Random生成隨機(jī)數(shù),每發(fā)出一張,從list中remove掉此牌
最后得到4個list,三個玩家加底牌
for循環(huán)直接打印。
用隨機(jī)的方式生成54張牌(即數(shù)字或者其他方式),按順時針方向,依次給每個人一個數(shù)字。直到剩最后三張。
出牌:先判斷出牌方選中的牌是否符合規(guī)則。是的話。則該人的數(shù)值列表中去掉相應(yīng)的牌。桌面上顯示它出示的牌。出完牌還得判斷游戲是否結(jié)束。如果他的牌下完了。游戲就結(jié)束了
撲克牌還是自己寫個對象比較好吧 屬性就是花色跟牌值
至于發(fā)牌什么的 還是用集合來吧 數(shù)組操作起來比較麻煩
代碼實(shí)在是懶得寫了 就提點(diǎn)建議
用集合的好處比如說洗牌直接就可以用 collections的靜態(tài)方法 還有就是 回復(fù)初始狀態(tài)排序 也可以也可以自定義比較器來比較
DeckOfCards()構(gòu)造函數(shù)里面,注釋掉的
//deck[count]=new Card(faces[count%13],suits[count/13]);
是對的,下面那行除17是錯的
另外,沒有把大小王賦值到數(shù)組里
最后main函數(shù)里,打印方法錯了。應(yīng)該為,原本少了一個%-20s
System.out.printf("%-20s%-20s%-20s\n", myDeckOfCards.dealCard(), myDeckOfCards.dealCard(), myDeckOfCards.dealCard());
發(fā)牌完成以后剩下的3張牌就是保留的底牌