zoukankan      html  css  js  c++  java
  • java开发之发牌小程序

    发牌规则

         黑桃按照从小到大依次为:1-13  

       红桃按照从小到大依次为:14-26  

       梅花按照从小到大依次为:27-39  

       方块按照从小到大依次为:40-52  

       小王53   大王54

    代码实现:

    package com.zsy.study;
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.*;
    /**
     * 
     * @author 偶my耶
     *            游戏发牌
     */
    public class Cards {
        /**
         * 发牌函数
         * @param args
         */
        private int[][] player;    //玩家
        private int[] total; // 底牌数
        public int[][] getPlayer() {
            return player;
        }
        public void setPlayer(int[][] player) {
            this.player = player;
        }
    
        public int[] getTotal() {
            return total;
        }
    
        public void setTotal(int[] total) {
            this.total = total;
        }
        
        /**
         *   发牌函数
         * @param CardNum 总牌数
         * @param Rs 人数
         * @param Ps 每人的牌数
         * @return Cards 
         */
        public static Cards PlayingCards(int Rs){
            int Ps ,CardNum;        //每人的牌数    //总牌数
            if(Rs==4){                //如果人数是4个,则把总牌数设为108张,每人的牌数设为25张
                CardNum=108;
                Ps=25;
            }else if(Rs==3){        //如果人数是4个,则把总牌数设为54张,每人的牌数设为17张
                CardNum=54;
                Ps=17;
            }else {
                CardNum=0;    
                Ps=0;
                System.out.println("输入错误");
                System.exit(1);
            }
            int[] total=new int[CardNum];    //
            int[][] player=new int[Rs][Ps];    //定义玩家数和牌数的 数组
            int leftNum=CardNum;        //剩下的牌数
            int ranNumber;            //随机发的牌
            Random random=new Random();
            for (int i = 0; i < total.length; i++) {    //将牌数设在1--54之间 其中1~13表示一种花色
                total[i]=(i+1)%54;                        //,依此类推
                if (total[i]==0) {                //把0设为54
                    total[i]=54;
                }
                
            }
            for(int i=0;i<player[0].length;i++){        //随机分配牌
                for(int j=0;j<player.length;j++){
                    ranNumber=random.nextInt(leftNum);        //随机获取下标,
                    player[j][i]=total[ranNumber];            //将随机的数赋给玩家
                    total[ranNumber] = total[leftNum-1];    
                    leftNum--;
                }
            }    
            Cards card=new Cards();            
            card.setPlayer(player);        
            card.setTotal(total);        
            return card;
        }
        public void print(Cards card,int rs) {
            int dp;
            for (int i = 0; i < card.getPlayer().length; i++) {
                System.out.print("玩家"+(i+1)+"的牌");
                for (int j = 0; j < card.getPlayer()[i].length; j++) {
                    System.out.print(" "+card.getPlayer()[i][j]);
                }
                System.out.println();
            }
            System.out.print("底牌");
            if(rs==4){
                dp=8;        //设置底牌数
            }else {
                dp=3;        //设置底牌数
            }
            for (int i = 0; i < dp; i++) {
                System.out.print(" "+card.getTotal()[i]);
            }
            System.out.println();
        }
        public static void main(String[] args) throws Exception{
            System.out.println("请选择游戏:1、斗地主,2、三打哈");
            BufferedReader  br=new BufferedReader(new InputStreamReader(System.in));//输入语句
            Integer rs = Integer.valueOf(br.readLine());
            Cards card=PlayingCards(rs+2);
            card.print(card,rs);
    
        }
        
    }

    运行结果:

  • 相关阅读:
    RabbitMQ使用介绍及实例
    RabbitMQ与java、Spring结合实例详细讲解
    服务器搭建--Linux安装rabbitmq
    服务器搭建--Linux安装erlang
    solrCloud index search (图)
    What does "exceeded limit of maxWarmingSearchers=X" mean?
    Solr 自定义排序[1]
    solr Query[转]
    Lucene
    Solr[Q] -No live SolrServers available to handle this request, no servers hosting shard
  • 原文地址:https://www.cnblogs.com/oumyye/p/4214706.html
Copyright © 2011-2022 走看看