2、这样a[0][0]就是红让升销桃2,a[12][3]就是梅花A
按照这么来随机发牌就很简单了,直接随机个一个a[i][j]就可以了。i和j都分别在笑族13和4以内
思路明确了,代码还是自己坦游写比较好
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) {
LinkedList<Integer> card = new LinkedList<Integer>()
int max = 108
Random r = new Random()
/*下边的代码是定义一副牌*/
for(int i = 0i < 8++i)
for(int j = 1j <= 13++j)
card.add(j)
for(int k = 0k < 2++k){
card.add(14)
card.add(15)
}
Player[] p = new Player[6]//定义六个玩家
for(int i = 0i<6++i){
p[i] = new Player()
}
while(max > 0){//发牌
for(int m = 0m<6++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 = 0w<稿键6++w)
pp[w] = p[w].pairs()
Arrays.sort(pp)
for(int e = 0e<6++e){
if(p[e].pairs()==pp[5])
System.out.println("第"+e+"位玩家获胜了")
}
}
}
class Player{
public LinkedList<Integer> myCard
public String name
public Player(){
myCard = new LinkedList<Integer>()
}
public int pairs(){
int sum = 0
if(myCard != null){
LinkedList<Integer> tempCard = myCard
Iterator<Integer> it = tempCard.iterator()
int in = 0
if(myCard != null){
while(it.hasNext()){
it.next()
++in
}
int c =-1
for(int i = 0i <改饥 in++i){
if(i == c)
continue
for(int j = i+1j<in++j){
if((int)tempCard.get(i) == (int)tempCard.get(j)){
++sum
c = j
break
}
}
}
}
}
return sum
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)