⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 card.java

📁 扑克牌的发牌:按一定的规则四人玩牌;谁赢了先给谁发牌 (默认先给主人公控制的人发牌)2.扑克牌的出牌:谁拿了红桃4,谁先出;出牌规则
💻 JAVA
字号:
import java.awt.geom.*;import java.awt.*;import java.awt.image.*;/** * Card Class *  * @author Sam Cavenagh * @version 5/11/02 *  * Website: http://home.pacific.net.au/~cavenagh/SH/ * Email: cavenaghweb@hotmail.com */public class Card{    //Reference at bottom of class    int cardSuit;    int cardValue;    int cardNumber;    BufferedImage cardPic;    Image cardSideWays;    int picX;    int picY;    //for drawing card    SHinterface sh;    Graphics g;    public Card(int cardNumber, Image cardspic, SHinterface sh, Graphics g)    {    this.cardNumber = cardNumber;    this.sh = sh;    this.g = g;    cardPic = new BufferedImage(71, 96, Transparency.BITMASK);    Graphics tempg = cardPic.getGraphics();    cardSideWays = new BufferedImage(96, 71, Transparency.BITMASK);    getCardDetails(cardspic, tempg);    }    public void drawCard(Point p)    {    g.drawImage(cardPic, (int)p.getX(), (int)p.getY(), sh);    }    public void drawCard2(int x, int y)    {    g.drawImage(cardPic, x, y, sh);    }    public void drawSideWays(Point p)    {    g.drawImage(cardSideWays, (int)p.getX(), (int)p.getY(), sh);    }    public void drawSideWays2(int x, int y)    {    g.drawImage(cardSideWays, x, y, sh);    }    public int getSuit()    {    return cardSuit;    }    public int getValue()    {    return cardValue;    }    public int getNumber()    {    return cardNumber;    }    /*--------------------------------    *   Card Code Index    *    *   SUIT:    *   1 = hearts    *   2 = spades    *   3 = diamonds    *   4 = clubs    *    *   VALUE:    *   2 - 10 = as numbers    *   11 = jack    *   12 = queen    *   13 = king    *   14 = ace    *    *-------------------------------*/    private void getCardDetails(Image cardpic, Graphics tempg)    {    int cardWidth = 73;    int cardHeight = 99;    //Finding Suit    if(cardNumber < 14)    cardSuit = 1;    else if(cardNumber >= 14 && cardNumber < 27)    cardSuit = 2;    else if(cardNumber >= 27 && cardNumber < 40)    cardSuit = 3;    else if(cardNumber >= 40 && cardNumber < 53)    cardSuit = 4;    //Finding Value    if(cardSuit == 1)    cardValue = cardNumber + 1;     else if(cardSuit == 2)    cardValue = cardNumber - 12;    else if(cardSuit == 3)    cardValue = cardNumber - 25;    else if(cardSuit == 4)    cardValue = cardNumber - 38;    //seperating card image from other card images    tempg.drawImage(cardpic, -(cardValue - 2)*cardWidth, -(cardSuit - 1)*cardHeight, sh);     //rotating card image to create sideways card image     Graphics tempg2 = cardSideWays.getGraphics();     Graphics2D g2d = (Graphics2D)tempg2;     AffineTransform origXform = g2d.getTransform();     AffineTransform newXform = (AffineTransform)(origXform.clone());     newXform.rotate(Math.toRadians(-90), 50, 50);     g2d.setTransform(newXform);     //draw image     g2d.drawImage(cardPic, 29, 0, sh);     g2d.setTransform(origXform);    }    public String getStringValue()    {    switch(cardValue){        case 2:            return "Two";        case 3:            return "Three";        case 4:            return "Four";        case 5:            return "Five";        case 6:            return "Six";        case 7:            return "Seven";        case 8:            return "Eight";        case 9:            return "Nine";        case 10:            return "Ten";        case 11:            return "Jack";        case 12:            return "Queen";        case 13:            return "King";        case 14:            return "Ace";        default:             return "Unknown";    }    }    public static String getCardStringValue(int cardNumber)    {    int cardSuit = 0;    int cardValue = 0;    //Finding Suit    if(cardNumber < 14)    cardSuit = 1;    else if(cardNumber >= 14 && cardNumber < 27)    cardSuit = 2;    else if(cardNumber >= 27 && cardNumber < 40)    cardSuit = 3;    else if(cardNumber >= 40 && cardNumber < 53)    cardSuit = 4;    //Finding Value    if(cardSuit == 1)    cardValue = cardNumber + 1;     else if(cardSuit == 2)    cardValue = cardNumber - 12;    else if(cardSuit == 3)    cardValue = cardNumber - 25;    else if(cardSuit == 4)    cardValue = cardNumber - 38;    switch(cardValue){        case 2:            return "Two";        case 3:            return "Three";        case 4:            return "Four";        case 5:            return "Five";        case 6:            return "Six";        case 7:            return "Seven";        case 8:            return "Eight";        case 9:            return "Nine";        case 10:            return "Ten";        case 11:            return "Jack";        case 12:            return "Queen";        case 13:            return "King";        case 14:            return "Ace";        default:             return "Unknown";    }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -