91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 199KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2024-02-03
  • 語言: Java
  • 標簽: 斗地主??

資源簡介

實現電腦AI,電腦能夠拆牌,壓牌和自主出牌都能從最優解決方案中選擇。 不足: 情形 壓隊友牌情形,壓敵人牌情形 1 情形一:自己最后兩手牌時,先出幾乎不可能被壓的牌如 22,QQKKAA,(被壓牌比值為0的牌,如AAKKQQ,22等)(如果有,先出敵人不可能要的牌,如果沒有敵人不可能要的牌,那就先出較小牌)自己的所有手牌中,只有一手牌的壓牌比值不是1(如33344456,10JQKA,6)此時的策略為先 * 出被壓牌比值為0的 2 情形二: 下家是敵人只剩 1張牌時,不要出單 7情形三 如果下家是敵人,不讓順單牌 8情形四:敵人只剩一手牌時,不惜一切代價要壓牌 3 如果是隊友,如果是順牌,比如單牌,可以順牌。目前是隊友,則不出牌 4如果敵人出33,電腦567789,2,電腦不應該拆出77出牌 5最優方案不一定是一種,應該是一個List,壓牌時,應該遍歷所有的最優方案中,找出牌 6 電腦具備留一手最大牌放在倒數第二次出牌的功能 7電腦具備記牌功能,通過記牌功能,能刷新當前牌的壓牌比值,和被壓牌比值(如果已經出了222,和AAA,那么KK的被壓牌比值將0) Bug:如果單牌手數相等,應選擇出牌手數最少的方案(比如33344456,和3335,4446) 王炸彈不能直接能出就出,應該在報紙,被壓牌比值>0手數只有一手時出牌 計算是否壓牌,比如大王小王,A,6, 人家出2,或者10,11,12,13,13,14,人家出對99,能不能拆1313的問題,拆了之后 拆牌規則重構:(不需要了) 如果單牌手數>0,單牌手數越小越好 不是單牌手數越小越好,如果單牌手數<0,那么在小于0當中的出牌手數最少的最好 壓牌 單牌手數規則重構: 1 被壓牌比值()為0的可以附加抵消0.5個單牌手數(,比如222除了能帶一張單牌,由于這么出牌后,別人只能用炸彈壓牌,所以,出了之后極有可能獲得出牌權) 2 單牌或雙牌如果被壓牌比值=0,本身不視為單牌,并且可抵消0.5張單牌手數 3 要考慮自己的牌和已經出的牌 被壓牌比值算法重構:如果自己有大王,小王,那么自己出大王小王,2的被壓牌比值均為0,這樣,大王,小王,2都可以抵消一張無用單牌,也就是說如果單牌中有被壓牌比值=0的單牌,不但可以不算一手單牌,還可抵消1.5單牌;如果是之前的算法,大王都有可能被帶到333上去。 壓別人牌的時候,首先判斷能不能壓牌,如果能壓,則從單牌手數從小到大的方式遍歷 壓牌規則重構: 2222,5,6, 別人出了QQ,你這時優先考慮出22 首先從最優方案找,再找出所有的可以壓牌的方案,比較所有出牌后剩余牌的最優方案的 單牌手數,選擇出牌之后剩余牌最優方案的單牌手數最少。

資源截圖

代碼片段和文件信息

package?com.bashao.card;

import?java.awt.Point;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;

import?javax.swing.ImageIcon;
import?javax.swing.JLabel;


/**
?*?單張牌抽象類
?*?@author?Administrator
?*
?*/
public?class?BashaoCard?extends?JLabel?implements?MouseListenerComparable{

public?BashaoCard(Main?mainint?valueint?colorboolean?isOn){
this.main=main;
this.value=value;
this.color=color;
this.isOn=isOn;
this.canClick=false;
this.clicked=false;
initImagePath();
???if(this.isOn)
???? this.turnFront();
????else?{
this.turnRear();
}
this.setSize(71?96);
this.setVisible(true);
this.addMouseListener(this);
}
Main?main;
//紙牌大小(34...14是A,15是2,16是小王,17是大王)
private?int?value;
//紙牌花色(1,2,3,4,5四種花色)
private?int?color;
//圖片地址
private?String?imagePath;
//是否正面
private?boolean?isOn;

//是否可以被點擊
private?boolean?canClick;
//是否被點擊過
boolean?clicked=false;//是否點擊過
//初始化圖片路徑
private?void?initImagePath(){
int?realValue=0;
if(this.value==16){
this.imagePath=“5-1“;
}else?if(this.value==17){
this.imagePath=“5-2“;
}else?if(this.value>=14&&this.value<=15){
realValue=this.value-13;
this.imagePath=this.color+“-“+realValue;
}else{
this.imagePath=this.color+“-“+this.value;
}
}
//正面
public?void?turnFront()?{


this.setIcon(new?ImageIcon(“images/“?+?this.imagePath?+?“.gif“));
this.isOn?=?true;
}
//反面
public?void?turnRear()?{
this.setIcon(new?ImageIcon(“images/rear.gif“));
this.isOn?=?false;
}
/**
?*?判斷兩張牌是否是一張牌
?*?@param?bc
?*?@return
?*/
public?boolean?isEqual(BashaoCard?bc){
if((this.getValue()==bc.getValue())&&(this.getColor()==bc.getColor())){
return?true;
}else{
return?false;
}
}
@Override
public?void?mouseClicked(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub

}

@Override
public?void?mouseEntered(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub

}

@Override
public?void?mouseExited(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub

}

@Override
public?void?mousePressed(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub
if(canClick)
{
move();
}
}
/**
?*?讓牌向上或向下移動
?*/
public?void?move(){
Point?from=this.getLocation();
int?step;?//移動的距離
if(clicked)
step=-20;
else?{
step=20;
}
clicked=!clicked;?//反向
//當被選中的時候,向前移動一步/后退一步
Common.move(thisfromnew?Point(from.xfrom.y-step));
}
@Override
public?void?mouseReleased(MouseEvent?e)?{
//?TODO?Auto-generated?method?stub

}
public?int?getValue()?{
return?value;
}
public?void?setValue(int?value)?{
this.value?=?value;
}
public?int?getColor()?{
return?color;
}
public?void?setColor(int?color)?{
this.color?=?color;
}
public?String?getImagePath()?{
return?imagePath;
}
public?void?setImagePath(String?imagePath)?{
this.imagePath?=?imagePath;
}
public?boo

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-10-13?17:29??bashaoCard\
?????文件?????????301??2012-10-12?09:22??bashaoCard\.classpath
?????文件?????????386??2012-10-12?09:22??bashaoCard\.project
?????目錄???????????0??2012-10-13?17:29??bashaoCard\.settings\
?????文件?????????629??2012-10-12?09:22??bashaoCard\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2012-10-13?17:29??bashaoCard\bin\
?????目錄???????????0??2012-10-13?17:29??bashaoCard\bin\com\
?????目錄???????????0??2012-10-13?17:29??bashaoCard\bin\com\bashao\
?????目錄???????????0??2012-10-13?17:29??bashaoCard\bin\com\bashao\card\
?????文件????????4274??2012-10-12?17:12??bashaoCard\bin\com\bashao\card\BashaoCard.class
?????文件????????9647??2012-10-13?16:51??bashaoCard\bin\com\bashao\card\CardTypeFactory.class
?????文件????????1020??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\Common$1.class
?????文件????????3533??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\Common.class
?????文件????????1515??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\ComputerTimeThread.class
?????文件?????????714??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\ICardType.class
?????文件???????10140??2012-10-13?15:02??bashaoCard\bin\com\bashao\card\Main.class
?????文件????????5538??2012-10-13?15:51??bashaoCard\bin\com\bashao\card\OneSendCard.class
?????文件????????9146??2012-10-13?13:19??bashaoCard\bin\com\bashao\card\TimeThread.class
?????目錄???????????0??2012-10-13?17:29??bashaoCard\bin\com\bashao\card\cardTypeImpl\
?????文件????????1010??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\CardTypeString.class
?????文件????????5162??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\DoubleCardType.class
?????文件????????4522??2012-10-12?13:05??bashaoCard\bin\com\bashao\card\cardTypeImpl\FourCardType.class
?????文件????????5216??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\FourOneOneCardType.class
?????文件????????4872??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\FourTwoTwoCardType.class
?????文件????????3904??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\OneOneTwoTwoCardType.class
?????文件????????4448??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\OneTwoThreeCardType.class
?????文件????????3883??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\PlaneCardType.class
?????文件????????4908??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\PlaneOneCardType.class
?????文件????????5037??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\PlaneTwoCardType.class
?????文件????????4442??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\SingleCardType.class
?????文件????????4848??2012-10-12?09:22??bashaoCard\bin\com\bashao\card\cardTypeImpl\ThreeAndOneCardType.class
............此處省略119個文件信息

評論

共有 條評論