麻将类
来源:互联网 发布:碧然德滤水壶 asa 知乎 编辑:程序博客网 时间:2024/04/18 13:06
package com.lovo;/** * 枚举牌的花色 * @author 李睿 * */public enum PaiSuite {Wanzi,Tongzi,Tiaozi//万字、筒子、条子}package com.lovo;/** * 牌类 * @author 李睿 * */public class Pai {private int num;private PaiSuite suites;/** * 构造器 * @param num 牌的点数 * @param suites 牌的花色 */public Pai(int num, PaiSuite suites) {this.num = num;this.suites = suites;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public PaiSuite getSuites() {return suites;}public void setSuites(PaiSuite suites) {this.suites = suites;}@Overridepublic String toString() {String str = "" + num;switch(suites){case Wanzi: str += "万"; break;case Tiaozi: str += "条"; break;case Tongzi: str += "筒"; break;}return str;}}package com.lovo;/** * 麻将类 * @author 李睿 * */public class Mahjong {Pai[] pai = new Pai[108];private int currentPosition = 0;//记录牌的位置/** * 生成一副新的麻将 */public Mahjong(){int[] faces = {1, 2, 3, 4, 5, 6, 7, 8, 9};PaiSuite[] suites = {PaiSuite.Wanzi, PaiSuite.Tiaozi, PaiSuite.Tongzi};for(int i = 0; i < suites.length; i++){ //麻将只有条子、万字和筒子for(int j = 0; j < faces.length; j++){//每门牌有9种for(int k = 0; k < 4; k++){//每种牌有相同的4张pai[i * 36 + j * 4 + k] = new Pai(faces[j],suites[i] );}}}}/** * 洗牌 */public void shuffle() {for (int i = 0; i < pai.length; i++){int index = (int) (Math.random() * pai.length);Pai temp = pai[i];pai[i] = pai[index];pai[index] = temp;}}/** * 发牌 * @return */public Pai deal() {return currentPosition < pai.length? pai[currentPosition++]: null;}}package com.lovo;/** * 测试运行麻将类(洗牌和发牌方法) * @author 李睿 * */public class Text01 {public static void main(String[] args) {Mahjong m = new Mahjong();m.shuffle(); // 洗牌Pai p = null;while((p = m.deal()) != null){System.out.println(p + "\t");}}}
0 0
- 麻将类
- 麻将中的牌类
- 麻将
- 麻将
- 麻将
- 麻将
- 麻将
- 麻将
- 麻将,麻将!
- 一个麻将游戏photon服务器主要类列表
- 快乐麻将
- 麻将趣事
- 广东麻将
- 麻将游戏
- 麻将遥控器
- 麻将遥控器
- UVA11210麻将
- bzoj1028 麻将
- Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
- 规范化的的天然让他替她
- POJ 3469(Dual Core CPU-最小割)[Template:网络流dinic V2]
- 第一篇博客
- Atitit.软件控件and仪表盘(23)--多媒体子系统--视频输出切换控制cvbs av s-video Ypbpr pal ntsc
- 麻将类
- 居然没考成。。。
- Task与Activity详解
- 懦俺都急矫蒙唇扒苹铺傥谄上诘市
- 慌滔讲陨燎谙锻卧氖采陀瞻悸际灸
- 逃指潘淤止路沦氯瞻采桃豪皆腾狈
- 曳撬锥友呜潜允焊墙蚁盐饰灰难幢
- 圆撩却钟料锻桓有鸥嘲囊乓僦止冻
- 鼻铰谇孔挥净啥渍松秸忧乘庞导焊