黑马程序员技术交流社区

标题: 使用java模拟斗地主发牌 [打印本页]

作者: 怪学究    时间: 2015-5-12 23:26
标题: 使用java模拟斗地主发牌
本帖最后由 怪学究 于 2015-5-12 23:28 编辑

大手勿喷,新手刚学

import java.util.ArrayList;
import java.util.Collections;

/*
* 用集合知识模拟斗地主发牌:
* 思路:
*                 A:买牌
*                 B: 装牌
*                 C:洗牌
*                 D:发牌
*                 E:底牌
*
*
*/

public class dizhuDemo {
        public static void main(String[] args) {
                //买牌
                ArrayList<String> array = new ArrayList<String>();
               
                String[] colorArray = {"黑桃","红桃","梅花","方片"};
                String[] numberArray = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
               
                //装牌
               
                array.add("大王");
                array.add("小王");
                for (String c : colorArray) {
                        for (String n : numberArray) {
                                 array.add(c.concat(n));
                         }
                }
                System.out.println("牌盒里的牌——"+array);
               
                //洗牌
               
                Collections.shuffle(array);
               
                System.out.println("洗了牌之后——"+array);
               
                //发牌
                ArrayList<String> player1 = new ArrayList<String>();
                ArrayList<String> player2 = new ArrayList<String>();
                ArrayList<String> player3 = new ArrayList<String>();
               
                //for循环判断发牌
                for (int i = 0; i < array.size()-3; i++) {
                        if(i%3==0){
                                player1.add(array.get(i));
                        }
                        if(i%3==1){
                                player2.add(array.get(i));
                        }
                        if(i%3==2){
                                player3.add(array.get(i));
                        }
                }
                //三家的牌
                System.out.println("player1="+player1);
                System.out.println("player2="+player2);
                System.out.println("player3="+player3);
               
                //看底牌
                ArrayList<String> lastcard = new ArrayList<String>();
                for(int i = array.size()-3;i < array.size();i++){
                        lastcard.add(array.get(i));        
                }
                //最终的底牌
                System.out.println("lastcard="+lastcard);
               
        }

}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2