package poker;/*** <p>Title: 斗地主</p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2004</p>* <p>Company: </p>* author 艳生* version 1.0*/import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.*;public class CallPokerDialog extends JDialog{JButton btnOne = new JButton();JButton btnTwo = new JButton();JButton btnThree = new JButton();JButton btnFour = new JButton();int score = PokerKernal.score;public CallPokerDialog() {try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void jbInit() throws Exception {this.setSize(new Dimension(330, 80));//居中显示Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width - 330)/2,(screenSize.height - 80)/2);this.setModal(true);this.setResizable(false);this.setTitle("请叫牌");if(score==1){btnOne.setBackground(Color.pink);}else if(score==2){btnOne.setBackground(Color.pink);btnTwo.setBackground(Color.pink);}btnOne.setBounds(new Rectangle(11, 16, 67, 25));btnOne.setText("1分");btnOne.addActionListener(newCallPokerDialog_btnOne_actionAdapter(this));this.getContentPane().setLayout(null);btnTwo.setBounds(new Rectangle(82, 17, 73, 25));btnTwo.setText("2分");btnTwo.addActionListener(newCallPokerDialog_btnTwo_actionAdapter(this));btnThree.setBounds(new Rectangle(161, 17, 73, 25));btnThree.setText("3分");btnThree.addActionListener(newCallPokerDialog_btnThree_actionAdapter(this));btnFour.setBounds(new Rectangle(240, 16, 73, 25));btnFour.setSelected(false);btnFour.setText("不要");btnFour.addActionListener(newCallPokerDialog_btnFour_actionAdapter(this));this.getContentPane().add(btnOne, null);this.getContentPane().add(btnTwo, null);this.getContentPane().add(btnThree, null);this.getContentPane().add(btnFour, null);}void btnOne_actionPerformed(ActionEvent e) {if(score<1){PokerKernal.score = 1;PokerKernal.two.call = 1;this.dispose();}}void btnTwo_actionPerformed(ActionEvent e) {if(score<2){PokerKernal.two.call = 2;PokerKernal.score = 2;this.dispose();}}void btnThree_actionPerformed(ActionEvent e) {if(score<3){PokerKernal.two.call = 3;PokerKernal.score = 3;this.dispose();}}void btnFour_actionPerformed(ActionEvent e) {this.dispose();}}class CallPokerDialog_btnOne_actionAdapter implements java.awt.event.ActionListener {CallPokerDialog adaptee;CallPokerDialog_btnOne_actionAdapter(CallPokerDialog adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.btnOne_actionPerformed(e);}}class CallPokerDialog_btnTwo_actionAdapter implements java.awt.event.ActionListener {CallPokerDialog adaptee;CallPokerDialog_btnTwo_actionAdapter(CallPokerDialog adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.btnTwo_actionPerformed(e);}}class CallPokerDialog_btnThree_actionAdapter implements java.awt.event.ActionListener {CallPokerDialog adaptee;CallPokerDialog_btnThree_actionAdapter(CallPokerDialog adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.btnThree_actionPerformed(e);}}class CallPokerDialog_btnFour_actionAdapter implements java.awt.event.ActionListener {CallPokerDialog adaptee;CallPokerDialog_btnFour_actionAdapter(CallPokerDialog adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.btnFour_actionPerformed(e);}}package poker;/*** <p>Title: 斗地主</p>* <p>Description: 牌类</p>* <p>Copyright: Copyright (c) 2004</p>* <p>Company: </p>* author 艳生* version 1.0*/import java.awt.*;import java.awt.image.*;public class Card {//牌名称private String name;//牌点数private int dot;//牌图片private Image img;public Card() {name = "";dot = 0;img = null;}public Card(String name, int dot, Image img) { = name;this.dot = dot;this.img = img;}public int getDot() {return dot;}public Image getImg() {return img;}public String getName() {return name;}public void setName(String name) { = name;}public void setImg(Image img) { this.img = img;}public void setDot(int dot) { this.dot = dot;}}package poker;/*** <p>Title: 斗地主</p>* <p>Description: 牌操作</p>* <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p>* author 艳生* version 1.0*/import java.awt.*;import java.awt.Graphics2D;import java.util.*;import java.awt.event.*;import javax.swing.*;import .URL;import .URLClassLoader;public class CardOperation {//所有牌对象集public static Vector cards = new Vector();public CardOperation() {}/**加载扑克图片*/public static void loadCards(Component cmp){//s--黑桃(spade) h--红桃(hearts) c--梅花(club) d--方块(diamond)String name[] = {"s","h","c","d"};String dot[] = {"3","4","5","6","7","8","9","10","j","q","k","a","2"};//权值int power[] = {3,4,5,6,7,8,9,10,11,12,13,14,15};URLClassLoader urlLoader = (URLClassLoader)cmp.getClass().getClassLoader();URL fileLoc = null;Card card = null;//先读52牌for(int i=0; i<4;i++){for(int j=0;j<13;j++){fileLoc = urlLoader.findResource("cards/"+name[i]+dot[j]+".jpg");card = new Card(name[i]+dot[j], power[j], cmp.getToolkit().createImage(fileLoc));cards.addElement(card);}}//再读大小王fileLoc = urlLoader.findResource("cards/b.jpg");card = new Card("b",200,cmp.getToolkit().createImage(fileLoc));cards.addElement(card);fileLoc = urlLoader.findResource("cards/s.jpg");card = new Card("s",100,cmp.getToolkit().createImage(fileLoc));cards.addElement(card);//牌背景fileLoc = urlLoader.findResource("cards/bg.jpg");card = new Card("bg",0,cmp.getToolkit().createImage(fileLoc));cards.addElement(card);//初始化Card c = new Card();for(int i=0;i<54;i++){PokerKernal.postCards.addElement(c);}for(int i=0;i<20;i++){PokerKernal.oneCards.addElement(c);PokerKernal.twoCards.addElement(c);PokerKernal.threeCards.addElement(c);PokerKernal.selectCards.addElement(c);}PokerKernal.master = "one";}package poker;import javax.swing.*;import java.awt.*;import java.awt.event.*;/*** <p>Title: 斗地主</p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2004</p>* <p>Company: </p>* author 艳生* version 1.0*/public class HelpDialog extends JDialog {JTextArea txtHelp = new JTextArea();JButton btnOK = new JButton();public HelpDialog() throws HeadlessException {try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void jbInit() throws Exception {//居中显示Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width - 450)/2,(screenSize.height - 350)/2);this.setSize(new Dimension(450, 350));this.setModal(true);this.setResizable(false);this.setTitle("游戏规则");txtHelp.setBackground(Color.black);txtHelp.setForeground(Color.green);txtHelp.setText("该游戏由三人玩一副牌,地主为一方,其余两家为一方,\n"+"双方对战,先出完的一方为胜。