棋牌类算法
来源:互联网 发布:win10无网络图标 编辑:程序博客网 时间:2024/04/27 13:31
这是核心算法
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算法实现
- 棋牌游戏开发之斗地主算法点选牌
- python : 学习
- PHP优化
- Linux 2.6内核中提高网络I/O性能的新方法-epoll
- asp.net后台调用前台js脚本方法
- 最简单的用jquery实现动画的跳到顶部和底部
- 棋牌类算法
- App开发者必备的运营、原型、UI设计工具整理
- hdu 1175 连连看
- Linux终端关闭按键报警声的方法
- 解决android的adb在命令窗口运行无效问题
- Microsoft Enterprise Library 企业库5.0----Cryptography Application Block (高级)
- Js 常用正则表达式
- JDB 的简单使用
- net-snmp常见的两个错误及解决办法