Java模拟玩家洗牌发牌小程序
2016-08-16 13:58
489 查看
参考了网上了一些内容,自己实现了一个模拟玩家洗牌、发牌的小程序,若有问题欢迎提出,希望我们可以一起进步。QQ:767696856
(其中洗牌是直接通过集合类中的shuffle实现)
package com.cute.card;
/*
* 手牌
*/
public class Card {
public String num; //牌的数字
public String suit; //花色
public Card(String num,String suit){
this.num = num;
this.suit = suit;
}
@Override
public String toString() {
String str = suit + " " + num;
return str;
}
}
运行结果:
(其中洗牌是直接通过集合类中的shuffle实现)
package com.cute.card;
/*
* 手牌
*/
public class Card {
public String num; //牌的数字
public String suit; //花色
public Card(String num,String suit){
this.num = num;
this.suit = suit;
}
@Override
public String toString() {
String str = suit + " " + num;
return str;
}
}
package com.cute.card; /* * 玩家 */ import java.util.ArrayList; import java.util.List; public class Player { public String name; //玩家姓名 public List<Card> cards; //存储玩家手牌 public Player(String name) { this.name = name; } //获取手牌 public void getCard(Card card){ if(cards == null) cards = new ArrayList<Card>(); cards.add(card); } public String toString(){ return name + ":" + cards.toString(); } }
package com.cute.card; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class DeskOfCard { List<Card> cards; //创建一副手牌 public void initCard(){ String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; String[] suits = {"方块","梅花","红桃","黑桃"}; String[] jokers = {"小王","大王"}; cards = new ArrayList<Card>(); //先创建四种花色的牌 for(int i = 0; i<52; i++){ cards.add(new Card(nums[i%13],suits[i/13])); } //再加上大小王 cards.add(new Card("",jokers[0])); cards.add(new Card("",jokers[1])); } public static void main(String[] args) { DeskOfCard test = new DeskOfCard(); test.initCard(); //初始化 Collections.shuffle(test.cards); //洗牌 //创建玩家 Player pl1 = new Player("Cute"); Player pl2 = new Player("Jane"); Player pl3 = new Player("Katter"); //发牌 for(int i=0; i<54; i++){ if(i%3 == 0){ pl1.getCard(test.cards.get(i)); }else if(i%3 == 1){ pl2.getCard(test.cards.get(i)); }else if(i%3 == 2){ pl3.getCard(test.cards.get(i)); } } System.out.println("玩家拿到的手牌为:"); System.out.println(pl1.toString()); System.out.println(pl2.toString()); System.out.println(pl3.toString()); } }
运行结果:
相关文章推荐
- 用java编写模拟斗地主洗牌发牌程序
- 很久以前写的一个java模拟扑克牌洗牌发牌的小程序,学的知识少写的比较麻烦,不过也放上来吧
- Java程序模拟洗牌与发牌的过程
- 模拟游客一天的生活与旅游java程序代写源码
- JAVA--第十周之红绿灯的模拟程序
- 使用java程序模拟页面发送http的post请求
- java模拟--杀毒程序
- 斗牛程序,模拟四位玩家之间的玩牌过程。
- 模拟游客一天的生活与旅游java程序代写源码
- JAVA第九周任务1.编写一个模拟用户帐户的程序
- java小程序,模拟电视机和遥控
- 利用java模拟网站登录程序代码
- Java编写的模拟ATM取款机程序
- 模拟游客一天的生活与旅游java程序代写源码
- 模拟游客一天的生活与旅游java程序代写源码
- 使用java程序模拟页面发送http的post请求
- JAVA BOT程序模拟人类用户填写表单 并 发送
- 用java模拟写字板程序
- 用java模拟写字板程序
- java多线程 模拟死锁程序