Determina il valore dell'immagine in base al nome dell'immagine

-3

Sto facendo un gioco di blackjack e voglio prendere le mie immagini di carte e dare ad ognuno un valore per il gioco.

Non sono sicuro di come determinare il loro valore. Dovrei semplicemente fare una grande istruzione switch con tutti i nomi delle immagini?

O forse dovrei controllare se contiene una dichiarazione big if? Come se il nome dell'immagine contenga "king", quindi il valore è 10 o forse esiste un altro modo più efficiente?

    
posta heapoverflow 05.10.2017 - 21:06
fonte

2 risposte

2

Dovresti evitare di utilizzare le stringhe per controllare la logica quando sono disponibili tipi migliori. (L'uso di stringhe per ogni cosa è chiamato codice tipizzato a stringa ed è considerato un antipattern .) Una scelta migliore per rappresentare i valori che le carte possono avere sia un semplice int o un enum . Probabilmente userò un int tra 2 e 9 per le carte numerate e uso 10, 11, 12 e 13 per jack, re, regina e asso.

Userei un enum per rappresentare i semi: cuori, picche, quadri e fiori. Qualcosa del genere:

public enum Suit {
    HEARTS, SPADES, DIAMONDS, CLUBS
}

Come suggerito nei commenti, creerei una classe Card . Ogni oggetto nella classe Card avrebbe un Suit e un valore compreso tra 2 e 13 inclusi. Potresti creare una classe Deck che contenesse tutte le 52 carte. Potrebbe avere metodi per mischiare le carte e distribuire carte.

    
risposta data 06.10.2017 - 07:13
fonte
0

Avere una classe Card con membri Value, ImageFileName, Image, Position, ecc. e utilizzare un approccio orientato agli oggetti.

    
risposta data 06.10.2017 - 07:22
fonte

Leggi altre domande sui tag