斗地主发牌系统
主类
package com.softeem.text;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
public class DouDiZhu {
static List<Card> list = new ArrayList<Card>();
static Scanner sc = new Scanner(System.in);
static Random r = new Random();
static Player a1 = new Player(1, "玩家1");
static Player a2 = new Player(2, "玩家2");
static Player a3 = new Player(3, "玩家3");
/**牌的数据*/
{
list.add(new Card("A", "红心"));
list.add(new Card("A", "黑桃"));
list.add(new Card("A", "梅花"));
list.add(new Card("A", "方块"));
list.add(new Card("2", "红心"));
list.add(new Card("2", "黑桃"));
list.add(new Card("2", "梅花"));
list.add(new Card("2", "方块"));
list.add(new Card("3", "红心"));
list.add(new Card("3", "黑桃"));
list.add(new Card("3", "梅花"));
list.add(new Card("3", "方块"));
list.add(new Card("4", "红心"));
list.add(new Card("4", "黑桃"));
list.add(new Card("4", "梅花"));
list.add(new Card("4", "方块"));
list.add(new Card("5", "红心"));
list.add(new Card("5", "黑桃"));
list.add(new Card("5", "梅花"));
list.add(new Card("5", "方块"));
list.add(new Card("6", "红心"));
list.add(new Card("6", "黑桃"));
list.add(new Card("6", "梅花"));
list.add(new Card("6", "方块"));
list.add(new Card("7", "红心"));
list.add(new Card("7", "黑桃"));
list.add(new Card("7", "梅花"));
list.add(new Card("7", "方块"));
list.add(new Card("8", "红心"));
list.add(new Card("8", "黑桃"));
list.add(new Card("8", "梅花"));
list.add(new Card("8", "方块"));
list.add(new Card("9", "红心"));
list.add(new Card("9", "黑桃"));
list.add(new Card("9", "梅花"));
list.add(new Card("9", "方块"));
list.add(new Card("10", "红心"));
list.add(new Card("10", "黑桃"));
list.add(new Card("10", "梅花"));
list.add(new Card("10", "方块"));
list.add(new Card("J", "红心"));
list.add(new Card("J", "黑桃"));
list.add(new Card("J", "梅花"));
list.add(new Card("J", "方块"));
list.add(new Card("Q", "红心"));
list.add(new Card("Q", "黑桃"));
list.add(new Card("Q", "梅花"));
list.add(new Card("Q", "方块"));
list.add(new Card("K", "红心"));
list.add(new Card("K", "黑桃"));
list.add(new Card("K", "梅花"));
list.add(new Card("K", "方块"));
list.add(new Card("A", "红心"));
list.add(new Card("A", "黑桃"));
list.add(new Card("A", "梅花"));
list.add(new Card("A", "方块"));
list.add(new Card("A", "红心"));
list.add(new Card("A", "黑桃"));
list.add(new Card("A", "梅花"));
list.add(new Card("A", "方块"));
list.add(new Card("A", "红心"));
list.add(new Card("A", "黑桃"));
list.add(new Card("A", "梅花"));
list.add(new Card("A", "方块"));
list.add(new Card("A", "红心"));
list.add(new Card("A", "黑桃"));
list.add(new Card("A", "梅花"));
list.add(new Card("A", "方块"));
list.add(new Card("大王"));
list.add(new Card("小王"));
}
/**开始
* */
public void start() {
System.out.println("-----斗地主发牌系统---");
System.out.println("-----请先洗牌再发牌---");
System.out.println("------1.洗牌--------");
System.out.println("------2.发牌--------");
System.out.print("请输入操作指令");
int a = sc.nextInt();
if (a == 1) {
xipai();
} else if (a == 2) {
fapai();
} else {
System.out.println("输入有误请重新输入");
start();
}
}
/** 洗牌 */
private void xipai() {
start();
}
/** 发牌 */
private void fapai() {
paiduan();
if (paiduan() == 1) {
System.out.println(a1.getName() + "\t" + "身份:地主");
for (int i = 0; i < 54; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
if (i == 51) {
i = i - 2;
}
if (i == 52) {
i = i - 2;
}
}
System.out.println();
System.out.println();
System.out.println(a2.getName() + "\t" + "身份:农民");
for (int i = 1; i < 50; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
System.out.println();
System.out.println();
System.out.println(a3.getName() + "\t" + "身份:农民");
for (int i = 2; i < 51; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
} else if (paiduan() == 2) {
System.out.println(a2.getName() + "\t" + "身份:地主");
for (int i = 0; i < 54; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
if (i == 51) {
i = i - 2;
}
if (i == 52) {
i = i - 2;
}
}
System.out.println();
System.out.println();
System.out.println(a1.getName() + "\t" + "身份:农民");
for (int i = 1; i < 50; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
System.out.println();
System.out.println();
System.out.println(a3.getName() + "\t" + "身份:农民");
for (int i = 2; i < 51; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
} else if (paiduan() == 3) {
System.out.println(a3.getName() + "\t" + "身份:地主");
for (int i = 0; i < 54; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
if (i == 51) {
i = i - 2;
}
if (i == 52) {
i = i - 2;
}
}
System.out.println();
System.out.println();
System.out.println(a2.getName() + "\t" + "身份:农民");
for (int i = 1; i < 50; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
System.out.println();
System.out.println();
System.out.println(a1.getName() + "\t" + "身份:农民");
for (int i = 2; i < 51; i = i + 3) {
if (list.get(i).getId() != null && list.get(i).getNormalCard() != null) {
System.out.print(list.get(i).getId() + list.get(i).getNormalCard() + "\t");
} else {
System.out.print(list.get(i).getBossCard() + "\t");
}
}
}
System.out.println();
System.out.println();
System.out.println("按3键重新开始斗地主:");
int f = sc.nextInt();
if (f == 3) {
xipai();
paiduan();
fapai();
}
// list.forEach(s->{
// if(s.getId()!=null&&s.getNormalCard()!=null) {
// System.out.println(s.getId()+s.getNormalCard()+"\t");
// }else {
// System.out.println(s.getBossCard()+"\t");
// }
// });
}
private int paiduan() {
int i = r.nextInt(3) + 1;
return i;
}
public static void main(String[] args) {
new DouDiZhu().start();
}
}
玩家类
package com.softeem.text;
import java.util.List;
public class Player {
private int sno;
private String name;
public Player(String name) {
super();
this.name = name;
}
public int getSno() {
return sno;
}
public void setSno(int sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Player(int sno, String name) {
super();
this.sno = sno;
this.name = name;
}
}
牌类
package com.softeem.text;
public class Card {
private String id ;
private String normalCard;
private String BossCard;
public Card(String bossCard) {
super();
BossCard = bossCard;
}
public Card(String id, String normalCard) {
super();
this.id = id;
this.normalCard = normalCard;
}
@Override
public String toString() {
return "Card [id=" + id + ", normalCard=" + normalCard + ", BossCard=" + BossCard + "]";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNormalCard() {
return normalCard;
}
public void setNormalCard(String normalCard) {
this.normalCard = normalCard;
}
public String getBossCard() {
return BossCard;
}
public void setBossCard(String bossCard) {
BossCard = bossCard;
}
}
感觉代码量有些大
实现效果是这样