提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、集合如何实现斗地主?
  • 二、代码部分
    • 1.IDEA软件
    • 2.创建牌盒
    • 3.洗牌
    • 4.发牌
    • 5.看牌
  • 三、总结

前言

本文是作者看完Java前面基础部分跟着一起做的一个学生管理系统,主要就是增删改查四种操作,并未使用到数据库!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、集合如何实现斗地主?

我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步!

  1. 创建牌盒,定义一个集合对象,用ArrayList实现
  2. 往牌盒里装牌
  3. 洗牌,把牌打撒
  4. 发牌
  5. 看牌

    话不多说直接上代码!

二、代码部分

1.IDEA软件

之前也有用过Eclispe这个软件,看到很多人说现在用IDEA的更多一点就下载了一个,确实不错,整体给人的感觉是不错的,另外还有很多的快捷方式,这里简单列几个。

比如常见的System.out.println(),你可能不需要全部输入,只需要输入sout然后回车即可,或者你输入so的时候就会出来sout直接回车即可。

还有,比如常用的Java函数入口main函数,我们输入psvm然后回车即可!

单行注释的快捷键是:ctrl+/,多行注释是ctrl+shift+/。(一定要先选中!

2.创建牌盒

代码如下(示例):

ArrayList<String> array = new ArrayList<String>();//创建牌盒/*牌盒里一共有54张牌♣2 ♣3...♦2 ♦3...* */
//定义花色
String []colors = {"♣","♦","♥","♠"};
//定义点数数组,
String []numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(String color:colors){for(String number:numbers){array.add(color+number);}
}
array.add("大王");
array.add("小王");

3.洗牌

 //洗牌Collections.shuffle(array);

4.发牌

需要将牌发给三位诗人,然后最后三张牌当做底牌!

这里也需要以下三步的操作:

  1. 首先,创建三个诗人集合和一个底牌集合
  2. 遍历牌盒,先判断是否是最后三张牌,如果是全部放入底牌结合中。
  3. 发牌完成。
        //发牌ArrayList<String> gamer1 = new ArrayList<String>();//玩家1ArrayList<String> gamer2 = new ArrayList<String>();//玩家1ArrayList<String> gamer3 = new ArrayList<String>();//玩家1ArrayList<String> dipai = new ArrayList<String>();//底牌三张for(int i=0;i<array.size();i++){String poker = array.get(i);//先取一张牌if(i>=array.size()-3){//判断是不是最后的三张牌dipai.add(poker);}else if(i%3==0){gamer1.add(poker);}else if(i%3==1){gamer2.add(poker);}else if(i%3==2){gamer3.add(poker);}}

5.看牌

在发牌完成后,需要看一下每一个人的牌都是什么。这里写一个看牌的方法,将诗人姓名和诗人所对应的牌集合送入方法

代码如下:

        //看牌的方法lookpoker("李白",gamer1);lookpoker("白居易",gamer2);lookpoker("杜甫",gamer3);lookpoker("底牌",dipai);}public static void lookpoker(String name,ArrayList<String> array){System.out.println(name+"的牌是:");for(String poker:array){System.out.print(poker+" ");}System.out.println();}

三、总结

虽然本文只是一个简单的斗地主,还没有实现抢地主和把牌整齐处理的操作,主要是帮助大家熟悉ArrayList这个集合。便于大家在后序的开发中更好的使用Java这些集合。
所有代码:

package Game;import java.util.ArrayList;
import java.util.Collections;public class Doudizhu {public static void main(String[] args) {/*1:创建牌盒,定义一个集合对象,用ArrayList实现* 2:往牌盒里装牌* 3:洗牌,把牌打撒* 4:发牌* 5:看盘*/ArrayList<String> array = new ArrayList<String>();//创建牌盒/*牌盒里一共有54张牌♣2 ♣3...♦2 ♦3...* *///定义花色String []colors = {"♣","♦","♥","♠"};//定义点数数组,String []numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};for(String color:colors){for(String number:numbers){array.add(color+number);}}array.add("大王");array.add("小王");System.out.println(array);//洗牌Collections.shuffle(array);//发牌ArrayList<String> gamer1 = new ArrayList<String>();//玩家1ArrayList<String> gamer2 = new ArrayList<String>();//玩家1ArrayList<String> gamer3 = new ArrayList<String>();//玩家1ArrayList<String> dipai = new ArrayList<String>();//底牌三张for(int i=0;i<array.size();i++){String poker = array.get(i);//先取一张牌if(i>=array.size()-3){//判断是不是最后的三张牌dipai.add(poker);}else if(i%3==0){gamer1.add(poker);}else if(i%3==1){gamer2.add(poker);}else if(i%3==2){gamer3.add(poker);}}//看牌的方法lookpoker("李白",gamer1);lookpoker("白居易",gamer2);lookpoker("杜甫",gamer3);lookpoker("底牌",dipai);}public static void lookpoker(String name,ArrayList<String> array){System.out.println(name+"的牌是:");for(String poker:array){System.out.print(poker+" ");}System.out.println();}
}

记录时间:2020年11月19日

Java的ArrayList集合使用---唐代诗人斗地主!!!相关推荐

  1. java print快捷键_Java的ArrayList集合使用---唐代诗人斗地主!!!

    一.集合如何实现斗地主? 我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步! 创建牌盒,定义一个集合对象,用ArrayList实现 往牌盒里装 ...

  2. java基础 ArrayList集合基本方法演示

    java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator;public class ArrayLis ...

  3. 【零基础学Java】—ArrayList集合概述和基本使用(十四)

    [零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...

  4. Java双列集合之Map以及斗地主案列

    Map集合 知识点-- 概述 讲解 图文演示 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的 ...

  5. Java的ArrayList集合_JAVA之ArrayList集合

    /** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { /** ...

  6. (Java)ArrayList集合

    ArrayList集合概述和基本使用 ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 数组的长度不可以发生改变,但是ArrayList的长度是可以随时变化的 对于Ar ...

  7. JAVA之ArrayList集合

    /**  * ArrayList集合讲解  * 集合的添加.遍历.删除  */ package com.test; import java.util.*; public class test7 { / ...

  8. Java(运用ArrayList集合)实现学生系统搜索学生信息功能

    需求: 学生信息系统:展示数据,并按照学号完成搜索学生信息(学号,姓名,年龄,班级) 测试数据: "20180302","叶孤城",23,"护理一班& ...

  9. java使用Arraylist集合完成图书馆添加并查找书本功能

    输入书本名称,价格,对书本自动编号,可根据书本名称,编号,价格查找相应书本 Book类 public class Book {private int id;private static int sid ...

最新文章

  1. Linux 命令 alternatives和update-alternatives
  2. python序列类型-python-序列类型
  3. spring文件下载记录
  4. ic卡复制软件_使用MCT复制IC卡0扇区的方法(适用于NFC手机复制或模拟门禁卡)...
  5. rxjs 里的pipe operator
  6. Linux打包软件版本带时间,带你写一个 linux 下的打包软件 tar
  7. LeetCode 26. Remove Duplicates from Sorted Array
  8. 3DMAX安装包及近百GB素材资源,以及3D游戏建模教程
  9. 真假难辨!全球首位AI合成女主播正式上岗 引发全球媒体圈关注
  10. RS232电平 RS485电平 RS422电平 TTL电平
  11. hackbar 使用教程_hackbar简单安装使用教程
  12. floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
  13. 基于Java保险员工管理系统的设计与实现
  14. 移植LLDP协议到mips架构设备
  15. 计算机没有显示插入的移动硬盘,电脑插入移动硬盘没有显示的解决办法
  16. 伦斯勒理工学院计算机科学专业强吗,伦斯勒理工学院计算机专业申请条件(附案例)...
  17. 小米手机用什么耳机音质好?发烧级音质蓝牙耳机推荐
  18. 百度“好看”与字节“西瓜”之间,差了几个B站?
  19. 【7W字长文】使用LVS+Keepalived实现Nginx高可用,一文搞懂Nginx
  20. APP加PHP扫码识别,为了找到好用的扫描应用,我试了这几款 App

热门文章

  1. wordpress漏洞工具_40个有用的工具来管理和发展您的WordPress博客(已更新)
  2. 关于 VirtualBox6 下的 Win10 虚拟机 与 宿主机 共享文件
  3. YOLOv4 论文阅读笔记
  4. python 医学文献检索(包括文献图片中的文字)
  5. 一个java程序员的年终总结
  6. 你不得不知道的反射(非常重要)
  7. JDBC学习总结 -- JDBC 快速入门 教程
  8. 关于网联平台的出世,有必要解释清楚这几个问题
  9. 使用TTS实现Oracle跨版本迁移
  10. 9. JSP - 核心标签库