Java斗地主发牌程序
Hello!大家好,我是新入坑Java的小白,你们可以叫我s1mple!
这是我学Java以来发的第一个程序,那废话就不多说了,直接开始
首先分析一下我们需要什么
需求分析:
- 首先我们需要【准备牌】,一共有54张
其中包含:
特殊牌:大王,小王
其他牌:52张
52张牌中:
有四种花色,我们需要定义1个数组
有13个序 ,我们需要定义1个数组
之后我们嵌套循环来组合这52张牌 - 接下来我们要【洗牌】
洗牌我们使用Conllections工具类其中的static void shuffle(List<gt; list)方法
这个方法可以随机排序集合中的元素 - 接着我们就要【发牌】了
斗地主中玩家有三个,所以我们需要定义3个集合来存储每个玩家的牌
斗地主还有底牌,因此也要定义1个数组
定义好之后,使用加强for循环来进行发牌(这里做一下解释:加强for循环是专门遍历数组和集合的循环)
这里我是挨个玩家发牌:
首先我们要给底牌中发牌,这里用判断,如果牌堆中的牌>=51那么就要给牌堆里发牌,直到剩下51张
然后,我们要给玩家发牌因为人数是3个,我们可以利用每张牌在集合中的索引值来和3取模,0%3=0,1%3=1,2%3=2,3%3=0…
当模为0时给玩家1发牌
当模为1时给玩家2发牌
当模为2时给玩家3发牌
这样一来就可以实现每个玩家轮流发到牌 - 那么最后就是【看牌】了**
接下来放出源代码:(每一步也加了相应的注释方便阅读)
PS:因为我是用IDEA写的,会自动导包,如果使用其他软件没法自动导包的话一定要记着导包
到这里整个程序就写好了!
第一次发博,如果有什么需要改进的,希望各位大佬指点出来,我会虚心接受,想更好的方向迈进!
最后感谢大家阅读!下次再见!
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!