📄 card.java
字号:
package de.tsr.jsol.logic;
import de.tsr.jsol.gui.IGraphicsWrapper;
import javax.microedition.lcdui.*;
import java.io.*;
public class Card implements ICard {
private int _suit;
private int _rank;
private int _state = BACK;
public static int textLocation = Graphics.LEFT|Graphics.TOP;
public static int width = 10;
public static int height = 15;
private static Image _HeatsImage;
private static Image _DiamondsImage;
private static Image _ClubsImage;
private static Image _SpadesImage;
static {
try {
_HeatsImage = Image.createImage("/Hearts.png");
_DiamondsImage = Image.createImage("/Diamonds.png");
_ClubsImage = Image.createImage("/Clubs.png");
_SpadesImage = Image.createImage("/Spades.png");
}
catch( IOException ex ) {
}
}
public Card( int suit, int rank ) {
_suit = suit;
_rank = rank;
}
public int Suit() {
return _suit;
}
public int Rank() {
return _rank;
}
public void Paint( IGraphicsWrapper g ) {
g.clearRect( 0,0,width,height);
switch (_state) {
case FRONT:
PaintFront( g );
break;
case BACK :
PaintBack( g );
break;
default :
throw new RuntimeException("kein Status in Karte gesetzt.");
}
}
private void PaintFront( IGraphicsWrapper g ) {
String cardText = "";
Image suit = null;
switch (_suit) {
case HEARTS:
if( _HeatsImage == null )
cardText = "H";
else
suit = _HeatsImage;
break;
case DIAMONDS:
if( _DiamondsImage == null )
cardText = "D";
else
suit = _DiamondsImage;
break;
case CLUBS:
if( _ClubsImage == null )
cardText = "C";
else
suit = _ClubsImage;
break;
case SPADES:
if( _SpadesImage == null )
cardText = "S";
else
suit = _SpadesImage;
break;
}
switch (_rank) {
case ACE:
cardText += "A";
break;
case TWO:
cardText += "2";
break;
case THREE:
cardText += "3";
break;
case FOUR:
cardText += "4";
break;
case FIVE:
cardText += "5";
break;
case SIX:
cardText += "6";
break;
case SEVEN:
cardText += "7";
break;
case EIGHT:
cardText += "8";
break;
case NINE:
cardText += "9";
break;
case TEN:
cardText += "10";
break;
case JACK:
cardText += "J";
break;
case QUEEN:
cardText += "Q";
break;
case KING:
cardText += "K";
break;
}
if( _suit == HEARTS || _suit == DIAMONDS ) {
g.setColor(255,0,0);
}
g.drawRect(0,0,width, height);
if( suit == null ) {
g.drawString( cardText, 1,1, textLocation);
}
else {
g.drawImage( suit, 1, 1, textLocation);
g.drawString( cardText, 8,0, textLocation);
}
g.setColor( 255,255,255);
}
private void PaintBack( IGraphicsWrapper g ) {
g.drawRect(0,0,width, height);
g.drawString( "XX", 0,0,textLocation);
}
public Card TurnToFront() {
_state = FRONT;
return this;
}
public Card TurnToBack() {
_state= BACK;
return this;
}
public int State() {
return _state;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -