日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java大作业斗地主游戏_Java集合练习:斗地主游戏

發布時間:2025/3/17 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java大作业斗地主游戏_Java集合练习:斗地主游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是一個模擬斗地主的小游戲,最后看到的牌型是經過排序的,具體代碼和解釋如下:

package cn.poker_test;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.TreeSet;

/*

* 模擬斗地主小游戲

*

* 思路:

* A:創建一個HashMap集合

* B:創建一個ArrayList集合

* C:創建花色數組和點數數組

* D:從0開始往HashMap里面存儲編號,并存儲對應的牌

* 同時往ArrayList里面存儲編號即可

* E:洗牌(洗的是編號)

* F:發牌(發的也是編號,為了保證編號是排序的,就創建TreeSet集合接收)

* G:看牌(遍歷TreeSet集合,獲取編號,到HashMap集合找對應的牌)

*/

public class PokerGameDemo {

public static void main(String[] args) {

// 創建一個HashMap集合

HashMap hm = new HashMap();

// 創建一個ArrayList集合

ArrayList array = new ArrayList();

// 創建花色數組和點數數組

String[] colors = { "", "", "", "" };

// 定義一個 點數數組

String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2" };

// 從0開始往HashMap里面存儲編號,并存儲對應的牌,同時往ArrayList里面存儲編號即可

int index = 0;

for(String number : numbers) {

for(String color : colors) {

String poker = color.concat(number);

hm.put(index, poker);

array.add(index);

index++;

}

}

hm.put(index, "小王");

array.add(index);

index++;

hm.put(index, "大王");

array.add(index);

//洗牌(洗的是編號)

Collections.shuffle(array);

//發牌(發的也是編號,為了保證編號是排序的,就創建TreeSet集合接收

TreeSet zhangXiaoQi = new TreeSet();

TreeSet meiChangSu = new TreeSet();

TreeSet linQingXia = new TreeSet();

TreeSet diPai = new TreeSet();

for(int x=0;x

if(x>array.size()-4) {

diPai.add(array.get(x));

} else if(x%3==0) {

zhangBingWei.add(array.get(x));

} else if(x%3==1) {

meiChangSu.add(array.get(x));

} else if(x%3==2) {

linQingXia.add(array.get(x));

}

}

//看牌(遍歷TreeSet集合,獲取編號,到HashMap集合找對應的牌)

lookPoker("張小七",zhangBingWei,hm);

lookPoker("梅長蘇",meiChangSu,hm);

lookPoker("林青霞",linQingXia,hm);

lookPoker("底牌",diPai,hm);

}

public static void lookPoker(String name, TreeSet ts, HashMap hm) {

System.out.print(name+"的牌是:");

for(int key : ts) {

String value = hm.get(key);

System.out.print(value+" ");

}

System.out.println();

}

}

運行結果:

張小七的牌是:3 4 6 6 8 9 10 J Q K K A 2 2 2 小王 大王

梅長蘇的牌是:3 4 5 5 5 6 8 9 9 10 J Q Q K A A 2

林青霞的牌是:3 3 4 4 5 6 7 7 8 9 10 10 J J Q K A

底牌的牌是:7 7 8

總結

以上是生活随笔為你收集整理的java大作业斗地主游戏_Java集合练习:斗地主游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。