📄 cardoperation.java~28~
字号:
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 java.net.URL;import java.net.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"; } //洗牌 public static void shuttle(){ Random r = new Random(); int index = 0; Card c = null; for(int i=0;i<54;i++){ index = r.nextInt(54); while(index==54){ index = r.nextInt(54); } c = (Card)cards.elementAt(i); cards.setElementAt(cards.get(index), i); cards.setElementAt(c,index); } } //发牌 public static void post(){ shuttle(); int k = 0; for(int i=0;i<17;i++){ //判断第一个取牌人 if(PokerKernal.master.equalsIgnoreCase("one")){ PokerKernal.oneCards.setElementAt(cards.get(k++), i); PokerKernal.twoCards.setElementAt(cards.get(k++), i); PokerKernal.threeCards.setElementAt(cards.get(k++), i); } else if(PokerKernal.master.equalsIgnoreCase("two")){ PokerKernal.twoCards.setElementAt(cards.get(k++), i); PokerKernal.threeCards.setElementAt(cards.get(k++), i); PokerKernal.oneCards.setElementAt(cards.get(k++), i); } else if(PokerKernal.master.equalsIgnoreCase("three")){ PokerKernal.threeCards.setElementAt(cards.get(k++), i); PokerKernal.oneCards.setElementAt(cards.get(k++), i); PokerKernal.twoCards.setElementAt(cards.get(k++), i); } } PokerKernal.status = true; PokerKernal.posted = true; PokerKernal.take = false; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -