脚本宝典收集整理的这篇文章主要介绍了扑克牌练习 【数据结构】,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
前言: 之前学了List常用的方法,下面就是用List来完成扑克牌练习~ 通过扑克牌这个练习,进一步来掌握 List 的一些用法!
在我们动手写代码之前,我们需要思考扑克牌应该有什么?联想到我们平时玩扑克牌
class Card{
PRivate String point; //点数
private String suIT; //花色
//提供构造方法
public Card(String point, String suit) {
this.point = point;
this.suit = suit;
}
// get set 方法
public String getPoint() {
return point;
}
public void setPoint(String point) {
this.point = point;
}
public String getSuit() {
return suit;
}
public void setSuit(String suit) {
this.suit = suit;
}
@override
public String toString() {
return "[" + this.point + this.suit + "]";
}
}
private static List<Card> buyPoker(){
List<Card> poker = new ArrayList<>();
String[] suits = {"♥","♠","♣","♦"};
//处理四种花色
for (int i = 0; i < 4; i++) {
//每种花色有 13张 牌
for (int k = 2; k <= 10; k++) {
//k 表示点数, int → String
poker.add(new Card(String.valueOf(k),suits[i]));
}
// 单独处理 J Q K A
poker.add(new Card("J",suits[i]));
poker.add(new Card("Q",suits[i]));
poker.add(new Card("K",suits[i]));
poker.add(new Card("A",suits[i]));
}
valueOf方法: 原型: public static String valueOf(int i) { return Integer.toString(i); } . 即:将 int 转换成 String
public static void main(String[] args) {
//1.创建一副牌
List<Card> poker = buyPoker();
//2.洗牌
Collections.shuffle(poker);
//3.发牌
//假设有三个玩家
//每个玩家就是 1 个 List,可把每个人的手牌放到List中,可把多个玩家再放到一个List中
//即 players表示所有玩家的手牌信息
List<List<Card>> players = new ArrayList<>();
// 而每个List又表示一个玩家的手牌信息
players.add(new ArrayList<Card>());
players.add(new ArrayList<Card>());
players.add(new ArrayList<Card>());
//开始发牌
for (int i = 0; i < 3; i++) {
for (int k = 0; k < 3; k++) {
List<Card> player = players.get(k);
player.add(poker.remove(0));
}
}
//发牌结束,可查看手牌
for (int i = 0; i < 3; i++) {
System.out.println("玩家" + i + players.get(i));
}
}
shuffle方法: . 方法原型:
public static void shuffle(List<?> list) { Random rnd = r; if (rnd == null) r = rnd = new Random(); // harMLess race. shuffle(list, rnd); } . private static Random r;
把 List 中的元素 随即打乱顺序 使用默认随机源对列表进行置换,所有置换发生的可能性都是大致相等的
以上是脚本宝典为你收集整理的扑克牌练习 【数据结构】全部内容,希望文章能够帮你解决扑克牌练习 【数据结构】所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。