2015-11-30 4 views
0

Мне нужно написать метод handScore, который принимает массив карт в качестве аргумента и который суммирует (и возвращает) общий балл. Ранжирование карт должно быть закодировано, поскольку я их написал, но я не уверен, как их законно закодировать.Кодирующая карточка Ранги Java

public class Cards { 
int suit, rank; 

public Cards() { 
    this.suit = 0; this.rank = 0; } 

public Cards (int suit, int rank) { 
    this.suit = suit; this.rank = rank; 
} 

public static void main(String[] args) { 

} 

public static void printCard (Cards c) { 
    String[] suits = { "Clubs", "Diamonds", "Hearts", "Spades" }; 
    String[] ranks = { "narf", "Ace", "2", "3", "4", "5", "6", 
    "7", "8", "9", "10", "Jack", "Queen", "King" }; 
    System.out.println (ranks[c.rank] + " of " + suits[c.suit]); } 

public static void printDeck (Cards[] deck) { for (int i=0; i<deck.length; i++) { 
    printCard (deck[i]); 
} 
} 

/** 
* 
* @param c 
*/ 

public static void buildDeck(Cards c) { 
    int index = 0; 
    for (int suit = 0; suit <= 3; suit++) { 
     for (int rank = 1; rank <= 13; rank++) { 
      Cards[] deck = null; 
      deck[index] = new Cards (suit, rank); index++; } } 
} 

public static void handScore(Cards[] hand) { 
    spades = 3; 
    hearts = 2; 
    diamonds = 1; 
    clubs = 0; 
    ace = 1; 
    jack = 11; 
    queen = 12; 
    king = 13; 
} 
+0

Прокрутите ручку и держите подсчет костюмов и карточек значений. –

ответ

0

Это немного неясно, что вы имеете в виду, когда вы говорите, «Ряды карт должны быть закодированы как я их написал, но я не уверен, как юридически кодировать их.» Кроме того, разные карточные игры могут иметь разные значения для одной и той же карты. Но я дам предложение или два, основываясь на том, что, я думаю, вы пытаетесь сделать.

Одним из вариантов было бы создать класс карты с помощью метода getScore(). Если это не вариант, вы можете рассмотреть метод в своем классе, который возвращает оценку для каждой карты на основе ранга (и костюм, если костюм соответствует). Так

public void getScore("Queen") { 
    ... 

}

возвратит 12 или независимо от ранга для царицы. Вы можете использовать массив для хранения оценки для каждой карты. Я не буду размещать больше кода, если это домашнее задание, но я надеюсь, что это поможет.

Смежные вопросы