私はオブジェクト配列を持っています。配列内の各オブジェクトには、文字列とバッファされたイメージコンポーネントと共に整数コンポーネントがあります。私のコードでは、一意の整数でそれぞれ50枚のカードのデッキを作成します。私は整数値に基づいてカードを見つけるプログラムを作りたいと思う。Java-オブジェクト配列の整数部分を呼び出す
たとえば、整数10がスペードのキングに対応する場合、ユーザーは数字10を入力することができ、プログラムはスペードのキングを見つけてデッキの上部に移動します。その整数値だけに基づいてカードを見つける方法はありますか?ここで
public class Card_Class {
private String suit, face;
private int value;
public BufferedImage cardImage;
public Card_Class(String suit, String face, int value, BufferedImage card) {
this.suit = suit;
this.face = face;
this.value = value;
cardImage = card;
}
public static void main(String[] args) throws IOException {
Card_Class HeartKing = new Card_Class("Hearts", "King", 13, ImageIO.read(new File("HeartKing.jpg")));
}
}
はデッキのコンストラクタです:
public class Deck {
public static Card_Class[] deckOfCards;
private int currentCard;
public Deck() throws IOException {
String[] faces = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"};
String[] suits = {"Diamonds", "Clubs", "Hearts", "Spades"};
deckOfCards = new Card_Class[52];
currentCard = 0;
final int width = 88;
final int height = 133;
final int rows =4;
final int columns = 13;
BufferedImage bigImage = ImageIO.read(new File("AllCards.png"));
BufferedImage tempCardImage;
for(int suit=0;suit <4; suit++){
for(int face=0;face<13;face++){
tempCardImage = bigImage.getSubimage(
face*width+(face*10)+8,
suit*height+(suit*10)+38,
width,
height);
deckOfCards[(face+(suit*13))] = new Card_Class(suits[suit],faces[face],(13*suit+face),tempCardImage);
}
}
}
あなたの質問は何ですか? – luk2302
整数値に基づいてカードを呼び出す方法を教えてください。 – user8735495
deckOfCardsを配列からHashMapに変更することができます。ここで、カード番号はキー値です。 – OldProgrammer