Código de Java - Simular repartir cartas en video juego de cartas

Imágen de perfil
Val: 10
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Simular repartir cartas en video juego de cartasgráfica de visualizaciones


Java

Publicado el 5 de Mayo del 2020 por Diego H (8 códigos)
1.106 visualizaciones desde el 5 de Mayo del 2020
Es un CODIGO FUENTE en JAVA para ANDROID STUDIO que simula repartir cartas para cualquier video juego de cartas. Está formado por 3 métodos, el principal "subRepartirCartas" en donde se generan 6 números aleatorios no repetitivos que representan 6 cartas, 3 para el jugador y 3 para el software.

Primero es necesario declarar las principales variables y controles necesarios, en el entorno adecuado para ser Globales, para después poder manejarlos por código. Necesitamos un array númerico del tipo Byte de 6 elementos que representa cada una de las cartas repartidas desde 0 a 5, ya que está vez es para un juego de cartas de truco en donde se reparten 6 cartas, 3 para el jugador y 3 para la computadora, y es un mazo de 40 cartas españolas, que están representadas en el método "subCartaVisualizar" en donde se seleccionan los archivos de imágenes de cada uno de las cartas. Y luego declaramos, para poder codificar, 3 controles ImageView de la interface de usuario, donde se mostrarán los archivos de imagen con la representación de cada una de las 40 cartas del mazo.

Luego tenemos en el código 3 métodos, el primero "subRepartirCartas", donde se reinicializan las variables, primero se ocultan las cartas en pantalla por medio del método "subOcultarCartas" colocando una imagen de color verde, que vendría a tener el mismo color que el fondo verde de pantalla, y luego, también, se colocan en las cartas a repartir un número que no representa ninguna carta en particular para que después se seleccionen cartas no repetitivas. Luego por medio del for-next se generan 6 números aleatorios no repetitivos, para que no seleccione 2 veces la misma carta, entre 0 y 39, y luego por medio del método "subCartaVisualizar" se visualizan en la interface del usuario al ser representadas en los controles ImageView por los archivos de imágenes con la visualización de las cartas, que no están distribuidas en esta presentación.

Requerimientos

Android Studio

1

Publicado el 5 de Mayo del 2020gráfica de visualizaciones de la versión: 1
1.107 visualizaciones desde el 5 de Mayo del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
byte cartasRepartidas[] = new byte[6];
 
ImageView imgCarta[] = new ImageView[3];
imgCarta[0] = findViewById(R.id.imagenCarta0);
imgCarta[1] = findViewById(R.id.imagenCarta1);
imgCarta[2] = findViewById(R.id.imagenCarta2);
 
    private void subRepartirCartas() {
        byte ciclo = 0;
        int repite = 0;
        boolean cartaRepite = false;
        Random aleatorio = new Random(System.currentTimeMillis());
        // Inicializar variables y controles
        //  Se deben ocultar las cartas de la vez anterior
        subOcultarCartas();
        // Inicializar cartas repartidas
        cartasRepartidas[0] = 40;
        cartasRepartidas[1] = 40;
        cartasRepartidas[2] = 40;
        cartasRepartidas[3] = 40;
        cartasRepartidas[4] = 40;
        cartasRepartidas[5] = 40;
        // Asignar cartas para jugador y computadora
        for (ciclo = 0; (ciclo <= 5); ciclo++) {
            do {
                int intAleatorio = aleatorio.nextInt(40);
                cartasRepartidas[ciclo] = (byte)intAleatorio;
                cartaRepite = false;
                if (ciclo > 0){
                    for (repite = (ciclo - 1); (repite >= 0); repite--) {
                        if (cartasRepartidas[ciclo] == cartasRepartidas[repite]) {
                            cartaRepite = true;
                        }
                        if (cartaRepite == true) {
                            break;
                        }
                    }
                }
                //  Salir del loop si no repite carta
            } while (cartaRepite == true);
        }
        // Visualizar las cartas en pantallas
        subCartaVisualizar((byte)0,cartasRepartidas[0]);
        subCartaVisualizar((byte)1,cartasRepartidas[1]);
        subCartaVisualizar((byte)2,cartasRepartidas[2]);
    }
 
    private void subCartaVisualizar(byte indice, byte valorCarta) {
        switch (valorCarta){
            case 0:
                imgCarta[indice].setImageResource(R.mipmap.e1);
                break;
            case 1:
                imgCarta[indice].setImageResource(R.mipmap.b1);
                break;
            case 2:
                imgCarta[indice].setImageResource(R.mipmap.e7);
                break;
            case 3:
                imgCarta[indice].setImageResource(R.mipmap.o7);
                break;
            case 4:
                imgCarta[indice].setImageResource(R.mipmap.o3);
                break;
            case 5:
                imgCarta[indice].setImageResource(R.mipmap.e3);
                break;
            case 6:
                imgCarta[indice].setImageResource(R.mipmap.c3);
                break;
            case 7:
                imgCarta[indice].setImageResource(R.mipmap.b3);
                break;
            case 8:
                imgCarta[indice].setImageResource(R.mipmap.o2);
                break;
            case 9:
                imgCarta[indice].setImageResource(R.mipmap.e2);
                break;
            case 10:
                imgCarta[indice].setImageResource(R.mipmap.c2);
                break;
            case 11:
                imgCarta[indice].setImageResource(R.mipmap.b2);
                break;
            case 12:
                imgCarta[indice].setImageResource(R.mipmap.o1);
                break;
            case 13:
                imgCarta[indice].setImageResource(R.mipmap.c1);
                break;
            case 14:
                imgCarta[indice].setImageResource(R.mipmap.o12);
                break;
            case 15:
                imgCarta[indice].setImageResource(R.mipmap.e12);
                break;
            case 16:
                imgCarta[indice].setImageResource(R.mipmap.c12);
                break;
            case 17:
                imgCarta[indice].setImageResource(R.mipmap.b12);
                break;
            case 18:
                imgCarta[indice].setImageResource(R.mipmap.o11);
                break;
            case 19:
                imgCarta[indice].setImageResource(R.mipmap.e11);
                break;
            case 20:
                imgCarta[indice].setImageResource(R.mipmap.c11);
                break;
            case 21:
                imgCarta[indice].setImageResource(R.mipmap.b11);
                break;
            case 22:
                imgCarta[indice].setImageResource(R.mipmap.o10);
                break;
            case 23:
                imgCarta[indice].setImageResource(R.mipmap.e10);
                break;
            case 24:
                imgCarta[indice].setImageResource(R.mipmap.c10);
                break;
            case 25:
                imgCarta[indice].setImageResource(R.mipmap.b10);
                break;
            case 26:
                imgCarta[indice].setImageResource(R.mipmap.c7);
                break;
            case 27:
                imgCarta[indice].setImageResource(R.mipmap.b7);
                break;
            case 28:
                imgCarta[indice].setImageResource(R.mipmap.o6);
                break;
            case 29:
                imgCarta[indice].setImageResource(R.mipmap.e6);
                break;
            case 30:
                imgCarta[indice].setImageResource(R.mipmap.c6);
                break;
            case 31:
                imgCarta[indice].setImageResource(R.mipmap.b6);
                break;
            case 32:
                imgCarta[indice].setImageResource(R.mipmap.o5);
                break;
            case 33:
                imgCarta[indice].setImageResource(R.mipmap.e5);
                break;
            case 34:
                imgCarta[indice].setImageResource(R.mipmap.c5);
                break;
            case 35:
                imgCarta[indice].setImageResource(R.mipmap.b5);
                break;
            case 36:
                imgCarta[indice].setImageResource(R.mipmap.o4);
                break;
            case 37:
                imgCarta[indice].setImageResource(R.mipmap.e4);
                break;
            case 38:
                imgCarta[indice].setImageResource(R.mipmap.c4);
                break;
            case 39:
                imgCarta[indice].setImageResource(R.mipmap.b4);
                break;
        }
    }
 
    private void subOcultarCartas() {
        imgCarta[0].setImageResource(R.mipmap.verde);
        imgCarta[1].setImageResource(R.mipmap.verde);
        imgCarta[2].setImageResource(R.mipmap.verde);
    }



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6176