「发牌java」发牌的女的叫啥
本篇文章给大家谈谈发牌java,以及发牌的女的叫啥对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用java程序编写一个发牌的程序。。。跪求了。。。。
- 2、用java写发牌程序 a.108张牌发给6个人 b.找出6个人中对子数最多的人 简洁清晰的代码
- 3、java斗地主发牌程序
- 4、用java ArrayList集合编写扑克牌洗牌与发牌
用java程序编写一个发牌的程序。。。跪求了。。。。
1、设计二维数组a[13][4],13代表2,3,4,5,...,K,A , 4代表红黑方梅 13*4=52
2、这样a[0][0]就是红桃2,a[12][3]就是梅花A
按照这么来随机发牌就很简单了,直接随机个一个a[i][j]就可以了。i和j都分别在13和4以内
思路明确了,代码还是自己写比较好
用java写发牌程序 a.108张牌发给6个人 b.找出6个人中对子数最多的人 简洁清晰的代码
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Random;
public class Licensing {
public static void main(String[] args) {
LinkedListInteger card = new LinkedListInteger();
int max = 108;
Random r = new Random();
/*下边的代码是定义一副牌*/
for(int i = 0;i 8;++i)
for(int j = 1;j = 13;++j)
card.add(j);
for(int k = 0;k 2;++k){
card.add(14);
card.add(15);
}
Player[] p = new Player[6];//定义六个玩家
for(int i = 0;i6;++i){
p[i] = new Player();
}
while(max 0){//发牌
for(int m = 0;m6;++m){
int index = r.nextInt(max);
max--;
if(max 0)
break;
Integer a = card.get(index);
card.remove(a);
p[m].myCard.add(a);
}
}
int[] pp = new int[6];
for(int w = 0;w6;++w)
pp[w] = p[w].pairs();
Arrays.sort(pp);
for(int e = 0;e6;++e){
if(p[e].pairs()==pp[5])
System.out.println("第"+e+"位玩家获胜了");
}
}
}
class Player{
public LinkedListInteger myCard;
public String name;
public Player(){
myCard = new LinkedListInteger();
}
public int pairs(){
int sum = 0;
if(myCard != null){
LinkedListInteger tempCard = myCard;
IteratorInteger it = tempCard.iterator();
int in = 0;
if(myCard != null){
while(it.hasNext()){
it.next();
++in;
}
int c =-1;
for(int i = 0;i in;++i){
if(i == c)
continue;
for(int j = i+1;jin;++j){
if((int)tempCard.get(i) == (int)tempCard.get(j)){
++sum;
c = j;
break;
}
}
}
}
}
return sum;
}
}
java斗地主发牌程序
DeckOfCards()构造函数里面,注释掉的
//deck[count]=new Card(faces[count%13],suits[count/13]);
是对的,下面那行除17是错的
另外,没有把大小王赋值到数组里
最后main函数里,打印方法错了。应该为,原本少了一个%-20s
System.out.printf("%-20s%-20s%-20s\n", myDeckOfCards.dealCard(), myDeckOfCards.dealCard(), myDeckOfCards.dealCard());
发牌完成以后剩下的3张牌就是保留的底牌
用java ArrayList集合编写扑克牌洗牌与发牌
import java.util.ArrayList;
import java.util.Random;
public class PokerDemo {
ArrayListCard poker = new ArrayListCard();
Player[] players;
int n = 4;
String[] name = {"Wang", "Zhang", "Li", "Yuan"};
public PokerDemo() {
players = new Player[n];
for(int i = 0; i players.length; i++)
players[i] = new Player(name[i]);
for(int i = 0; i 4; i++)
for(int j = 0; j 13; j++)
poker.add(new Card(i, j));
System.out.println("洗牌前: " + poker);
xipai();
System.out.println("洗牌后: " + poker);
fapai();
System.out.println("发牌后: ");
for(int i = 0; i players.length; i++)
System.out.println(players[i]);
}
public void xipai() {
Random r = new Random();
ArrayListCard tmp = new ArrayListCard();
while(!poker.isEmpty()) {
int index = r.nextInt(poker.size());
Card card = poker.get(index);
tmp.add(card);
poker.remove(index);
}
poker = new ArrayListCard(tmp);
}
public void fapai() {
int p = 0;
while(!poker.isEmpty()) {
Card card = poker.get(0);
players[p].add(card);
p = (p + 1) % n;
poker.remove(0);
}
}
public static void main(String[] args) {
new PokerDemo();
}
}
class Card {
int val, sty;
final String[] value = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
final String[] style = {"黑桃", "红心", "梅花", "方块"};
public Card(int s, int v) {
sty = s;
val = v;
}
public String toString() {
return style[sty]+ " " + value[val];
}
}
class Player {
ArrayListCard cards = new ArrayListCard();
String name;
public Player(String n) {
name = n;
}
public void add(Card card) {
cards.add(card);
}
public String toString() {
return name + ":\t" + cards;
}
}
关于发牌java和发牌的女的叫啥的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。