java——斗地主小游戏之洗牌发牌
遇到的问题:
1.int和Integer的区别?
1)Integer是int的包装类,int则是java的一种基本数据类型 。
2)Integer变量必须实例化后才能使用,而int变量不需要 。
3)Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 。
4)Integer的默认值是null,int的默认值是0。
Cards.java:
import java.util.*; public class Card{public static void main(String[] args){ArrayList<String> color = new ArrayList<String>();ArrayList<String> num = new ArrayList<String>();color.add("♠️");color.add("♥️");color.add("◇");color.add("♣️");for(int i=2; i<=10; i++){//很神奇,可以把add()里面的数据变成字符串num.add(i+ "");}num.add("J");num.add("A");num.add("K");num.add("Q");//map是一副牌 54张HashMap<Integer, String> map = new HashMap<Integer, String>();int index = 0;for (String thisColor: color){for (String thisNum: num){map.put(index++, thisColor + thisNum);}}map.put(index++, "小王");map.put(index++, "大王");ArrayList<Integer> cards = new ArrayList();//这里就是intfor(int i=0; i<54; i++){cards.add(i);}//将cards顺序打乱 Collections.shuffle(cards);//System.out.println(cards);//System.out.println(map);//创建三个玩家ArrayList<Integer> player1 = new ArrayList();ArrayList<Integer> player2 = new ArrayList();ArrayList<Integer> player3 = new ArrayList();ArrayList<Integer> SecreatCards = new ArrayList();for(int i=0; i<cards.size(); i++){if(i>50){SecreatCards.add(cards.get(i));}else if(i%3 == 0){player1.add(cards.get(i));}else if(i%3 == 1){player2.add(cards.get(i));}else {player3.add(cards.get(i));}}Collections.sort(player1);Collections.sort(player2);Collections.sort(player3);ArrayList<String> sPlayer1 = new ArrayList<String>();ArrayList<String> sPlayer2 = new ArrayList<String>();ArrayList<String> sPlayer3 = new ArrayList<String>();for(Integer key : player1){//这里的key应该是object类,所以用Integer而不是int sPlayer1.add(map.get(key));}for(Integer key : player2){sPlayer2.add(map.get(key));}for(Integer key : player3){sPlayer3.add(map.get(key));}System.out.println("player1:" + sPlayer1);System.out.println("player2:" + sPlayer2);System.out.println("player3:" + sPlayer3);System.out.println("底牌:" + SecreatCards);}}
还是蛮有意思的~
转载于:https://www.cnblogs.com/gaoquanquan/p/9620066.html
java——斗地主小游戏之洗牌发牌相关推荐
- 斗地主小游戏之洗牌发牌
代码 public class PokerShuffleCards {public static void main(String[] args) {// 准备花色ArrayList<Strin ...
- 通过程序实现斗地主过程中的洗牌,发牌和看牌(简约版)
需求:通过程序实现斗地主过程中的洗牌,发牌和看牌 思路: 创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 往牌盒里面装牌 洗牌,也就是说把牌打撒,用Collections的shuf ...
- Java项目:模拟扑克牌洗牌发牌排序
用JAVA实现简单的扑克牌洗牌发牌并排序,首先写代码之前需要明确需要分哪些步骤: 创建一个HashMap集合对象 创建一个ArrayList集合对象 生成一副扑克牌 将扑克牌按照键值关系添加到Hash ...
- 用JAVA实现简单的扑克牌洗牌发牌并排序
用JAVA实现简单的扑克牌洗牌发牌并排序,首先写代码之前需要明确需要分哪些步骤: 创建一个HashMap集合对象 创建一个ArrayList集合对象 生成一副扑克牌 将扑克牌按照键值关系添加到Hash ...
- 用JAVA编程实现斗地主小游戏(建牌,发牌,选地主,排序)
JAVA编程实现斗地主小游戏 主程序 排序算法 主程序 public static void main(String[] args) {//牌List<String> pokes = ne ...
- JAVA控制台扑克牌游戏,洗牌,发牌,比较大小
此游戏是一个简单的并且很基础的java控制台程序.这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家.有洗好的牌,也有玩家了,那么就开始 ...
- Java斗地主小游戏有序版
题目 斗地主综合案例:有序版 1.准备牌:大王小王 52张牌:循环嵌套遍历两个集合,组装52张牌 可以使用Map<Integer,String>集合储存牌的索引+组装好的牌.创建一个Lis ...
- Java斗地主小游戏代码
package com.map; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; ...
- 【案例 6-4】斗地主洗牌发牌
[案例介绍] 1.任务描述 斗地主的扑克牌游戏,相信许多人都会玩,本例要求编写一个斗地主的洗牌发牌程序,要求按照斗地主的规则完成洗牌发牌的过程.一副扑克总共有 54 张牌,牌面由花色和数字组成(包括 ...
最新文章
- yii2-Ueditor百度编辑器
- python使用什么来表示不同级别的语句块-python通过什么来区分不同的语句块?
- 等值数目-------2012年12月26日
- Qt Creator使用文本编辑宏
- 【linux】查看内存使用情况
- 报表怎样实现滚动的公告效果?
- 狭义上讲侠义计算机安全,狭义的会计电算化是什么
- Hibernate常用的Java数据类型映射到mysql和Oracle
- Bootstrap 排版强调
- 蓝桥杯 入门训练 圆的面积
- android selector 的item/不能是空节点
- 端口映射内网穿透——网络通
- 【介绍了Sentaurus TCAD结构编辑器中可用的网格掺杂操作】
- 强化学习:Markov Decision Process (基于南大俞扬博士演讲的修改和补充)
- Prometheus(普罗米修斯)监控系统
- InnoDB的MVCC如何解决不可重复读和快照读的幻读,当前读用next-key解决幻读
- 2019年第三季度 公链发展状况研究报告 |链塔智库
- 成功项目策划“四要素”
- 编写函数long fun(int high,int n),功能是:计算并返回high以内(不包含high)最大的n个素数之和。若不足n个,则到最小素数2为止。例如:若high=100,n=10,则函数
- HIFI音频解码芯片ES9023
热门文章
- 【Android入门】零二、Gradle配置(国内镜像、jetpack)
- CSS3 transition实现超酷图片墙动画效果
- Pr:制作片尾滚动字幕(旧版标题法)
- pr制作片尾滚动字幕
- acwing 838. 堆排序 (手写一个堆)
- 最长公共子序问题 ( LCS, Longest Commom Subsequence )POJ-1458
- dpm hsc_HSC的完整形式是什么?
- editplus 一些快捷键
- Linux安装搜狗输入法(for ubuntu)
- 考研英语二计算机国家线,考研计算机历年国家线_2021研究生招生信息网