Para un ejercicio en un juego de póquer:
Creo una matriz inicial de objetos que contiene 7 cartas. Cada carta se designa por su valor (7, 8, 9, 10, sota...) y su palo (trébol, diamante...).
Creo una segunda matriz que cuenta el número de cartas del mismo valor. Por ejemplo, si tengo tres cartas de valor 7, entonces en mi segunda tabla, un número entero de valor 3 cabrá en el cuadro para cartas de valor 7.
Mi pregunta:
En una tercera matriz Card[] cards = new Card[5] , ¿cómo puedo copiar estas 3 cartas de valor 7 al comienzo de esta? No busco la solución sino una idea.
La primera matriz:
Card[] sevencards = new Card[7];
El siguiente método cuenta el número de cartas del mismo valor:
private int[] nbCardsvalue(Card[] sevencards){ int[] nbvalue = new int[13]; for (int i = 0; i < sevencards).length; i++){ if (sevencards[i].getValue() == 2){ nbvalue [0]++; }else if (sevencards[i].getValue() == 3){ nbvalue [1]++; }else if (sevencards[i].getValue() == 4){ nbvalue [2]++; }else if (sevencards[i].getValue() == 5){ nbvalue [3]++; }else if (sevencards[i].getValue() == 6){ nbvalue [4]++; }else if (sevencards[i].getValue() == 7){ nbvalue [5]++; }else if (sevencards[i].getValue() == 8){ nbvalue [6]++; }else if (sevencards[i].getValue() == 9){ nbvalue [7]++; }else if (sevencards[i].getValue() == 10){ nbvalue [8]++; }else if (sevencards[i].getValue() == 11){ nbvalue [9]++; }else if (sevencards[i].getValue() == 12){ nbvalue [10]++; }else if (sevencards[i].getValue() == 13){ nbvalue [11]++; }else if (sevencards[i].getValue() == 14){ nbvalue [12]++; }else{ return nbvalue ; } } return nbvalue ; }Para aclarar:
Por ejemplo:
Si en mi primera matriz sevencards[], tengo 3 cartas de valor 7 (es decir, un trío).
En mi segunda matriz nbvalue[], tendré nbvalue[5] = 3, lo que indica que tengo 3 cartas de valor 7.
Necesito una tercera matriz (por ejemplo, Main[]) donde colocaré mi combinación, es decir, tres de una clase. Mis tres 7 al comienzo de esta matriz.
No puedo entender cómo obtener esas 3 tarjetas de valor 7 y ponerlas en mi matriz Main[].
Esta es mi tarjeta de clase:
public class Card implements Comparable<Card>{ private final Suit suit public final int Jack = 11; public final int Queen = 12; public final int King = 13; public final int Ace = 14; private final int value; public Card (Suit s, int v){ this.suit = s; this.value = v; } public Couleur getSuit(){ return suit } public int getValue(){ return value; } public String toString(){ String v = String.valueOf(value); String s = suit.toString(); if (value >= 2 && value <= 10){ return v + " de " + s; }else if (value == 11){ return "Jack of " + s; }else if (value == 12){ return "Queen of " + s; }else if (value == 13){ return "King of " + s; }else if (value == 14){ return "Ace of " + s; } return null; } public int compareTo(Card c2){ if (this.value > c2.value){ return 1; }else if (this.value < c2.value){ return -1; }else { return 0; } } }