Cómo programar un juego de cartas

Este es un proyecto favorito en el que estoy trabajando en Java para comprender mejor un programa completo de Java, y espero que sea mi primer intento de hacer mi propia GUI.

Aparte de eso, tengo una pregunta sobre cómo crear una mano de cartas a partir de mi código actual. Tal como está, tengo una clase principal llamada DummyRummy , una clase para crear cartas, una clase que crea un mazo de cartas estándar (que incluye Jokers y “baraja” el mazo cuando se crea un nuevo mazo), y una clase PlayerHands . Estoy trabajando estrictamente con ArrayList s para todo el código, y la clase PlayersHands debería devolver dos ArrayList s que se utilizarán. Sin embargo, cuando intento llamar al método PlayerHands() en public static void main() , PlayerHands no puede ubicarse por alguna razón …

Aquí está el código para PlayerHands :

paquete dummyrummy;
PlayerHands de clase pública {
tarjeta privada [] playerOneCards;
tarjeta privada [] playerTwoCards;
valor privado int [];

PlayerHands (mazo d, int ronda)
{
valor = nuevo int [ronda + 3];
playerOneCards = nueva carta [ronda + 2];
playerTwoCards = nueva carta [ronda + 2];
// (ronda + 2) es el tamaño de la mano en un momento dado
para (int x = 0; x <round + 3; x ++)
{
playerOneCards [x] = d.drawFromDeck (); // llena una mano.
playerTwoCards [x] = d.drawFromDeck (); // se llena de segunda mano.
}
}
}

Aquí está la clase DummyRummy .

paquete dummyrummy;
import java.util. *;
clase pública DummyRummy {
public static void main (String [] args) {
prueba de cubierta
testDeck = nueva plataforma ();

System.out.println (testDeck.getTotalCards ());
System.out.println (testDeck.getClass ());
int ronda = 1;
PlayerHands (testDeck, round); // Aquí es donde ocurre el error
} // Fin de los argumentos
} // Fin de la clase DummyRummy

Aquí está la clase de Card :

paquete dummyrummy;
Tarjeta de clase pública
{
rango corto privado, traje;
Cadena estática privada [] trajes = {“Corazones”, “Picas”, “Diamantes”, “Clubes”, “Joker”};
Cadena estática privada [] rangos = {“As”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “Jack “, “Reina rey” };
Private static String [] jokers = {“Joker”, “Joker”};
Cadena estática privada [] ranks2 = {“0”, “0”};
public static String rankAsString (int __rank) {
if (__rank! = 0) {
volver rangos [__ rango];
} // Fin de la declaración if
volver rangos2 [__ rango];
} // Fin de la clase rankAsString

Tarjeta (palo corto, rango corto)
{
this.rank = rango;
this.suit = traje;
} // Fin del inicializador de la tarjeta

public @Override String toString ()
{
if (palo == 5) {
devolver “Joker”;
} // Fin de la declaración if que llama comodines
if (rango == 0) {
devolver “Joker”;
}
regresar rangos [rango] + “de” + trajes [traje];
} // Fin del método toString

public short getRank () {
rango de retorno;
} // Fin del método getRank

getSuit corto público () {
traje de regreso;
} // Fin del método getSuit
} // Fin de la tarjeta

Y finalmente, aquí está la clase deck() :

paquete dummyrummy;
import java.util.Random;
import java.util.ArrayList;

cubierta de clase pública {
tarjetas privadas ArrayList ;
cubierta()
{
tarjetas = nueva ArrayList ();
int index_1, index_2;
Generador aleatorio = nuevo aleatorio ();
Tarjeta de temperatura;

short jokerSuit = 5;
jokerRank corto = 0;
cards.add (nueva tarjeta (jokerSuit, jokerRank));
cards.add (nueva tarjeta (jokerSuit, jokerRank));
para (traje corto = 0; traje <= 3; traje ++)
{
para (rango corto = 0; rango <= 12; rango ++)
{
cards.add (nueva carta (palo, rango));
}
} // Fin del ciclo for
int deckSize = 54;
para (int i = 0; i <1000; i ++)
{
index_1 = generator.nextInt (cards.size ());
index_2 = generator.nextInt (cards.size ());
temp = cards.get (index_2);
cards.set (index_2, cards.get (index_1));
tarjetas.set (index_1, temp);
} // Fin del ciclo for
} // Fin del mazo ()
Tarjeta pública drawFromDeck ()
{
/ *
* Este método elimina la carta superior de la baraja ya barajada.
* El siguiente paso a seguir con esta clase es colocar la tarjeta robada en otra
* matriz que representa la mano de un jugador.
* Esto tomará dos matrices, y se debe invocar dependiendo de qué jugador ‘dibujaDeDeck’.
* /
return cards.remove (0);
} // Fin de drawFromDeck ()
public int getTotalCards ()
{
return cards.size ();
} // Fin de getTotalCards ()
} // Fin del mazo de clases

Este es el programa de Java para juegos de cartas y Rummy Passion es el mejor sitio web para jugar juegos de cartas.

Gracias

¿Estás planeando lanzar un nuevo portal de juegos de cartas en línea? en lugar de crear una nueva solución, elija la solución de etiqueta blanca Rummy y abra las puertas para obtener altos ingresos.

El etiquetado blanco es uno de los mejores planes de negocios para obtener más ganancias sin mucha inversión y esfuerzo. Además, no lleva mucho tiempo y su inversión.

Puede hacer una nueva marca de una marca original comprando la solución requerida del fabricante y puede comercializarla bajo su marca.

En resumen, puede utilizar nuestras soluciones de juego en línea de Rummy (Soluciones de juego de etiqueta blanca en línea de Rummy y Poker) en suscripciones para su nuevo portal en línea de Rummy.

Tuvimos la misma pregunta hace un año, ¡ahora puedes evitar la molestia y solo ven a jugar más de 20 juegos de cartas en línea en CardzMania! Muchos juegos de cartas (20+) con muchas variaciones, para que puedas jugar con tus propias reglas.