欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 用Java写斗地主前期工作的一些小想法

用Java写斗地主前期工作的一些小想法

2026/3/3 23:28:18 来源:https://blog.csdn.net/m0_52563687/article/details/146379693  浏览:    关键词:用Java写斗地主前期工作的一些小想法

目前我们并不是要实现一个游戏,而是要对斗地主游戏做准备,主要是做牌+洗牌+发牌+给发的牌进行排序。在这个过程中我希望通过集中方式来实现:

1. 使用集合+方法+字符串的运用完成以上功能

2. 使用面向对象思想,对1做改进,主要是对其排序的改进,从而理解面向对象的真正意义

3. 对2中代码再次进行简化,增强其可读性,同样的实现,可以用更简洁更省内存的方法来实现代码

实现1中的代码

package test02;
import java.util.*;
public class Entry {public static void main(String[] args) {//1.创建牌盒List<String> porkers = new ArrayList<>();//创建花色和点数String[] colors = {"♥","♠","♣","♦"};String[] pointNumbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};//将牌插入集合中for (String point : pointNumbers) {for (String color : colors) {porkers.add(color+point);}}//添加大小王porkers.add("大王");porkers.add("小王");//遍历porkershowPorker(porkers);//打乱扑克:多线程下要考虑线程安全Collections.shuffle(porkers);System.out.println("打乱后的扑克牌:");showPorker(porkers);//2.创建三个玩家集合和一个底牌集合List<String> play1 = new ArrayList<>();List<String> play2 = new ArrayList<>();List<String> play3 = new ArrayList<>();List<String> bottomPorkers = new ArrayList<>();//发牌for (int i = 0; i < porkers.size(); i++) {String s = porkers.get(i);if (i>=porkers.size()-3){//获取底牌bottomPorkers.add(s);}else if (i%3==0){//剩下的牌中可以被3整除的索引值给第一位玩家play1.add(porkers.get(i));} else if (i%3==1) {//剩下的牌中可以被3整除余1的索引值给第一位玩家play2.add(s);}else if (i%3==2){play3.add(s);}}//查看每一位玩家的牌System.out.println("玩家1的牌");showPorker(play1);System.out.println("玩家2的牌");showPorker(play2);System.out.println("玩家3的牌");showPorker(play3);System.out.println("底牌");showPorker(bottomPorkers);//随机选择地主,将底牌给地主玩家Random ra = new Random();int dz = ra.nextInt(3)+1;switch (dz){case 1:System.out.println("选中玩家1为地主");play1.addAll(bottomPorkers);break;case 2:System.out.println

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词