栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java学习】使用ArrayList集合模拟斗地主的实现<一>(五)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java学习】使用ArrayList集合模拟斗地主的实现<一>(五)

目录
    • 前言
    • 一,模拟斗地主效果展示
    • 二,模拟斗地主实现前准备
    • 三,模拟斗地主的实现
    • 四,知识点总结
      • Collection类

前言

感谢大家一直以来对我的相信和支持,以后的我一定会产出更为高质量的博客的!现在让我们一起学习如何实现模拟斗地主的操作吧!

一,模拟斗地主效果展示

一想到斗地主,大家脑海中一定会浮现出花花绿绿的页面:,何况我们马上要模拟斗地主的实现,但是身为初学者,要开始面对idea的控制栏了( ̄_, ̄ )
让我们先来观察一下每个人的牌的好坏(x_x;)(bushi ᕕ( ᐛ )ᕗ

二,模拟斗地主实现前准备

要实现上图模式,首先要克服如此三个问题:

1,如何让四个字符与数字相匹配
2,如何把牌打乱
3,如何把牌分为三份并给与三个人

如何解决:

  1. 我们首先可以创建字符串集合
  2. 然后使用ArrayList集合来解决第一个匹配问题

由于**ArrayList的特性**
我们可以遍历集合把字符和数字拼接到一起放入集合中

  1. 为了解决第二个问题,我们就要引入Collections类

Collection类是针对集合操作的工具类
Collections的使用方法如下:

//Collections的使用方法:
public static > void sort(Listlist)
//将指定的列表按升序排列
public static void reverse(Listlist)
//翻转指定列表中元素的顺序
public static void shuffle(Listlist)
//使用默认随机源,随机排列指定列表
  1. 为了解决第三个问题,我们要创建多个不同集合,然后分别给集合添加拼接到一起的元素

有了如此解决方法,我们就可以开始着手实现项目的搭建了!(´ー∀ー`)

三,模拟斗地主的实现

直接使用ArrayList实现问题的解决方法:

import java.util.ArrayList
public class PlayPoker {
    public static void main(String[] args) {
        ArrayList Poker = new ArrayList();
        //创建Poker集合用来存放拼接好的字符
        String[] colors = {"♥", "♣", "♦", "♠"};//字符串实现花色
        String[] numbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};//字符串实现数字
        for (String color : colors) {
            for (String number : numbers) {
            //使用嵌套循环让字符和数字拼接到一起放入集合中
                Poker.add(color + number);
            }
        }
        Poker.add("大王");
        Poker.add("小王");
        Collections.shuffle(Poker);//使用默认随机源,随机排列指定列表
        
        ArrayList zsarray = new ArrayList<>();//张三
        ArrayList lsarray = new ArrayList<>();//李四
        ArrayList wwarray = new ArrayList<>();//王五
        ArrayList dparray = new ArrayList<>();//底牌
		//分别创建各自的集合
		
        for (int i = 0; i < Poker.size(); i++) {
        //循环遍历后分别放入各自的集合
            String pokers = Poker.get(i);
            if (i >= Poker.size() - 3) {
            //底牌的判断方法
                dparray.add(pokers);
            } else if (i % 3 == 1) {
                zsarray.add(pokers);
            } else if (i % 3 == 2) {
                lsarray.add(pokers);
            } else {
                wwarray.add(pokers);
            }
        }
        //因为每个人的查看牌的方式相同,定义一个方法来实现看牌
        lookpoker("张三", zsarray);
        lookpoker("李四", lsarray);
        lookpoker("王五", wwarray);
        lookpoker("底牌", dparray);
    }

    public static void lookpoker(String name, ArrayList Pokers){
        System.out.println(name + "的牌是" + Pokers);
    }
}

四,知识点总结 Collection类

***Collection类***是针对集合操作的工具类
使用方法:
1,public static > void sort(Listlist)将指定的列表按升序排列
2,public static void reverse(Listlist)翻转指定列表中元素的顺序
3,public static void shuffle(Listlist)使用默认随机源,随机排列指定列表

各位大佬们,如果发现什么不对的地方,需要修改的地方,还请在评论区指出。
一起学习,共同进步!( ̄▽ ̄)~■干杯□~( ̄▽ ̄)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/843095.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号