棋牌类算法
来源:互联网 发布:uplay mac版 编辑:程序博客网 时间:2024/04/27 13:26
这是核心算法
package com.veechin.java.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
import com.veechin.java.util.Card;
public class test {
public static void main(String arg[]){
Card cards[]=new Card[52];
String type[]={"红桃","黑桃","方片","梅花"};
//初始化牌类
for(int i=0;i<4;i++)
for(int j=0;j<13;j++){
cards[i*13+j]=new Card(j+1,type[i]);
}
//转变成集合
ArrayList<Card> cardset=new ArrayList<Card>(Arrays.asList(cards));
//洗牌
Collections.shuffle(cardset);
//发牌
List<Card> player_one= cardset.subList(0, 13);
List<Card> player_two= cardset.subList(13, 26);
List<Card> player_three= cardset.subList(26, 39);
List<Card> player_four= cardset.subList(39, 52);
System.out.println("Player_One的牌");
//排牌
SortedSet<Card> player_one_sorted=new TreeSet<Card>(new Comparator<Card>() {
public int compare(Card c1, Card c2) {
return c1.compareTo(c2);
}
});
player_one_sorted.addAll(player_one);
for(Card temp:player_one_sorted){
temp.getCardInfor();
}
System.out.println("Player_Two的牌");
//排牌
SortedSet<Card> player_two_sorted=new TreeSet<Card>(new Comparator<Card>() {
public int compare(Card c1, Card c2) {
return c1.compareTo(c2);
}
});
player_two_sorted.addAll(player_two);
for(Card temp:player_two_sorted){
temp.getCardInfor();
}
System.out.println("Player_Three的牌");
//排牌
SortedSet<Card> player_three_sorted=new TreeSet<Card>(new Comparator<Card>() {
public int compare(Card c1, Card c2) {
return c1.compareTo(c2);
}
});
player_three_sorted.addAll(player_three);
for(Card temp:player_three_sorted){
temp.getCardInfor();
}
System.out.println("Player_Four的牌");
//排牌
SortedSet<Card> player_four_sorted=new TreeSet<Card>(new Comparator<Card>() {
public int compare(Card c1, Card c2) {
return c1.compareTo(c2);
}
});
player_four_sorted.addAll(player_four);
for(Card temp:player_four_sorted){
temp.getCardInfor();
}
}
}
下面是牌类:
package com.veechin.java.util;
public class Card implements Comparable<Card>{
private int Size;
private String Type;
public Card(int size,String type){
this.Size=size;
this.Type=type;
}
public void getCardInfor(){
System.out.println("Size: "+Size+" Type: "+Type);
}
public int compareTo(Card other) {
if(this.Size-other.Size==0){
return 1;
}
return this.Size-other.Size;
}
}
//运行结果如下:
当然如果想作游戏的话还须要修改添加进去大小王.
- 棋牌类算法
- 棋牌类算法
- 棋牌类游戏算法
- 探讨棋牌类游戏AI算法
- 棋牌-斗牛算法
- 棋牌-21点算法
- 棋牌类游戏回放
- 棋牌源码游戏五子棋的核心算法
- MFC棋牌类游戏源代码
- javascript实现的棋牌类
- 棋牌游戏判断牌型算法---适合所有的棋牌游戏
- 棋牌游戏开发之斗地主算法点选牌
- 棋牌游戏开发之地主AI算法实现
- 棋牌游戏开发之地主算法判断牌型
- C++下棋牌游戏高性能洗牌算法
- 棋牌游戏开发之地主算法判断牌型
- 棋牌游戏开发之地主AI算法实现
- 棋牌游戏开发之斗地主算法点选牌
- 检测iPhone当前网络是不是WiFi的代码
- linux环境变量的设置
- windows系统远程登录linux系统
- java.io包的总体框架图, 便于记忆!
- 性能监控程序cacti的安装(mysql+apache+php)
- 棋牌类算法
- mvc 附加进程调试(win7)
- RPC-远程过程调用协议
- [知识精华]组合数求模
- windows系统安全问题管理
- 小数化分数2 杭电1717
- 豆瓣
- 用GDB调试程序
- java集合和equals的一次实践