- 浏览: 114285 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
小布丁丶:
一个简单的问题非要整这么复杂
extjs grid 根据条件禁用选中 -
kylewebgame:
不错啊,做一个线程定时保存,不知道记录后如何做查询呢?或者怎样 ...
一个日志管理设计类
/** * * @Title: Controller.java * @Package cn.com.starit.servlet * @Description: TODO(用一句话描述该文件做什么) * @author gt * @date 2012-7-8 下午08:57:39 * @copyright STARIT */ package cn.com.starit.servlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 发牌主程序 * */ public class Controller { /** * @Title: main * @Description: TODO(这里用一句话描述这个方法的作用) * @param args * @return void * @throws */ public static void main(String[] args) { Player p1=new Player(1,"huang"); Player p2=new Player(2,"zhou"); Player p3=new Player(3,"li"); Player []players={p1,p2,p3}; List<Card> cards=new ArrayList<Card>(); //除了大王和小王分别加入到Card中 牌的数目为13*4 for(int rank=Card.THREE;rank<=Card.DEUCE;rank++){ cards.add(new Card(rank,Card.DIAMOND)); cards.add(new Card(rank,Card.HEART)); cards.add(new Card(rank,Card.CLUB)); cards.add(new Card(rank,Card.SPADE)); } //加入大小王 牌的数目为2 cards.add(new Card(Card.BLACK,Card.JOKER)); cards.add(new Card(Card.COLOR,Card.JOKER)); //统计牌数一共是54=13*4+2 System.out.println(cards.size()); //就是随机打乱原来的顺序,和洗牌一样 Collections.shuffle(cards); //给玩家发牌 for(int i=0;i<players.length;i++){ for (int j = 0; j < 17; j++) { //cards.remove(0) 一张一张的获取牌数 每次获取17张牌 players[i].getList().add(cards.remove(0)); } } //玩家获得牌 for (int i = 0; i < players.length; i++) { System.out.println(players[i].getName()+players[i].getList()); } System.out.println("剩余牌数"); for(int i=0;i<cards.size();i++){ System.out.print(cards.get(i)+" "); } } }
/** * * @Title: Player.java * @Package cn.com.starit.servlet * @Description: TODO(用一句话描述该文件做什么) * @author gt * @date 2012-7-8 下午08:56:41 * @copyright STARIT */ package cn.com.starit.servlet; import java.util.ArrayList; import java.util.List; /** * 玩家 * */ public class Player { private int id; private String name; //用来存储玩家的Card private List<Card> list=new ArrayList<Card>(); public void add(Card card){ list.add(card); } public Player() { } public Player(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Card> getList() { return list; } public void setList(List<Card> list) { this.list = list; } }/** * * @Title: Card.java * @Package cn.com.starit.servlet * @Description: TODO(用一句话描述该文件做什么) * @author gt * @date 2012-7-8 下午08:56:11 * @copyright STARIT */ package cn.com.starit.servlet; /** * 扑克牌类 * */ public class Card { // 点数 public static final int THREE = 0; public static final int FOUR = 1; public static final int FIVE = 2; public static final int SIX = 3; public static final int SEVEN = 4; public static final int EIGHT = 5; public static final int NINE = 6; public static final int TEEN = 7; public static final int JACK = 8; public static final int QUEEN = 9; public static final int KING = 10; public static final int ACE = 11; public static final int DEUCE = 12; public static final int BLACK = 13; public static final int COLOR = 14; // 花色 // 方块 public static final int DIAMOND = 0; // 红桃 public static final int HEART = 1; // 梅花 public static final int CLUB = 2; // 黑桃 public static final int SPADE = 3; // 王 public static final int JOKER = 4; // 花色 public static String[] suit_names = { "方块", "红桃", "梅花", "黑桃", "王" }; public static String[] rank_names = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2", "小", "大" }; // 点数 private int rank; // 花色 private int suit; public Card() { } public Card(int rank, int suit) { setRank(rank); setSuit(suit); } public int getRank() { return rank; } public void setRank(int rank) { if (Card.THREE > rank || rank > Card.COLOR) throw new RuntimeException("超了"); this.rank = rank; } public int getSuit() { return suit; } public void setSuit(int suit) { if (Card.DIAMOND > suit || suit > Card.JOKER) throw new RuntimeException("超了"); this.suit = suit; } @Override public String toString() { if(rank_names[rank]=="小"){ return rank_names[rank]+suit_names[suit]; } else if(rank_names[rank]=="大"){ return rank_names[rank]+suit_names[suit]; } return suit_names[suit] + rank_names[rank]; } }
发表评论
-
使用BeanUtils时,遇到日期类型的空值时会抛错的解决办法
2013-03-14 16:46 868public class BeanUtilEx exten ... -
Oracle 计算两个时间的差值
2012-11-08 20:26 2557Oracle 计算两个时间的差值 有两个日期数据STA ... -
一个日志管理设计类
2012-07-23 20:10 1301public class LogDataQueue { ... -
JDBC操作数据库的步骤
2012-07-08 21:49 1098#传统JDBC访问数据库步骤 》通过Cla ... -
java 分页类
2012-07-08 21:37 871package com.iflytek.hr.model ... -
面向对象设计1
2012-02-19 16:02 843我要去新疆 面向过程:注重过程,进过什么地方到达新疆,例如过 ... -
Java的内存知识梳理
2012-02-18 10:42 938栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范 ... -
试用的管理进程的Java类
2012-02-16 15:01 1189进程的基本信息类 public class ProcessD ... -
定时任务类统一接口以及实现(1)
2012-02-15 19:22 1121public interface ITaskRunner { ... -
初始化容器编写的类
2012-02-15 19:03 903public interface Initializer { ... -
IO流的讲解
2012-02-14 15:54 880关于IO流讲解的一篇不错文章 http://blog.csdn ... -
Java中getResourceAsStream的用法
2012-02-07 14:58 1079三种写法: 1.“ / ”代表了工程的根目录,例如工 ... -
练习对XML文件的操作
2011-12-24 16:50 895初步练习下java对XML文件的操作,加深下记忆而已,代码如下 ...
相关推荐
【标题】:“java斗地主发牌小程序” 这个程序的核心是使用Java编程语言实现一个简单的斗地主发牌逻辑。斗地主是一款流行的扑克牌游戏,通常需要一副54张的扑克牌,包括52张普通牌(四种花色,每种13张,从3到A)和...
java 斗地主发牌程序代码,包括测试打印程序,属于游戏类开发部分代码。
java运用hashmap进行发牌,若有乱码请修改文件的编码格式为UTF-8
【Java斗地主发牌课程设计】是一个典型的Java编程项目,旨在帮助学生理解面向对象编程、数据结构和算法的应用。这个课程设计的核心是实现斗地主游戏中的发牌功能,通过编写Player类和Landlords类来模拟游戏流程。 ...
斗地主发牌程序,希望大家 多多下载吧!好东西要分享
在本文中,我们将深入探讨如何使用Java编程语言实现斗地主游戏中的发牌与手牌排序功能。斗地主是一款广受欢迎的扑克牌游戏,它需要严谨的逻辑和策略来确保游戏的公平性和流畅性。对于初学者而言,理解并实现这些功能...
一个实现斗地主洗牌发牌的java小程序,主要用了hashmap,Arraylist等java常用类,适合初学者学习
本篇将深入探讨这个Java源码中的核心概念,包括游戏界面设计与发牌算法。 首先,我们要了解Java在图形用户界面(GUI)开发中常用的工具包——Java Swing或JavaFX。在这个项目中,很可能使用了Swing来创建斗地主的...
1)、将一副牌封装进入Map集合中,键为0-53的Integer数据,值为字符串 2)、洗牌:将Map集合的...3)、发牌:发给三个人,就是三个List加一个底牌的List 4)、看牌:将三人的List和底牌List的值进行排序(从大到小)
同时,还需要`Game`类来管理整个游戏流程,包括发牌、判断输赢、处理出牌逻辑等。 3. **牌型定义**:斗地主中的牌型包括单张、对子、三张、三带一、三带二、顺子、飞机、炸弹等。每种牌型需要在代码中进行精确的...
在本文中,我们将深入探讨如何实现斗地主游戏中的洗牌和发牌算法。这是一个非常适合初学者学习编程逻辑和算法的实例,特别是对于Java编程语言的学习者。斗地主是一种广受欢迎的扑克游戏,通常由三名玩家进行,每名...
《深入解析J2ME斗地主发牌源码》 在移动通信技术发展的早期阶段,J2ME(Java 2 Micro Edition)是广泛应用于手机游戏开发的平台之一。本篇文章将详细探讨“j2me斗地主发牌源码”的核心机制,帮助读者理解其背后的...
在Java编程语言中,"斗地主发牌"是一个典型的示例,用于教授和实践基本的面向对象编程概念,如构造函数、对象数组以及for-each循环。斗地主是一种广受欢迎的扑克游戏,通常涉及三名玩家和一副54张牌的牌组。在这个...
在Java编程语言中,模拟斗地主游戏的洗牌、发牌和看牌过程是一项有趣的实践,这有助于加深对集合框架的理解。在这个项目中,主要使用了三种集合类:HashMap、ArrayList和TreeSet,它们各自有其独特的特性和用途。 ...
使用JAVAScript实现模仿斗地主发牌程序,使用公司同事的昵称。在Java中使用随机授权函数。Java. Util. Random (),通过循环比对来删除重复的随机值。冗余性太大,我很抱歉。 Use JAVAScript to achieve imitation ...
根据给定的信息,本文将详细解析一个用于模拟斗地主发牌过程的Java程序,并从中提炼出相关的IT知识点。 ### 标题:“一个扑克牌游戏斗地主发牌程序” 该标题表明这是一个针对斗地主游戏发牌逻辑的程序设计案例。...
以下是对"史上最全斗地主发牌代码实现"的详细解读: 首先,我们来探讨斗地主发牌的逻辑。在Java编程中,可以创建一个`Card`类来表示扑克牌,它通常包含两个属性:牌面(Face)和花色(Suit)。牌面可能的值有数字2...
在Java编程中,模拟实现斗地主发牌小程序是一个有趣且实用的练习,它涉及到数据结构、随机化以及逻辑控制等多个方面。以下是对这个程序的详细解析: 首先,我们需要了解斗地主游戏的基本规则。一副完整的扑克牌共有...