OOP-Projects-Java

Log | Files | Refs | README

Card.java (1153B)


      1 package lucky_card;
      2 
      3 public class Card {
      4 	private String suit;
      5 	private String rank;
      6 	private int value;
      7 	
      8 	//constructor
      9 	public Card(String suit, String rank) {
     10 		this.suit = suit;
     11 		this.rank = rank;
     12 		value = generateCardValue();
     13 	}
     14 	
     15 	//return the cards suit
     16 	String getSuit() {
     17 		return this.suit;
     18 	}
     19 	
     20 	//return the cards rank
     21 	String getRank() {
     22 		return this.rank;
     23 	}
     24 	
     25 	//return the cards value
     26 	int getValue() {
     27 		return this.value;
     28 	}
     29 	
     30 	//calculate each cards value based on suit and rank
     31 	private int generateCardValue() {
     32 		int value = 0; //holds the current cards value
     33 		
     34 		//add "bonus" based on card suit
     35 		switch(suit) {
     36 			case ("Diamonds"):
     37 				value += 4;
     38 				break;
     39 			case ("Clubs"):
     40 				value += 6;
     41 				break;
     42 			case ("Hearts"):
     43 				value += 8;
     44 				break;
     45 			case ("Spades"):
     46 				value += 10;
     47 				break;
     48 		}
     49 		
     50 		//add value based on cards "base value"
     51 		switch(rank) {
     52 			case("Ace"):
     53 				value += 1;
     54 				break;
     55 			case("Jack"):
     56 				value += 11;
     57 				break;
     58 			case("Queen"):
     59 				value += 12;
     60 				break;
     61 			case("King"):
     62 				value += 13;
     63 				break;
     64 			default:
     65 				value+= Integer.parseInt(rank);
     66 			
     67 		}
     68 		return value;
     69 	}
     70 }