打印一副扑克!
自从学了java基础后感觉有些喜欢上编程了!现在学到集合,有些自己对与斗地主这款游戏有些编程思路,
现在由于没有多少时间来实现这个程序,有空就把全代码给编出来!
大纲是这样的,
1.创建一副牌,
2.发给3个人牌!当然了,底牌是不给你看的(保持游戏的公平性,但是我们可以作弊嘛!)!
3.打牌的算法! 这个这个有些复杂,如计算积分(简单),打牌的规矩(有些复杂,为啥啊!你的要敲好多实现方法的代码),出牌后计算谁能下一次出牌(这个思路不是刚入门的就能够想到的!);
4.用GUI显示窗口(这个得做的可以做的好看点嘛!这个把x讯的斗地主截个图呗!)
5.你可以和你的pc一起玩了!(非常能打发时间!)- import java.util.Comparator;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Set;
- import java.util.TreeMap;
- import java.util.TreeSet;
- public class Demo3 {
- /**
- * 斗地主
- * 0.有一副牌!
- * 1.发牌!
- * 2.洗牌!
- *
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String[] packer={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
- String[] huase ={"♣","♥","♦","♠"};
- //拼牌!
- TreeMap<Integer, String> tr=new TreeMap<>();
- int i=0;
- for (int j = 0; j < packer.length; j++) {
- for (int j2 = 0; j2 < huase.length; j2++) {
- tr.put(i++, huase[j2].concat(packer[j]));
- }
- }
- tr.put(i++, "☀"); //小王
- tr.put(i++, "☀☀"); //大王
- Set<Integer> set=tr.keySet(); //键集合
- TreeSet<Integer> tree =new TreeSet<> (new Comparator<Integer>() {
- @Override
- public int compare(Integer i1, Integer i2) {
- // TODO Auto-generated method stub
- int i=i1-i2;
- return i==0?0:i;
- }
- });
- ArrayList<Integer> al=new ArrayList<>();
- al.addAll(set); //获得键集合
-
- Collections.shuffle(al); //打乱牌
- //发牌(4组)
- ArrayList<Integer> a2=new ArrayList<>();
- ArrayList<Integer> a3=new ArrayList<>();
- ArrayList<Integer> a4=new ArrayList<>();
- ArrayList<Integer> a5=new ArrayList<>();
- for (int j = 0; j < al.size(); j++) {
- if(j>=al.size()-3)
- a2.add(al.get(j));
- else if(j%3==0)
- a3.add(al.get(j));
- else if(j%3==1)
- a4.add(al.get(j));
- else
- a5.add(al.get(j));
- }
- 洗牌(tree, a5);
- 洗牌(tree, a2);
- 洗牌(tree, a3);
- 洗牌(tree, a4);
-
- //看牌了
- 看牌(a2,tr);
- System.out.println();
- 看牌(a3,tr);
- System.out.println();
- 看牌(a4,tr);
- System.out.println();
- 看牌(a5,tr);
- }
- private static void 洗牌(TreeSet<Integer> tree, ArrayList<Integer> al) {
- tree.clear();
- tree.addAll(al);
- al.clear();
- al.addAll(tree);
- }
- private static void 看牌(ArrayList<Integer> al,
- TreeMap<Integer, String> tr) {
- // TODO Auto-generated method stub
- for (Integer i : al) {
- System.out.print(tr.get(i)+" ");
- }
- }
- }
-
复制代码
|
|