📄 card.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 + -