总体思路及步骤:

1.创建一个HashMap集合和ArrayList集合

 注明:不一定非要使用HashMap,也可以使用Hashtable。这里呢,就主要选用操作较于简单、线程不安全、易于实现的HashMap。ArrayList也是一样,可以选择其他类的,比如线程安全、效率低的Vector和线程不安全、效率高的LinkedList。

2.创建两个数组,一个用来存储花色,另一个用来存储数字

3.用嵌套for的方式,将两者组合在一起(注意:这里用的是contact方法,必须要把数字那个放在第一个循环上,第二个for循环上放花色,不然无法齐牌(洗牌--->发牌--->齐牌))

4.创建TreeSet集合(因为齐牌需要顺序,就是说同样大小的牌整理在一起,而且存进去TreeSet只是牌的索引值,所以利用TreeSet属性--自然排序,所以达到了齐牌的效果)

5.从0开始往HashMap里存储键和值,并在ArrayList里存储索引值

6.洗牌(用Collections的shuffle方法,将ArrayList的对象里的序号打乱,达到洗牌目的)

7.发牌(为了保证有序,就用前面的TreeMap接收)

8.看牌(自己写一个看牌的方法----eg:遍历输出)

9.写一个随机数:判断谁是地主

本人是java的初学者,如有错误和建议,望各位多多包涵和指教~


用Collections写的3人斗地主大概步骤~用Collections写的3人斗地主大概步骤~用Collections写的3人斗地主大概步骤~


结果图:

用Collections写的3人斗地主大概步骤~

主要思考思路:用映射的思想来达到做出一副扑克,也就是TreeMapping方法。再在存储键值对的时候存储对应的索引,用于洗牌发牌,在用TreeSet方法的属性(有序、无重复)达到齐牌的目的。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
  • 2021-12-25
  • 2021-12-10
  • 2021-11-30
  • 2021-05-10
猜你喜欢
  • 2021-12-25
  • 2021-09-17
  • 2021-12-25
  • 2021-08-04
  • 2021-11-17
相关资源
相似解决方案