Java 模拟斗地主(升级版/普通版)(集合综合运用)

编程入门 行业动态 更新时间:2024-10-21 19:52:09

Java 模拟斗地主(<a href=https://www.elefans.com/category/jswz/34/1764843.html style=升级版/普通版)(集合综合运用)"/>

Java 模拟斗地主(升级版/普通版)(集合综合运用)

普通版

需求:
    .通过程序实现斗地主过程中的洗牌
思路:
    1.创建一个牌盒,也就是定义一个集合对象,用arraylist实现
    2.往牌盒里面装牌
    3.洗牌,用collections 的 shuffle函数实现
    4.发牌,也就是遍历集合 ,给三个玩家发牌
    5.看牌,也就是三个玩家分别遍历自己的牌

package collections模拟斗地主升级版_集合综合案例;import java.util.ArrayList;
import java.util.Collections;import ArrayList存储学生对象并遍历.student;public class pokerdemo简单版本 {/*
需求:.通过程序实现斗地主过程中的洗牌
思路:1.创建一个牌盒,也就是定义一个集合对象,用arraylist实现2.往牌盒里面装牌3.洗牌,用collections 的 shuffle函数实现4.发牌,也就是遍历集合 ,给三个玩家发牌5.看牌,也就是三个玩家分别遍历自己的牌*/public static void main(String[] args) {
//		1.创建一个牌盒,也就是定义一个集合对象,用arraylist实现ArrayList<String> array = new ArrayList<String>();//		2.往牌盒里面装牌/*  ♣A....♣k*  ♦A....♦K*  ♥A....♥K*  ♠A....♠K*  大王,小王*/ String colors []= {"♣","♦","♥","♠"};
//		定义一个点数数组String numbers []= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
//		拼接for (String color : colors) {for (String number : numbers) {array.add(color+number);}}array.add("大boss");array.add("小boss");//		3.洗牌,用collections 的 shuffle函数实现Collections.shuffle(array);//		4.发牌,也就是遍历集合 ,给三个玩家发牌ArrayList<String> 刘德华 = new ArrayList<String>();ArrayList<String> 林青霞 = new ArrayList<String>();ArrayList<String> 王祖贤 = new ArrayList<String>();ArrayList<String> 三张底牌 = new ArrayList<String>();//		.public E get(int index)返回指定索引处的元素for (int i = 0; i <array.size(); i++) {if(i>=array.size()-3) {三张底牌.add(array.get(i));}if(i%3==0) {刘德华.add(array.get(i));}if(i%3==1) {林青霞.add(array.get(i));}if(i%3==2) {王祖贤.add(array.get(i));}}
//		5.看牌,也就是三个玩家分别遍历自己的牌System.out.println("刘德华的牌是"+刘德华);System.out.println("林青霞的牌是"+林青霞);System.out.println("王祖贤的牌是"+王祖贤);System.out.println("三张底牌是"+三张底牌);}
}

升级版

需求:
    .通过程序实现斗地主过程中的洗牌,发牌和看牌,要求对牌进行排序
思路:
    1.创建HashMap,键是编号,值是牌
    2.创建arraylist,存储编号
    3.创建花色数组和点数数组
    4.从0开始,往hashmap里面储存编号,同时往arraylist里面储存编号
    5.洗牌,洗的是编号,用collections的shuffle方法实现
    6.发牌(发的也是编号,为了保证编号是排序的,创建treeSet集合实现)
    7.定义方法看牌(遍历treeset集合,获取编号,到hashmap集合找对应的牌)
    8.调用看牌方法

package collections模拟斗地主升级版_集合综合案例;import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeSet;import Hashmap存储学生对象并遍历.student;public class pokerdemo升级版 {/*
需求:.通过程序实现斗地主过程中的洗牌,发牌和看牌,要求对牌进行排序
思路:1.创建HashMap,键是编号,值是牌2.创建arraylist,存储编号3.创建花色数组和点数数组4.从0开始,往hashmap里面储存编号,同时往arraylist里面储存编号5.洗牌,洗的是编号,用collections的shuffle方法实现6.发牌(发的也是编号,为了保证编号是排序的,创建treeSet集合实现)7.定义方法看牌(遍历treeset集合,获取编号,到hashmap集合找对应的牌)8.调用看牌方法*/public static void main(String[] args) {
//		1.创建HashMap,键是编号,值是牌
//		2.创建arraylist,存储编号Map<Integer,String> hm = new HashMap<Integer,String>();ArrayList<Integer> array = new ArrayList<Integer>();
//		 3.创建花色数组和点数数组String colors []= {"♣","♦","♥","♠"};String numbers []= {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
//		 4.从0开始,往hashmap里面储存编号,同时往arraylist里面储存编号int index = 0 ;for (String color : colors) {for (String number : numbers) {hm.put(index, color+number);array.add(index);index++;}}hm.put(index,"小王");array.add(index);index++;hm.put(index,"大王");array.add(index);//		5.洗牌,洗的是编号,用collections的shuffle方法实现Collections.shuffle(array);//		6.发牌(发的也是编号,为了保证编号是排序的,创建treeSet集合实现)TreeSet<Integer> 林青霞 =new TreeSet<Integer>(); TreeSet<Integer> 周杰伦 =new TreeSet<Integer>();TreeSet<Integer> 王祖贤 =new TreeSet<Integer>();TreeSet<Integer> 三底牌 =new TreeSet<Integer>();for (int i = 0; i <array.size(); i++) {if(i>=array.size()-3){三底牌.add(array.get(i));}if(i%3==0) {林青霞.add(array.get(i));}if(i%3==1) {周杰伦.add(array.get(i));}if(i%3==2) {王祖贤.add(array.get(i));}}
//	    8.调用看牌方法lookPoker("三底牌", 三底牌, hm);lookPoker("林青霞", 林青霞, hm);lookPoker("周杰伦", 周杰伦, hm);lookPoker("王祖贤", 王祖贤, hm);}// 7.定义方法看牌(遍历treeset集合,获取编号,到hashmap集合找对应的牌)public static void lookPoker(String name,TreeSet<Integer> ts,Map<Integer, String> hm) {System.out.print(name+"的牌是");for (Integer key : ts) {String poker = hm.get(key);System.out.print(poker+" ");}System.out.println();}
}

更多推荐

Java 模拟斗地主(升级版/普通版)(集合综合运用)

本文发布于:2024-02-14 02:29:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761248.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:升级版   斗地主   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!