1 00:00:00,000 --> 00:00:01,360 Vale, pues venga, seguimos. 2 00:00:02,060 --> 00:00:04,240 Habíamos hecho ya de jugador bastante. 3 00:00:05,040 --> 00:00:06,980 Recibir carta y mostrar mano. 4 00:00:08,039 --> 00:00:10,119 Y vamos a encender el trofeo. 5 00:00:27,890 --> 00:00:28,370 Venga. 6 00:00:38,640 --> 00:00:43,179 Vale, pues ya habíamos hecho de jugador prácticamente todo 7 00:00:43,179 --> 00:00:46,960 Silencio 8 00:00:46,960 --> 00:00:51,109 Vale, entonces 9 00:00:51,109 --> 00:00:54,409 Recibir carta 10 00:00:54,409 --> 00:00:57,490 En realidad, como veis, eran dos líneas 11 00:00:57,490 --> 00:00:59,469 Tanto si decidís pasárselo por parámetro 12 00:00:59,469 --> 00:01:02,429 Como si os dais cuenta de que al haber solo una común 13 00:01:02,429 --> 00:01:04,090 Para toda la aplicación, la ponéis estática 14 00:01:04,090 --> 00:01:06,790 Y accedéis a ella, sí, en realidad son dos líneas 15 00:01:06,790 --> 00:01:08,310 Lo que pasa es que lo que se trata es de 16 00:01:08,310 --> 00:01:10,189 Que se plantea una situación 17 00:01:10,189 --> 00:01:12,349 y tengo este objeto aquí 18 00:01:12,349 --> 00:01:14,269 entonces entendiendo lo que significa 19 00:01:14,269 --> 00:01:15,250 entendiendo cómo funciona 20 00:01:15,250 --> 00:01:16,870 la solución es inmediata 21 00:01:16,870 --> 00:01:19,510 y ahí la importancia de lo que os digo siempre 22 00:01:19,510 --> 00:01:22,209 entender siempre lo que hay que hacer 23 00:01:22,209 --> 00:01:23,769 cómo va a funcionar la aplicación 24 00:01:23,769 --> 00:01:26,510 porque si uno le ha dedicado todo el tiempo necesario 25 00:01:26,510 --> 00:01:27,849 a entender cómo funciona 26 00:01:27,849 --> 00:01:29,689 y eso es mucho antes de empezar a teclear 27 00:01:29,689 --> 00:01:31,969 luego dar las soluciones es rápido 28 00:01:31,969 --> 00:01:33,030 son cuatro líneas 29 00:01:33,030 --> 00:01:35,069 pero hay que entender las cosas 30 00:01:35,069 --> 00:01:37,950 hay que entender qué es lo que se tiene que hacer 31 00:01:37,950 --> 00:01:39,650 bueno y ahora ya 32 00:01:39,650 --> 00:01:41,870 el siguiente método que también 33 00:01:41,870 --> 00:01:43,569 pues bueno, podía tener su cosa 34 00:01:43,569 --> 00:01:45,629 ¿vale? jugar carta 35 00:01:45,629 --> 00:01:47,849 pues bueno, pues venga 36 00:01:47,849 --> 00:01:50,310 jugar carta 37 00:01:50,310 --> 00:01:53,620 es un método 38 00:01:53,620 --> 00:01:55,519 de jugador que 39 00:01:55,519 --> 00:01:59,840 devolvía 40 00:01:59,840 --> 00:02:01,620 el objeto carta jugada 41 00:02:01,620 --> 00:02:05,879 de un 42 00:02:05,879 --> 00:02:06,959 palo correspondiente 43 00:02:06,959 --> 00:02:13,759 vale, pues entonces, entonces uno lee esto 44 00:02:13,759 --> 00:02:14,639 a ver, ¿qué tengo que hacer? 45 00:02:15,439 --> 00:02:17,479 pues tengo que coger, este a ver, tenía la 46 00:02:17,479 --> 00:02:19,340 historia de que había que coger 47 00:02:19,340 --> 00:02:21,520 la carta más alta 48 00:02:21,520 --> 00:02:23,580 de ese palo, hacer un máximo 49 00:02:23,580 --> 00:02:25,780 pero en el máximo contar 50 00:02:25,780 --> 00:02:27,560 solo, para el máximo 51 00:02:27,560 --> 00:02:29,300 las cartas de ese palo 52 00:02:29,300 --> 00:02:31,120 y si no hay ninguna 53 00:02:31,120 --> 00:02:33,379 pues devolver null y además poner paso 54 00:02:33,379 --> 00:02:35,139 entonces esto de nuevo es hacer 55 00:02:35,139 --> 00:02:37,560 la carta que más cumple 56 00:02:37,560 --> 00:02:39,919 ¿el qué? que su número sea el más alto 57 00:02:39,919 --> 00:02:41,500 la carta con número más alto 58 00:02:41,500 --> 00:02:43,620 entonces vamos a hacer un máximo 59 00:02:43,620 --> 00:02:45,800 vamos a hacer 60 00:02:45,800 --> 00:02:47,120 un máximo ¿sobre quién? 61 00:02:47,120 --> 00:02:50,000 Cuando hacemos un máximo siempre iteramos sobre algo 62 00:02:50,000 --> 00:02:52,539 Pues en este caso, ¿sobre quién vamos a iterar? 63 00:02:52,620 --> 00:02:54,460 Sobre cartas jugador para hacer el máximo 64 00:02:54,460 --> 00:02:58,099 ¿Vale? Vamos a hacer el máximo de las cartas de jugador 65 00:02:58,099 --> 00:03:00,199 Para echar la mayor de todas 66 00:03:00,199 --> 00:03:05,219 Entonces, pues aquí uno empieza a hacer esto 67 00:03:05,219 --> 00:03:06,699 A perfilarlo como lo hacemos siempre 68 00:03:06,699 --> 00:03:08,379 Y uno puede arrancar más o menos así 69 00:03:08,379 --> 00:03:12,340 Y es decir, venga, vamos a iterar por las cartas del jugador 70 00:03:12,340 --> 00:03:13,219 Que son una lista 71 00:03:13,219 --> 00:03:15,620 son una lista, entonces pues podemos 72 00:03:15,620 --> 00:03:17,840 iterar como os dé la gana 73 00:03:17,840 --> 00:03:19,879 con for each 74 00:03:19,879 --> 00:03:20,419 con 75 00:03:20,419 --> 00:03:25,060 pues venga, desde igual a cero 76 00:03:25,060 --> 00:03:27,360 mientras si sea menor que 77 00:03:27,360 --> 00:03:32,259 cartas 78 00:03:32,259 --> 00:03:35,039 jugador.size 79 00:03:35,039 --> 00:03:41,030 vale, pues entonces uno aquí 80 00:03:41,030 --> 00:03:42,270 para hacer el máximo 81 00:03:42,270 --> 00:03:44,750 se plantea, venga 82 00:03:44,750 --> 00:03:49,599 el número máximo de carta 83 00:03:49,599 --> 00:03:50,199 inicial 84 00:03:50,199 --> 00:03:52,800 lo pongo a cero 85 00:03:52,800 --> 00:03:53,979 ¿vale? 86 00:03:54,259 --> 00:03:56,400 y luego voy a iterar, ¿alguno supera el cero? 87 00:03:56,479 --> 00:03:58,719 la primera ya lo va a superar, pues ya tengo la primera 88 00:03:58,719 --> 00:04:01,219 sigo iterando 89 00:04:01,219 --> 00:04:02,919 en cuanto me encuentre 90 00:04:02,919 --> 00:04:04,759 alguna que supera el número que ya tengo 91 00:04:04,759 --> 00:04:06,020 actualizado, lo irá superando 92 00:04:06,020 --> 00:04:08,560 y así hasta que al final haya acabado el recorrido 93 00:04:08,560 --> 00:04:10,780 y la carta con la que esté 94 00:04:10,780 --> 00:04:12,300 sea la que haya superado 95 00:04:12,300 --> 00:04:14,180 al máximo hasta ese momento 96 00:04:14,180 --> 00:04:15,840 entonces esto pues 97 00:04:15,840 --> 00:04:17,740 uno haría algo así 98 00:04:17,740 --> 00:04:18,920 si 99 00:04:18,920 --> 00:04:22,579 cartas jugador 100 00:04:22,579 --> 00:04:23,720 punto get 101 00:04:23,720 --> 00:04:26,399 y la carta 102 00:04:26,399 --> 00:04:27,680 en el que estoy en ese momento 103 00:04:27,680 --> 00:04:29,759 punto get número 104 00:04:29,759 --> 00:04:32,379 bueno primero hay que ver si es 105 00:04:32,379 --> 00:04:33,540 del palo correspondiente 106 00:04:33,540 --> 00:04:36,259 porque solo queremos tener 107 00:04:36,259 --> 00:04:38,240 en cuenta en ese máximo las que son 108 00:04:38,240 --> 00:04:38,980 de ese palo 109 00:04:38,980 --> 00:04:41,860 entonces aquí primero ponemos esta condición 110 00:04:41,860 --> 00:04:44,339 si cartas jugador 111 00:04:44,339 --> 00:04:46,500 punto get 112 00:04:46,500 --> 00:04:47,180 palo 113 00:04:47,180 --> 00:04:50,259 get i, perdón, primero, 114 00:04:51,060 --> 00:04:53,240 get i, esta es la carta en la que estoy, 115 00:04:53,459 --> 00:04:55,879 punto, get palo. 116 00:04:58,740 --> 00:04:59,819 Resulta que es igual, 117 00:05:03,220 --> 00:05:05,180 que es igual al palo con el que estoy, 118 00:05:05,740 --> 00:05:06,019 i, 119 00:05:06,819 --> 00:05:08,300 i, 120 00:05:09,300 --> 00:05:10,699 siendo de ese palo, 121 00:05:10,819 --> 00:05:12,639 porque solo tengo en cuenta las de ese palo. 122 00:05:14,680 --> 00:05:15,920 A ver, es que con letra tan grande 123 00:05:15,920 --> 00:05:17,259 se ve un poco fatal. 124 00:05:20,199 --> 00:05:22,360 Si la carta en la que estoy en ese momento, 125 00:05:22,360 --> 00:05:53,699 Su palo es igual al palo que tengo que tener en cuenta. Y además, esa carta supera el número al que es el máximo hasta ese momento, pues entonces tengo nuevo número máximo, que es este, 126 00:05:53,699 --> 00:05:56,019 el que acaba de superar el máximo 127 00:05:56,019 --> 00:06:00,279 número máximo 128 00:06:00,279 --> 00:06:02,060 para seguir comparando 129 00:06:02,060 --> 00:06:03,019 las siguientes veces 130 00:06:03,019 --> 00:06:06,319 y además tengo nueva carta máxima 131 00:06:06,319 --> 00:06:07,199 que es la que tiene ese número 132 00:06:07,199 --> 00:06:10,079 digo, ah, espérate, que no tengo variable para ella 133 00:06:10,079 --> 00:06:10,800 aquí 134 00:06:10,800 --> 00:06:13,839 aquí va a ser la carta mayor 135 00:06:13,839 --> 00:06:15,420 de ese palo 136 00:06:15,420 --> 00:06:17,259 inicialmente null 137 00:06:17,259 --> 00:06:20,160 inicialmente ninguna, hasta que no encuentre una 138 00:06:20,160 --> 00:06:22,959 que supere a este 139 00:06:22,959 --> 00:06:24,240 esa será la primera 140 00:06:24,240 --> 00:06:27,060 si sigo, encuentro a uno que además supere a ese 141 00:06:27,060 --> 00:06:27,959 la siguiente, etc 142 00:06:27,959 --> 00:06:31,300 bueno, pues entonces tengo un nuevo número máximo 143 00:06:31,300 --> 00:06:32,139 y tengo nueva 144 00:06:32,139 --> 00:06:35,339 carta mayor 145 00:06:35,339 --> 00:06:38,540 carta mayor igual a 146 00:06:38,540 --> 00:06:40,800 cartas jugador 147 00:06:40,800 --> 00:06:41,279 get i 148 00:06:41,279 --> 00:06:47,740 y este es el máximo de toda la vida, y ya está 149 00:06:47,740 --> 00:06:52,370 me falta la llave 150 00:06:52,370 --> 00:06:53,509 de lift, que era esta 151 00:06:53,509 --> 00:06:59,490 y la llave del fork es esta 152 00:06:59,490 --> 00:07:02,050 vale, entonces 153 00:07:02,050 --> 00:07:04,810 esto de aquí 154 00:07:04,810 --> 00:07:07,370 este bucle que hemos hecho 155 00:07:07,370 --> 00:07:09,209 es simplemente para 156 00:07:09,209 --> 00:07:11,269 dentro de las cartas de ese palo 157 00:07:11,269 --> 00:07:12,569 y solo las de ese palo 158 00:07:12,569 --> 00:07:14,829 pues encontrar 159 00:07:14,829 --> 00:07:17,350 la carta mayor, la que tiene mayor número 160 00:07:17,350 --> 00:07:19,209 de todas, con el máximo de toda la vida 161 00:07:19,209 --> 00:07:21,029 inicialmente 0 162 00:07:21,029 --> 00:07:22,709 entonces empiezo aquí a recorrer 163 00:07:22,709 --> 00:07:24,910 en cuanto me encuentro una de ese palo 164 00:07:24,910 --> 00:07:27,269 cuyo número supera el número máximo 165 00:07:27,269 --> 00:07:29,649 actualizo el número máximo y esa es la mayor 166 00:07:29,649 --> 00:07:30,689 y seguimos 167 00:07:30,689 --> 00:07:33,430 que la siguiente supera el número máximo 168 00:07:33,430 --> 00:07:35,269 tengo un nuevo número máximo y esa es la mayor 169 00:07:35,269 --> 00:07:36,089 y así hasta el final 170 00:07:36,089 --> 00:07:38,490 ¿vale? el procedimiento de máximo de siempre 171 00:07:38,490 --> 00:07:39,870 vale 172 00:07:39,870 --> 00:07:42,870 aquí ahora ya que es lo que tenemos que hacer 173 00:07:42,870 --> 00:07:44,370 una vez que hemos encontrado la carta mayor 174 00:07:44,370 --> 00:07:46,730 pues aquí pueden ocurrir varias cosas 175 00:07:46,730 --> 00:07:49,129 que siga siendo nul 176 00:07:49,129 --> 00:07:51,430 ¿vale? 177 00:07:52,149 --> 00:07:53,829 puede ser que siga siendo nul 178 00:07:53,829 --> 00:07:55,870 después de haber entrado en este for 179 00:07:55,870 --> 00:07:58,769 puede ser que siga siendo nul 180 00:07:58,769 --> 00:08:02,600 ¿eh? 181 00:08:03,160 --> 00:08:04,199 ¿en qué condiciones? 182 00:08:05,639 --> 00:08:10,589 ¿vale? en este for 183 00:08:10,589 --> 00:08:12,550 en el que yo estoy mirando las cartas de ese 184 00:08:12,550 --> 00:08:14,410 palo que son mayores 185 00:08:14,410 --> 00:08:16,490 que van superando al número 186 00:08:16,490 --> 00:08:18,410 máximo y se va actualizando, podría ocurrir 187 00:08:18,410 --> 00:08:19,709 que nunca entrara en este if 188 00:08:19,709 --> 00:08:22,449 y por tanto una vez que acaba del for, carta mayor 189 00:08:22,449 --> 00:08:24,610 siguiera siendo null, ¿en qué caso? 190 00:08:26,779 --> 00:08:27,779 claro, si no hay ninguna 191 00:08:27,779 --> 00:08:28,519 carta de ese palo 192 00:08:28,519 --> 00:08:31,560 entonces si no hay ninguna carta de ese palo 193 00:08:31,560 --> 00:08:33,059 esto seguirá siendo null 194 00:08:33,059 --> 00:08:35,639 pues entonces ahí ya 195 00:08:35,639 --> 00:08:37,539 tengo lo primero que me dice el método 196 00:08:37,539 --> 00:08:40,539 me dice, si no hay ni una carta de ese palo 197 00:08:40,539 --> 00:08:42,500 si carta mayor es igual a null 198 00:08:42,500 --> 00:08:44,720 es porque no hay ni una 199 00:08:44,720 --> 00:08:45,799 de ese palo, no hay ni una 200 00:08:45,799 --> 00:08:48,240 entonces en ese caso, ¿qué había que hacer? 201 00:08:48,940 --> 00:08:49,980 pues decir paso 202 00:08:49,980 --> 00:08:59,879 decir paso, ¿vale? 203 00:09:02,279 --> 00:09:03,460 y si no es null 204 00:09:03,460 --> 00:09:04,840 si no es null 205 00:09:04,840 --> 00:09:07,500 entonces es que hemos encontrado una carta 206 00:09:07,500 --> 00:09:09,500 de ese palo, hemos encontrado una carta de ese palo 207 00:09:09,500 --> 00:09:11,539 que es lo que buscábamos, si no es null hemos encontrado 208 00:09:11,539 --> 00:09:13,480 una carta de ese palo y en concreto 209 00:09:13,480 --> 00:09:15,139 será la que tenga el mayor número de todos 210 00:09:15,139 --> 00:09:18,860 Porque este for vale para eso 211 00:09:18,860 --> 00:09:20,480 Para guardar en carta mayor 212 00:09:20,480 --> 00:09:21,919 La que tenga el mayor número de todos 213 00:09:21,919 --> 00:09:23,899 Bueno, pues entonces 214 00:09:23,899 --> 00:09:25,919 Si no es null 215 00:09:25,919 --> 00:09:27,820 Ahora que teníamos que hacer lo que me dice aquí 216 00:09:27,820 --> 00:09:30,240 Si ya la has encontrado, muestras esto 217 00:09:30,240 --> 00:09:32,080 Y la sacas de la lista 218 00:09:32,080 --> 00:09:34,039 Porque la has jugado, la sacas de la lista 219 00:09:34,039 --> 00:09:36,639 Y la devuelves con valor de retorno 220 00:09:36,639 --> 00:09:37,559 Vale, pues ya está 221 00:09:37,559 --> 00:09:39,799 Entonces lo único que nos falta hacer aquí en este else es 222 00:09:39,799 --> 00:09:41,539 Pues mostramos 223 00:09:41,539 --> 00:09:45,480 Jugando carta 224 00:09:45,480 --> 00:09:49,600 y vamos a 225 00:09:49,600 --> 00:09:52,360 como tenemos el toString 226 00:09:52,360 --> 00:09:54,259 mostrarla además aquí, jugando carta 227 00:09:54,259 --> 00:09:55,620 esa carta de ahí, vale 228 00:09:55,620 --> 00:09:57,779 y ahora además la sacamos 229 00:09:57,779 --> 00:09:59,940 de la lista de cartas del jugador 230 00:09:59,940 --> 00:10:02,480 esa carta no está en la baraja, esa carta está en las cartas 231 00:10:02,480 --> 00:10:04,480 del jugador, vale 232 00:10:04,480 --> 00:10:06,399 recordad este 233 00:10:06,399 --> 00:10:08,179 for va por las cartas del jugador 234 00:10:08,179 --> 00:10:10,179 hasta encontrarla, pues la tenemos que sacar de ahí 235 00:10:10,179 --> 00:10:11,120 porque la estamos jugando 236 00:10:11,120 --> 00:10:14,580 pues bueno, cartas jugador 237 00:10:14,580 --> 00:10:15,840 punto remove 238 00:10:15,840 --> 00:10:18,539 carta mayor 239 00:10:18,539 --> 00:10:21,940 y luego que es lo que falta 240 00:10:21,940 --> 00:10:23,620 como última parte de este método 241 00:10:23,620 --> 00:10:26,059 devolver esa carta jugada 242 00:10:26,059 --> 00:10:28,000 pues bueno, return 243 00:10:28,000 --> 00:10:29,799 carta mayor 244 00:10:29,799 --> 00:10:32,419 que puede ser null 245 00:10:32,419 --> 00:10:34,580 si no había carta puede ser null 246 00:10:34,580 --> 00:10:35,940 claro, o puede ser la jugada 247 00:10:35,940 --> 00:10:40,059 vale, y aquí hay algo que me falta 248 00:10:40,059 --> 00:10:44,860 bueno, pues este método 249 00:10:44,860 --> 00:10:45,379 ya está 250 00:10:45,379 --> 00:10:56,019 en este caso, para que este 251 00:10:56,019 --> 00:10:57,059 remove funcione 252 00:10:57,059 --> 00:10:58,779 como cartas jugador 253 00:10:58,779 --> 00:11:00,440 es una lista 254 00:11:00,440 --> 00:11:02,159 cartas jugador es una lista 255 00:11:02,159 --> 00:11:05,019 para que este remove identifique 256 00:11:05,019 --> 00:11:06,759 la igualdad de esta 257 00:11:06,759 --> 00:11:09,000 carta, cobra de la lista y elimine correctamente 258 00:11:09,000 --> 00:11:10,600 con que en la clase 259 00:11:10,600 --> 00:11:12,559 carta esté equals es suficiente 260 00:11:12,559 --> 00:11:14,460 porque necesita solo equals, pero es que 261 00:11:14,460 --> 00:11:16,059 en clase carta está equals 262 00:11:16,059 --> 00:11:18,779 también está hascode, pero en este caso el remove 263 00:11:18,779 --> 00:11:20,379 de la lista no usa el hascode 264 00:11:20,379 --> 00:11:22,559 el que usa es el equals, pero es que el equals está 265 00:11:22,559 --> 00:11:24,500 está con palo y número 266 00:11:24,500 --> 00:11:28,250 luego estupendo, vale, pues este 267 00:11:28,250 --> 00:11:30,149 método ya está. Es 268 00:11:30,149 --> 00:11:32,309 hacer un máximo, pero un máximo 269 00:11:32,309 --> 00:11:33,950 condicionado, solo 270 00:11:33,950 --> 00:11:36,129 un máximo, solo para las de 271 00:11:36,129 --> 00:11:37,289 ese palo, es hacer un máximo. 272 00:11:38,149 --> 00:11:39,549 Y una vez que ya tenemos el máximo, 273 00:11:40,529 --> 00:11:42,190 borramos de la lista, 274 00:11:43,009 --> 00:11:43,990 mostramos el mensajito que 275 00:11:43,990 --> 00:11:45,289 sea y para acá. 276 00:11:45,970 --> 00:11:47,809 Vale. Y ya está. 277 00:11:48,889 --> 00:11:50,009 Y ya tenemos 278 00:11:50,009 --> 00:11:51,450 toda esta parte. 279 00:11:52,029 --> 00:11:55,799 Vale. Pues hasta aquí 280 00:11:55,799 --> 00:11:57,759 son cinco puntos del ejercicio. 281 00:11:57,759 --> 00:11:58,679 Vale, ya viene el main. 282 00:11:58,679 --> 00:12:03,129 Ahora ya viene el main 283 00:12:03,129 --> 00:12:05,809 Que el main, pues yo luego ya era largo 284 00:12:05,809 --> 00:12:06,929 También tenía su cosa 285 00:12:06,929 --> 00:12:10,580 Porque no me he dejado nada, ¿no? 286 00:12:12,340 --> 00:12:12,779 No 287 00:12:12,779 --> 00:12:15,080 Recibir la carta, jugar 288 00:12:15,080 --> 00:12:16,559 Y mostrar 289 00:12:16,559 --> 00:12:18,919 Pues venga 290 00:12:18,919 --> 00:12:20,879 Vamos a hacernos ahora el main, el juego 291 00:12:20,879 --> 00:12:21,600 Que se arranca 292 00:12:21,600 --> 00:12:36,330 Vale, pues nos dice, primero de todo crea una baraja 293 00:12:36,330 --> 00:12:38,509 Para crear una baraja 294 00:12:38,509 --> 00:12:40,269 Tenemos el constructor de baraja 295 00:12:40,269 --> 00:12:41,610 Tenemos el constructor 296 00:12:41,610 --> 00:12:44,549 que es el que declara 297 00:12:44,549 --> 00:12:47,289 el constructor de baraja 298 00:12:47,289 --> 00:12:48,490 que es el que hace todo esto 299 00:12:48,490 --> 00:12:53,629 y mete las cartas aquí 300 00:12:53,629 --> 00:12:54,570 en esta variable estática 301 00:12:54,570 --> 00:12:58,230 y a partir de ahí esa variable estática ya tiene sus 40 cartas 302 00:12:58,230 --> 00:13:00,990 y cualquiera puede acceder a través de baraja.cartas 303 00:13:00,990 --> 00:13:04,129 podrá acceder nuestro recibir carta 304 00:13:04,129 --> 00:13:05,029 podrá acceder cualquiera 305 00:13:05,029 --> 00:13:09,570 bueno pues venga, entonces lo primero es construir la baraja 306 00:13:09,570 --> 00:13:11,669 Que tal y como está plantado el ejercicio 307 00:13:11,669 --> 00:13:14,590 Es obligatorio 308 00:13:14,590 --> 00:13:16,070 Instanciar 309 00:13:16,070 --> 00:13:17,350 Llamar al constructor sin parámetros 310 00:13:17,350 --> 00:13:20,110 Porque si el constructor sin parámetros es este 311 00:13:20,110 --> 00:13:20,850 Este 312 00:13:20,850 --> 00:13:23,529 Es el que lo hace todo 313 00:13:23,529 --> 00:13:26,370 Vale, vamos a ir poniendo 314 00:13:26,370 --> 00:13:28,289 Aquí mensajitos para ir mostrando 315 00:13:28,289 --> 00:13:30,009 Las cosas, para asegurarnos de que 316 00:13:30,009 --> 00:13:31,710 Lo estamos haciendo bien 317 00:13:31,710 --> 00:13:32,509 Vamos a mostrar 318 00:13:32,509 --> 00:13:35,169 Cuántas cartas tiene 319 00:13:35,169 --> 00:13:37,149 Para ver que ha metido 40 y no 80 320 00:13:37,149 --> 00:13:39,669 Porque recordad que en el constructor hemos hecho lo mismo dos veces 321 00:13:39,669 --> 00:13:40,950 Pero como abajo 322 00:13:40,950 --> 00:13:43,409 Estamos metiendo las mismas cartas otra vez 323 00:13:43,409 --> 00:13:45,149 Y es un haset, si lo hemos hecho bien 324 00:13:45,149 --> 00:13:46,789 No las va a meter, las va a ignorar 325 00:13:46,789 --> 00:13:50,950 La baraja 326 00:13:50,950 --> 00:13:52,230 Tiene 327 00:13:52,230 --> 00:13:59,879 Y ahora ya es una variable 328 00:13:59,879 --> 00:14:01,860 Estática, la que puedo yo acceder tranquilamente 329 00:14:01,860 --> 00:14:03,720 Así, baraja.cartas 330 00:14:03,720 --> 00:14:05,759 A partir de aquí ya puedo acceder así a la baraja 331 00:14:05,759 --> 00:14:09,620 Así puedo acceder 332 00:14:09,620 --> 00:14:10,740 Pues la baraja tiene 333 00:14:10,740 --> 00:14:12,639 .6 334 00:14:12,639 --> 00:14:17,860 también, pero no hace falta 335 00:14:17,860 --> 00:14:19,539 porque como es estática 336 00:14:19,539 --> 00:14:21,519 puedo acceder con el nombre de la clase 337 00:14:21,519 --> 00:14:23,559 puedo ponerlo 338 00:14:23,559 --> 00:14:25,419 lo que pasa es que simplemente me va a poner en amarillo 339 00:14:25,419 --> 00:14:27,740 y me va a decir, oye, ya que es estática, accede, podría 340 00:14:27,740 --> 00:14:28,639 ¿vale? 341 00:14:30,840 --> 00:14:31,779 lo he instanciado 342 00:14:31,779 --> 00:14:33,700 porque este constructor se tiene que 343 00:14:33,700 --> 00:14:36,179 se tiene que ejecutar 344 00:14:36,179 --> 00:14:37,940 porque aquí es donde se construye 345 00:14:37,940 --> 00:14:39,940 a ver, yo podría haber hecho un método aparte 346 00:14:39,940 --> 00:14:41,379 que fuera construir baraja 347 00:14:41,379 --> 00:14:43,019 entonces realmente 348 00:14:43,019 --> 00:14:44,940 y ese método construir baraja 349 00:14:44,940 --> 00:14:46,240 fuera el que las metiera aquí 350 00:14:46,240 --> 00:14:49,200 entonces realmente no me haría falta instanciar 351 00:14:49,200 --> 00:14:51,200 yo llamaría a construir baraja 352 00:14:51,200 --> 00:14:53,039 y a partir de ahí baraja.cartes 353 00:14:53,039 --> 00:14:55,019 pero como la construcción 354 00:14:55,019 --> 00:14:57,179 de la baraja la he hecho en este constructor 355 00:14:57,179 --> 00:14:58,820 ese constructor 356 00:14:58,820 --> 00:15:01,000 solo se ejecuta cuando tú haces esto 357 00:15:01,000 --> 00:15:02,919 solo, tú no tienes que hacer sí o sí 358 00:15:02,919 --> 00:15:05,059 entonces claro, como ya tengo un objeto 359 00:15:05,059 --> 00:15:06,899 B, podría acceder 360 00:15:06,899 --> 00:15:08,519 efectivamente si quiero, puedo acceder así 361 00:15:08,519 --> 00:15:11,100 pero bueno, queda feo, él mismo me dice 362 00:15:11,100 --> 00:15:12,500 oye, como cartas es estática 363 00:15:12,500 --> 00:15:14,220 queda más claro tu código 364 00:15:14,220 --> 00:15:16,200 si accedes en el estilo 365 00:15:16,200 --> 00:15:16,980 estático 366 00:15:16,980 --> 00:15:18,700 pero vamos, accedo así 367 00:15:18,700 --> 00:15:21,940 llego al mismo sitio, llego exactamente al mismo sitio 368 00:15:21,940 --> 00:15:25,500 claro, de hecho 369 00:15:25,500 --> 00:15:27,200 si el objeto no lo voy a usar para nada 370 00:15:27,200 --> 00:15:29,279 hasta podría hacer esto 371 00:15:29,279 --> 00:15:31,460 porque con esto 372 00:15:31,460 --> 00:15:33,759 estoy invocando al constructor 373 00:15:33,759 --> 00:15:35,500 me devuelve un objeto 374 00:15:35,500 --> 00:15:36,860 baraja concreto 375 00:15:36,860 --> 00:15:38,620 que no voy a usar nunca para nada 376 00:15:38,620 --> 00:15:41,159 pues lo tiro a la basura, no lo asigno a nadie 377 00:15:41,159 --> 00:15:43,019 podría, podría 378 00:15:43,019 --> 00:15:45,279 porque yo a partir de ahí, lo único que me interesa 379 00:15:45,279 --> 00:15:46,980 del objeto baraja, lo único que me interesa 380 00:15:46,980 --> 00:15:49,240 es esta única propiedad 381 00:15:49,240 --> 00:15:50,720 que tiene, esta única, no tiene más 382 00:15:50,720 --> 00:15:53,000 entonces el objeto baraja creado no tiene más que esto 383 00:15:53,000 --> 00:15:54,860 y como esta resulta que es estática 384 00:15:54,860 --> 00:15:57,460 puedo acceder con el nombre de la clase 385 00:15:57,460 --> 00:15:58,460 no me hace falta el objeto 386 00:15:58,460 --> 00:16:00,639 entonces podría efectivamente 387 00:16:00,639 --> 00:16:02,600 hacer esto 388 00:16:02,600 --> 00:16:05,100 entonces es cierto, lo que pasa es que esto es raro 389 00:16:05,100 --> 00:16:06,820 aquí habría sido mejor, más bonito 390 00:16:06,820 --> 00:16:09,500 hacer un método estático 391 00:16:09,500 --> 00:16:10,679 que fuera construir baraja 392 00:16:10,679 --> 00:16:12,840 y así no tengo que llamar a esto 393 00:16:12,840 --> 00:16:15,120 que es un poco extraño, se llama el método 394 00:16:15,120 --> 00:16:17,820 estático, baraja.construirBaraja 395 00:16:17,820 --> 00:16:18,919 la crea y ya está 396 00:16:18,919 --> 00:16:20,620 sería mejor 397 00:16:20,620 --> 00:16:24,090 vale, pues la baraja tiene 398 00:16:24,090 --> 00:16:25,889 vamos a ejecutar esto, a ver si me dice 40 399 00:16:25,889 --> 00:16:28,490 no vaya a ser que me diga 80, porque entonces algo hemos hecho mal 400 00:16:28,490 --> 00:16:30,830 porque me está metiendo duplicados 401 00:16:30,830 --> 00:16:40,850 vale, efectivamente no me ha metido 402 00:16:40,850 --> 00:16:43,190 duplicados, me ha metido las 40 cartas 403 00:16:43,190 --> 00:16:46,190 este segundo for de aquí 404 00:16:46,190 --> 00:16:48,529 todos estos adds se han ignorado 405 00:16:48,529 --> 00:16:49,889 Tiene 40 cartas 406 00:16:49,889 --> 00:16:51,509 Vale, ya he metido las 40 cartas 407 00:16:51,509 --> 00:16:53,250 Bueno, lo siguiente del main 408 00:16:53,250 --> 00:16:56,309 Vamos a crear dos jugadores 409 00:16:56,309 --> 00:16:57,850 Con nombre y puntuación 0 410 00:16:57,850 --> 00:16:59,409 Y luego le metemos las 10 cartas 411 00:16:59,409 --> 00:17:02,450 Que esto era lo segundo complicado 412 00:17:02,450 --> 00:17:03,649 Lo más complicado de hecho 413 00:17:03,649 --> 00:17:06,130 El resto ya era más sencillo 414 00:17:06,130 --> 00:17:08,329 Pero esto era lo más complicado del ejercicio 415 00:17:08,329 --> 00:17:11,130 Meterle 10 cartas a cada jugador 416 00:17:11,130 --> 00:17:12,349 Sacándolas de la baraja 417 00:17:12,349 --> 00:17:14,269 Por el problema de que tienes que 418 00:17:14,269 --> 00:17:15,329 Hacer remove 419 00:17:15,329 --> 00:17:17,910 Que te puede salir el error concurrente 420 00:17:17,910 --> 00:17:18,650 etcétera 421 00:17:18,650 --> 00:17:22,779 vale, pues a ver, creamos dos objetos 422 00:17:22,779 --> 00:17:25,119 jugador, pues ala, jugador 1 423 00:17:25,119 --> 00:17:32,740 y como habíamos hecho un constructor 424 00:17:32,740 --> 00:17:34,319 solo con nombre y puntuación 425 00:17:34,319 --> 00:17:35,940 pues vamos, vamos a aprovechar ya 426 00:17:35,940 --> 00:17:38,880 y le ponemos 427 00:17:38,880 --> 00:17:40,299 ¿verdad? el jugador 428 00:17:40,299 --> 00:17:42,980 ala, 0 puntos 429 00:17:42,980 --> 00:17:45,160 y ahora 430 00:17:45,160 --> 00:17:48,359 el jugador J2 431 00:17:48,359 --> 00:17:57,289 con 0 puntos 432 00:17:57,289 --> 00:17:59,329 lo hicimos todo para no tener que leer 433 00:17:59,329 --> 00:18:01,269 del teclado y así, pues bueno, no había que 434 00:18:01,269 --> 00:18:02,930 y ahora 435 00:18:02,930 --> 00:18:04,329 esta parte de aquí 436 00:18:04,329 --> 00:18:07,470 para mí era la más liosa del ejercicio 437 00:18:07,470 --> 00:18:09,690 que es darle 10 cartas a cada jugador 438 00:18:09,690 --> 00:18:11,470 darle 10 cartas a cada jugador 439 00:18:11,470 --> 00:18:13,630 porque aquí uno podía empezar así 440 00:18:13,630 --> 00:18:15,650 en piloto 441 00:18:15,650 --> 00:18:16,190 automático 442 00:18:16,190 --> 00:18:18,210 y en piloto automático 443 00:18:18,210 --> 00:18:21,910 se pone a ejecutar 444 00:18:21,910 --> 00:18:22,710 y no le sale nada 445 00:18:22,710 --> 00:18:25,109 el piloto automático, ¿cuál podría ser? 446 00:18:25,269 --> 00:18:27,109 pues bueno, primero habría que darse cuenta de lo siguiente 447 00:18:27,109 --> 00:18:29,309 que es, ¿mis cartas dónde están? 448 00:18:29,329 --> 00:18:30,269 están en un set 449 00:18:30,269 --> 00:18:33,269 en un set no hay orden, yo las he ido metiendo 450 00:18:33,269 --> 00:18:35,710 pero no hay orden, no es que estén 1, 2, 3 de oros 451 00:18:35,710 --> 00:18:37,170 1, 2, 3 de espadas, no 452 00:18:37,170 --> 00:18:38,529 no hay orden en el set 453 00:18:38,529 --> 00:18:41,650 entonces, repartir 10 cartas aleatoriamente 454 00:18:41,650 --> 00:18:42,410 lo puedo hacer 455 00:18:42,410 --> 00:18:45,349 recorro mi set y voy sacando 456 00:18:45,349 --> 00:18:46,970 las 10 primeras al primer jugador 457 00:18:46,970 --> 00:18:48,970 y las 10 siguientes al otro 458 00:18:48,970 --> 00:18:51,349 y ya las he repartido, es lo que más simula 459 00:18:51,349 --> 00:18:52,289 repartir cartas 460 00:18:52,289 --> 00:18:55,390 tienes un hash set, vas sacando y vas dando a cada jugador 461 00:18:55,390 --> 00:18:56,930 pero claro, cuidado 462 00:18:56,930 --> 00:18:58,809 porque el ir sacando significa ir haciendo remove 463 00:18:58,809 --> 00:19:16,089 Y lo que yo estoy diciendo es ir iterando e ir sacando. Esa es la situación complicada, la que hemos dicho. Cuidado cuando iteras por una colección y a la vez que iteras la estás actualizando, porque eso te puede luego saltar en tiempo de ejecución, ¿vale? 464 00:19:16,089 --> 00:19:18,009 entonces 465 00:19:18,009 --> 00:19:19,789 uno en piloto automático 466 00:19:19,789 --> 00:19:21,809 pues uno a lo mejor podría haberse planteado hacer esto 467 00:19:21,809 --> 00:19:23,849 vamos a recorrer las 468 00:19:23,849 --> 00:19:26,130 vamos a recorrer las cartas 469 00:19:26,130 --> 00:19:26,710 de la baraja 470 00:19:26,710 --> 00:19:29,390 y uno se podría haber planteado hacer esto 471 00:19:29,390 --> 00:19:37,970 por ejemplo, vamos a hacer un contador para contar 472 00:19:37,970 --> 00:19:45,119 vamos a recorrer la 473 00:19:45,119 --> 00:19:50,200 o sea, esto que voy a hacer ahora 474 00:19:50,200 --> 00:19:51,140 pues no funcionaría 475 00:19:51,140 --> 00:19:54,259 vamos a ir iterando por las cartas de la baraja 476 00:19:54,259 --> 00:19:55,160 por ejemplo así 477 00:19:55,160 --> 00:20:00,750 baraja.cartas 478 00:20:00,750 --> 00:20:03,049 vale, vamos a iterar por las cartas de la baraja 479 00:20:03,049 --> 00:20:05,309 entonces, voy a 480 00:20:05,309 --> 00:20:07,730 si estoy en las 10 primeras iteraciones 481 00:20:07,730 --> 00:20:09,410 es decir, así 482 00:20:09,410 --> 00:20:12,029 si cont es 483 00:20:12,029 --> 00:20:24,369 claro, efectivamente 484 00:20:24,369 --> 00:20:29,210 Entonces, hay muchas formas en las que puedes hacerlo para solucionar este problema. 485 00:20:29,950 --> 00:20:35,130 Yo lo voy a hacer si no se pone a hacerlo a piñón fijo y luego dice, 486 00:20:35,230 --> 00:20:36,269 ah, vale, pues eso tengo que hacer. 487 00:20:36,349 --> 00:20:37,869 Luego lo ejecuto y dice, es que esto no es. 488 00:20:38,089 --> 00:20:40,710 Por el error de concurren, modificar, tiene este tiempo, bla, bla, bla. 489 00:20:40,769 --> 00:20:43,130 Y luego entonces uno ya dice, ah, claro, es que esto así no lo podía hacer. 490 00:20:43,450 --> 00:20:45,130 Entonces ya se pone a pensar en diferentes soluciones. 491 00:20:45,890 --> 00:20:46,650 Que hay varias, ¿vale? 492 00:20:47,329 --> 00:20:50,009 Entonces, uno así a piñón fijo sin pensar, pues podría hacer, ¿vale? 493 00:20:50,730 --> 00:20:52,690 Pues voy a recorrer las cartas de mi baraja. 494 00:20:52,690 --> 00:20:54,910 y para las 10 primeras 495 00:20:54,910 --> 00:20:56,930 que vayan a 1 con recibir 496 00:20:56,930 --> 00:20:58,849 carta y las 10 siguientes 497 00:20:58,849 --> 00:21:00,630 a otro con recibir carta, pero claro 498 00:21:00,630 --> 00:21:02,509 el error es que recibir carta tiene un remove dentro 499 00:21:02,509 --> 00:21:03,589 ese es el problema 500 00:21:03,589 --> 00:21:06,630 entonces, así a piñón fijo sería 501 00:21:06,630 --> 00:21:08,369 si estoy en las primeras 10 iteraciones 502 00:21:08,369 --> 00:21:11,109 es decir, si cont es menor o igual 503 00:21:11,109 --> 00:21:12,529 que 9 504 00:21:12,529 --> 00:21:14,650 es decir, que estoy en las 10 primeras 505 00:21:14,650 --> 00:21:16,430 pues podríamos hacer aquí 506 00:21:16,430 --> 00:21:18,390 pues venga, jugador1. 507 00:21:19,390 --> 00:21:20,630 recibirCartaC 508 00:21:20,630 --> 00:21:23,440 y ahora 509 00:21:23,440 --> 00:21:28,369 esta llave me sobra 510 00:21:28,369 --> 00:21:32,859 y uno hace, y si no 511 00:21:32,859 --> 00:21:35,279 si estoy, no es menor o igual 512 00:21:35,279 --> 00:21:37,180 que 9, pero es 513 00:21:37,180 --> 00:21:38,440 menor o igual que 514 00:21:38,440 --> 00:21:41,259 19, bueno, si los 515 00:21:41,259 --> 00:21:43,240 límites o alguna cosa, estoy poniendo alguna burrada 516 00:21:43,240 --> 00:21:45,140 así por hablar y ejir a la M, lo decís 517 00:21:45,140 --> 00:21:50,519 entonces uno 518 00:21:50,519 --> 00:21:53,039 podría a lo mejor, esta es la 519 00:21:53,039 --> 00:21:54,980 del for, pero que ahora me sobra 520 00:21:54,980 --> 00:21:56,579 podría plantearse 521 00:21:56,579 --> 00:21:58,839 hacer algo así, porque es la idea 522 00:21:58,839 --> 00:22:01,160 en realidad, es la idea, tiene sentido 523 00:22:01,160 --> 00:22:01,380 ¿no? 524 00:22:02,299 --> 00:22:27,390 Vamos recorriendo el set, en las primeras 10 iteraciones al jugador 1 le mandamos la carta C y recibir carta adentro ya tiene añadírsela a la lista y eliminarla de la baraja, porque eso es lo que tiene recibir carta adentro, tiene esta carta, se la añadimos a la lista y la quitamos de la baraja, de la única que hay, entonces todas van al mismo sitio. 525 00:22:27,390 --> 00:22:33,630 y si estamos en las 10 siguientes 526 00:22:33,630 --> 00:22:36,190 iteraciones, es el jugador 2 527 00:22:36,190 --> 00:22:38,130 al que se le mete la carta 528 00:22:38,130 --> 00:22:39,650 y sobre la baraja 529 00:22:39,650 --> 00:22:41,769 la única que hay a la que están accediendo todos 530 00:22:41,769 --> 00:22:43,529 la estática de baraja se la quita 531 00:22:43,529 --> 00:22:45,930 pero claro, aquí tenemos la combinación 532 00:22:45,930 --> 00:22:47,910 no la estamos viendo a simple vista 533 00:22:47,910 --> 00:22:49,289 porque lo hacemos a través de este método 534 00:22:49,289 --> 00:22:52,049 pero aquí tenemos este problema 535 00:22:52,049 --> 00:22:53,990 y es que recibir carta tiene un remove 536 00:22:53,990 --> 00:22:55,930 dentro, un remove precisamente 537 00:22:55,930 --> 00:22:57,069 de esta colección 538 00:22:57,069 --> 00:22:59,109 sobre la que estoy iterando 539 00:22:59,109 --> 00:23:01,930 entonces si ahora uno intenta ejecutar esto 540 00:23:01,930 --> 00:23:04,130 pues me debería salir 541 00:23:04,130 --> 00:23:05,509 un error de ejecución 542 00:23:05,509 --> 00:23:07,369 porque esta combinación no 543 00:23:07,369 --> 00:23:09,049 vale 544 00:23:09,049 --> 00:23:13,079 y ahí lo tenemos 545 00:23:13,079 --> 00:23:15,500 me sale lo de siempre 546 00:23:15,500 --> 00:23:17,539 me dice, ¿cómo que estás reiterando 547 00:23:17,539 --> 00:23:19,779 y a la vez estás eliminando 548 00:23:19,779 --> 00:23:21,539 de la baraja sobre la que estás iterando? 549 00:23:21,720 --> 00:23:23,539 no, esto que sería lo natural 550 00:23:23,539 --> 00:23:24,160 no lo hagas 551 00:23:24,160 --> 00:23:26,779 y entonces aquí ya 552 00:23:26,779 --> 00:23:28,619 es donde 553 00:23:28,619 --> 00:23:31,500 se os pueden ocurrir diferentes soluciones 554 00:23:31,500 --> 00:23:33,140 vale, una 555 00:23:33,140 --> 00:23:37,420 quizá la más sencilla 556 00:23:37,420 --> 00:23:38,559 no lo sé, es 557 00:23:38,559 --> 00:23:41,500 coger las 10 558 00:23:41,500 --> 00:23:43,500 primeras cartas de la baraja y llevarlas a una colección 559 00:23:43,500 --> 00:23:45,420 aparte, y ahora ya con 560 00:23:45,420 --> 00:23:47,079 esas 10 cartas, añades 561 00:23:47,079 --> 00:23:49,460 a uno de los jugadores y luego las borras de la 562 00:23:49,460 --> 00:23:50,859 baraja, con 563 00:23:50,859 --> 00:23:52,779 Adol y Remufol 564 00:23:52,779 --> 00:23:54,140 y ya está, ¿no? 565 00:23:54,940 --> 00:23:57,339 entiendo que es lo que le estabas 566 00:23:57,339 --> 00:23:58,119 diciendo tú a él, ¿no? 567 00:24:00,640 --> 00:24:12,319 Bueno, sí, sí, sí, claro 568 00:24:12,319 --> 00:24:14,119 Esto mismo que digo, hacerlo con los dos jugadores 569 00:24:14,119 --> 00:24:15,299 O sea, con uno y con el otro 570 00:24:15,299 --> 00:24:18,339 O en el orden que sea, coge las 10 primeras 571 00:24:18,339 --> 00:24:19,720 Las borras de la baraja 572 00:24:19,720 --> 00:24:21,799 O coge las 10 primeras, coge las 10 segundas 573 00:24:21,799 --> 00:24:23,900 Bueno, que hay diferentes combinaciones 574 00:24:23,900 --> 00:24:25,980 Pero bueno, vamos a ponerlo aquí 575 00:24:25,980 --> 00:24:32,259 Lo importante es que esto no 576 00:24:32,259 --> 00:24:34,240 lo importante es que esto no 577 00:24:34,240 --> 00:24:35,480 vale 578 00:24:35,480 --> 00:24:38,059 entonces vamos a ponerlo así 579 00:24:38,059 --> 00:24:49,150 esta llave no me hace falta 580 00:24:49,150 --> 00:24:50,950 con lo cual esta no hace falta 581 00:24:50,950 --> 00:24:53,170 vale, esto no es lo que importa 582 00:24:53,170 --> 00:24:54,250 bueno, pues entonces 583 00:24:54,250 --> 00:24:56,390 ¿qué vamos a hacer? 584 00:24:56,970 --> 00:24:58,069 pues vamos a hacer 585 00:24:58,069 --> 00:25:01,349 una lista con las 10 586 00:25:01,349 --> 00:25:02,589 primeras cartas de la baraja 587 00:25:02,589 --> 00:25:05,390 y una lista con las 10 siguientes cartas 588 00:25:05,390 --> 00:25:07,009 de la baraja, bueno cuando digo 589 00:25:07,009 --> 00:25:09,369 las primeras que me salen cuando entero por el 590 00:25:09,369 --> 00:25:11,250 Haset, que salen 591 00:25:11,250 --> 00:25:13,009 según va saliendo, ¿vale? 592 00:25:13,549 --> 00:25:15,250 Y ya tengo las dos colecciones de cartas 593 00:25:15,250 --> 00:25:17,230 con las que trabajar. Y ahora con esas 594 00:25:17,230 --> 00:25:18,849 dos colecciones. La primera de ellas 595 00:25:18,849 --> 00:25:21,269 va al primer jugador, la segunda 596 00:25:21,269 --> 00:25:23,390 de ellas va al segundo jugador 597 00:25:23,390 --> 00:25:25,190 y luego ya sobre la baraja le hago 598 00:25:25,190 --> 00:25:27,150 un remufol de esta colección y un remufol 599 00:25:27,150 --> 00:25:29,430 de esta otra. Y ya está. Entonces tengo el resultado 600 00:25:29,430 --> 00:25:31,349 que quería. Diez cartas de la baraja 601 00:25:31,349 --> 00:25:33,230 han ido a uno. Y diez cartas de la baraja 602 00:25:33,230 --> 00:25:35,289 han ido a otro. Quizá es 603 00:25:35,289 --> 00:25:37,029 lo más sencillo. ¿Vale? 604 00:25:38,750 --> 00:25:39,190 Entonces, 605 00:25:39,369 --> 00:25:41,210 vamos a hacernos 606 00:25:41,210 --> 00:25:42,930 una lista 607 00:25:42,930 --> 00:25:46,269 con las cartas que van a ir al jugador 1 608 00:25:46,269 --> 00:25:52,210 cartas para el jugador 1 609 00:25:52,210 --> 00:26:13,980 lo bueno de las listas 610 00:26:13,980 --> 00:26:15,019 y las colecciones en general 611 00:26:15,019 --> 00:26:16,799 es que como son tan fáciles de usar 612 00:26:16,799 --> 00:26:18,859 se trata de hacer add, de hacer remove 613 00:26:18,859 --> 00:26:20,539 de hacer lo que sea, como son tan fáciles 614 00:26:20,539 --> 00:26:23,259 uno se las puede crear para cualquier cosa que necesite 615 00:26:23,259 --> 00:26:25,740 ah, necesito un conjunto, ya está, me creo una lista rápidamente 616 00:26:25,740 --> 00:26:27,019 y entonces 617 00:26:27,019 --> 00:26:29,380 es una forma muy rápida de solucionar 618 00:26:29,380 --> 00:26:30,819 problemas y situaciones 619 00:26:30,819 --> 00:26:33,859 vale, pues en esta lista voy a meter 620 00:26:33,859 --> 00:26:35,440 el conjunto de cartas 621 00:26:35,440 --> 00:26:37,279 que quiero que vayan al jugador 1 622 00:26:37,279 --> 00:26:40,079 y para eso, ¿qué voy a hacer? voy a iterar por la baraja 623 00:26:40,079 --> 00:26:42,160 voy a iterar y voy a ir 624 00:26:42,160 --> 00:26:43,279 añadiendo a esta lista 625 00:26:43,279 --> 00:26:45,359 cartas que voy 626 00:26:45,359 --> 00:26:47,279 consultando de la baraja 627 00:26:47,279 --> 00:26:49,519 venga, pues ahora ya 628 00:26:49,519 --> 00:26:51,759 sí que podemos hacer esto, ¿vale? 629 00:26:55,349 --> 00:26:56,609 para cada carta 630 00:26:56,609 --> 00:26:58,609 c en baraja 631 00:26:58,609 --> 00:27:00,910 punto cartas 632 00:27:00,910 --> 00:27:02,730 vale 633 00:27:02,730 --> 00:27:10,089 Bueno, como son las 10 primeras iteraciones 634 00:27:10,089 --> 00:27:14,809 Pues voy a hacer aquí el contador para contar en qué iteración estoy 635 00:27:14,809 --> 00:27:25,529 Entonces, vamos a hacerlo así 636 00:27:25,529 --> 00:27:31,779 If count++ es menor o igual que 9 637 00:27:31,779 --> 00:27:33,240 Y lo dejo ya incrementado 638 00:27:33,240 --> 00:27:36,259 En este caso, ¿qué hago? 639 00:27:36,259 --> 00:27:38,819 Pues cartas 640 00:27:38,819 --> 00:27:39,900 Para 641 00:27:39,900 --> 00:27:42,460 Jugador1.ad 642 00:27:42,460 --> 00:27:44,799 Esta carta C 643 00:27:44,799 --> 00:27:46,640 A ver, recordad que 644 00:27:46,640 --> 00:27:47,480 C en realidad 645 00:27:47,480 --> 00:27:51,220 Es una copia de la dirección de memoria 646 00:27:51,220 --> 00:27:54,720 Vale, pero es que 647 00:27:54,720 --> 00:27:56,099 El ad 648 00:27:56,099 --> 00:27:59,079 Cuando hace licuas no lo hace por dirección de memoria 649 00:27:59,079 --> 00:28:00,680 Sino lo que lo hace por 650 00:28:00,680 --> 00:28:01,680 Contenido, entonces 651 00:28:01,680 --> 00:28:03,940 No hay que liarse con eso 652 00:28:03,940 --> 00:28:06,799 vale, pues entonces voy recorriendo las cartas 653 00:28:06,799 --> 00:28:08,559 si estoy en las 10 primeras 654 00:28:08,559 --> 00:28:09,359 iteraciones 655 00:28:09,359 --> 00:28:12,099 se las añado a 656 00:28:12,099 --> 00:28:14,200 al jugador 1 657 00:28:14,200 --> 00:28:16,500 vale, entonces voy a quitar 658 00:28:16,500 --> 00:28:18,180 el con más más porque entonces ahora para el 659 00:28:18,180 --> 00:28:19,940 safe lo voy a dejar aquí estropeado 660 00:28:19,940 --> 00:28:21,519 entonces el con más más aquí no 661 00:28:21,519 --> 00:28:27,049 vale, y aquí en este código 662 00:28:27,049 --> 00:28:29,369 aunque estaba mal, me hubiera faltado un con más más 663 00:28:29,369 --> 00:28:31,089 también, claro, para incrementarlo 664 00:28:31,089 --> 00:28:32,690 aunque estaba mal lo voy a poner 665 00:28:32,690 --> 00:28:40,990 aquí me hubiera faltado 666 00:28:40,990 --> 00:28:44,329 Después de eso incrementar la iteración en la que estoy 667 00:28:44,329 --> 00:28:49,640 Me hubiera faltado esto 668 00:28:49,640 --> 00:28:52,220 Vale 669 00:28:52,220 --> 00:28:53,900 Bueno, pues aquí 670 00:28:53,900 --> 00:28:56,779 Si estoy en una iteración menor o igual que 9 671 00:28:56,779 --> 00:28:58,119 Se la añado al jugador 1 672 00:28:58,119 --> 00:29:01,779 Si no estoy en una iteración menor o igual que 9 673 00:29:01,779 --> 00:29:07,099 Pero si estoy en una iteración menor o igual que 19 674 00:29:07,099 --> 00:29:09,240 En ese caso 675 00:29:09,240 --> 00:29:12,799 Mándasela al jugador 2 676 00:29:12,799 --> 00:29:21,880 y deja incrementado el número de iteración en la que estás 677 00:29:21,880 --> 00:29:23,079 porque el for each no lo hace 678 00:29:23,079 --> 00:29:25,240 y con el for de índice no puedo recorrer un set 679 00:29:25,240 --> 00:29:26,339 no puedo 680 00:29:26,339 --> 00:29:28,480 así que con esto o con un iterador 681 00:29:28,480 --> 00:29:31,640 pero con un iterador también tendría que llevar un contador de iteraciones 682 00:29:31,640 --> 00:29:36,690 vale, y entonces aquí ya 683 00:29:36,690 --> 00:29:40,650 ah, es que me falta la lista de las cartas del jugador 2 684 00:29:40,650 --> 00:29:47,589 cartas para jugador 2 685 00:29:47,589 --> 00:29:48,730 vale 686 00:29:48,730 --> 00:29:51,109 y ahora 687 00:29:51,109 --> 00:29:53,569 dejo incrementado el contador 688 00:29:53,569 --> 00:29:54,549 de iteraciones 689 00:29:54,549 --> 00:29:59,109 aquí hombre, a ver, como son 40 cartas 690 00:29:59,109 --> 00:30:00,750 que tampoco es tan terrible 691 00:30:00,750 --> 00:30:02,549 pero 692 00:30:02,549 --> 00:30:06,750 este for each va a estar ahí dando 693 00:30:06,750 --> 00:30:09,210 un montón de vueltas, un montón de vueltas, un montón de vueltas 694 00:30:09,210 --> 00:30:10,650 menor o igual 695 00:30:10,650 --> 00:30:12,910 y cuando ya se pase del 19 hacia arriba 696 00:30:12,910 --> 00:30:14,750 no va a hacer nada, entonces si contes 697 00:30:14,750 --> 00:30:15,670 mayor o igual que el 698 00:30:15,670 --> 00:30:18,450 mayor que 19 pediría hacer un break 699 00:30:18,450 --> 00:30:21,970 No sé si me estoy explicando 700 00:30:21,970 --> 00:30:24,950 Pero bueno, vamos a dejarlo 701 00:30:24,950 --> 00:30:26,410 Vale 702 00:30:26,410 --> 00:30:28,309 Pues ya está 703 00:30:28,309 --> 00:30:29,910 Ya tenemos dos colecciones 704 00:30:29,910 --> 00:30:32,509 Esta tiene, en principio, si no me hemos hecho mal 705 00:30:32,509 --> 00:30:33,390 Tiene 706 00:30:33,390 --> 00:30:36,190 Las diez primeras cartas 707 00:30:36,190 --> 00:30:37,670 Que han salido de la baraja 708 00:30:37,670 --> 00:30:38,670 Que han salido del set 709 00:30:38,670 --> 00:30:40,569 Que no salen en orden 710 00:30:40,569 --> 00:30:44,150 Y aquí están las diez siguientes 711 00:30:44,150 --> 00:30:45,210 Que han salido del set 712 00:30:45,210 --> 00:30:48,170 Vale, pues entonces ahora ya 713 00:30:48,170 --> 00:30:53,329 Al jugador1.getCartas 714 00:30:53,329 --> 00:30:55,730 Le podemos ya añadir 715 00:30:55,730 --> 00:30:58,730 Todas a mogollón 716 00:30:58,730 --> 00:31:00,549 Cartas para jugador1 717 00:31:00,549 --> 00:31:01,970 Todas ahí de golpe 718 00:31:01,970 --> 00:31:04,190 Ya las tenemos 719 00:31:04,190 --> 00:31:06,849 Y ahora al jugador2 720 00:31:06,849 --> 00:31:09,349 A sus cartas 721 00:31:09,349 --> 00:31:11,509 Le vamos a añadir todas ahí de golpe 722 00:31:11,509 --> 00:31:14,509 Las cartas para el jugador2 723 00:31:14,509 --> 00:31:19,140 Vale, pues estos jugadores ya tienen sus cartas 724 00:31:19,140 --> 00:31:20,140 Ya se las hemos añadido 725 00:31:20,140 --> 00:31:21,720 no tenían ninguno, ahora tienen 10 726 00:31:21,720 --> 00:31:23,859 pero nos falta 727 00:31:23,859 --> 00:31:26,319 esos dos conjuntos de cartas 728 00:31:26,319 --> 00:31:28,140 eliminarlos de la baraja 729 00:31:28,140 --> 00:31:30,180 vale, pero nuestra baraja 730 00:31:30,180 --> 00:31:30,740 es esta 731 00:31:30,740 --> 00:31:33,319 esta es nuestra baraja 732 00:31:33,319 --> 00:31:35,259 y tiene un método remove all 733 00:31:35,259 --> 00:31:38,019 que yo puedo usar para pasar 734 00:31:38,019 --> 00:31:39,400 una colección y las quita todas 735 00:31:39,400 --> 00:31:42,180 pues venga, quito 736 00:31:42,180 --> 00:31:44,180 y el remove 737 00:31:44,180 --> 00:31:46,119 no hay ningún problema en usarlo 738 00:31:46,119 --> 00:31:47,700 si no está dentro de una iteración 739 00:31:47,700 --> 00:31:49,559 no está dentro, yo estoy directamente 740 00:31:49,559 --> 00:31:51,359 Oye, la baraja, borra las tuyas, ya está 741 00:31:51,359 --> 00:31:56,359 Y esto mismo 742 00:31:56,359 --> 00:32:04,619 Cartas para jugadores 743 00:32:04,619 --> 00:32:05,940 Vale 744 00:32:05,940 --> 00:32:10,009 Bueno, ya estarían las 10 cartas 745 00:32:10,009 --> 00:32:12,029 Vamos a comprobarlo, porque podemos haber 746 00:32:12,029 --> 00:32:13,750 Escrito algo mal 747 00:32:13,750 --> 00:32:14,950 Perfectamente 748 00:32:14,950 --> 00:32:18,369 Vamos a poner aquí las cartas 749 00:32:18,369 --> 00:32:20,630 Que tiene el jugador 1, a ver cuáles le han tocado 750 00:32:20,630 --> 00:32:24,869 Y le ponemos aquí 751 00:32:24,869 --> 00:32:26,829 Un jugador 1 punto 752 00:32:26,829 --> 00:32:27,569 Mostrar mano 753 00:32:27,569 --> 00:32:31,519 Y ahora aquí las 754 00:32:31,519 --> 00:32:34,440 cartas que le han tocado 755 00:32:34,440 --> 00:32:36,279 al jugador 2, a ver si tiene 10 756 00:32:36,279 --> 00:32:36,880 cada uno 757 00:32:36,880 --> 00:32:45,000 y aquí j2.mostrarman 758 00:32:45,000 --> 00:32:48,849 y vamos a ponerle 759 00:32:48,849 --> 00:32:49,710 aquí esto 760 00:32:49,710 --> 00:32:53,859 vale, a ver 761 00:32:53,859 --> 00:32:55,920 que hemos hecho 762 00:32:55,920 --> 00:33:02,809 un error de compilación, por lo pronto no lo he quitado 763 00:33:02,809 --> 00:33:04,349 que está 764 00:33:04,349 --> 00:33:06,970 me falta la llave del main 765 00:33:06,970 --> 00:33:09,089 ¿verdad? en algún momento he borrado una llave 766 00:33:09,089 --> 00:33:09,529 de más 767 00:33:09,529 --> 00:33:12,730 porque esta es la llave de 768 00:33:12,730 --> 00:33:14,470 Entonces, ¿esta llave de dónde viene? 769 00:33:16,210 --> 00:33:17,269 Ah, es esta, vale 770 00:33:17,269 --> 00:33:18,410 Es que me falta esta de aquí 771 00:33:18,410 --> 00:33:21,210 Ahora sí 772 00:33:21,210 --> 00:33:22,869 Vale 773 00:33:22,869 --> 00:33:26,250 Venga, siguiente intento 774 00:33:26,250 --> 00:33:32,829 Bueno, error no da 775 00:33:32,829 --> 00:33:36,170 Jugador 1 776 00:33:36,170 --> 00:33:38,210 Parece que tiene 10, ¿no? 777 00:33:38,769 --> 00:33:40,230 1, 2, 3, 4, 5 778 00:33:40,230 --> 00:33:42,630 6, 7, 8, 9 y 10 779 00:33:42,630 --> 00:33:45,109 Y jugador 2 tiene otras 10 780 00:33:45,109 --> 00:33:46,809 1, 2, 3, 4 y 5 781 00:33:46,809 --> 00:33:48,029 1, 2, 3, 4 y 5 782 00:33:48,029 --> 00:33:49,670 Vale, cada uno tiene 10 cartas 783 00:33:49,670 --> 00:33:52,089 como veis no van en orden 784 00:33:52,089 --> 00:33:54,109 según han salido del set 785 00:33:54,109 --> 00:33:56,529 como él ha manejado su orden interno 786 00:33:56,529 --> 00:33:59,329 ala, pues ya tenemos 787 00:33:59,329 --> 00:34:03,130 en realidad no es aleatorio 788 00:34:03,130 --> 00:34:04,990 a ver, esta palabra 789 00:34:04,990 --> 00:34:06,829 hay que reconocer que no estaba 790 00:34:06,829 --> 00:34:07,690 muy bien 791 00:34:07,690 --> 00:34:09,449 elegida 792 00:34:09,449 --> 00:34:12,829 aquí habría sido mejor poner cualesquiera 793 00:34:12,829 --> 00:34:30,159 Vale, pues entonces ya podemos avanzar 794 00:34:30,159 --> 00:34:32,280 Casi antes de nada la condición esta del wild 795 00:34:32,280 --> 00:34:33,019 Que es más rápida 796 00:34:33,019 --> 00:34:36,440 Mientras las cartas de la baraja 797 00:34:36,440 --> 00:34:38,980 Sean en números mayores que cero 798 00:34:38,980 --> 00:34:41,900 Esa condición casi la podemos poner 799 00:34:41,900 --> 00:34:42,880 Lo primero de todos 800 00:34:42,880 --> 00:34:43,920 Cuidado 801 00:34:43,920 --> 00:34:46,840 mientras haya cartas 802 00:34:46,840 --> 00:34:48,159 en la baraja 803 00:34:48,159 --> 00:34:49,780 seguimos jugando 804 00:34:49,780 --> 00:34:52,940 .cartas.getsize 805 00:34:52,940 --> 00:34:56,579 .getsize no, .size 806 00:34:56,579 --> 00:34:57,760 vale 807 00:34:57,760 --> 00:35:01,099 esta condición de finalización 808 00:35:01,099 --> 00:35:03,179 era lo más fácil en realidad de ver 809 00:35:03,179 --> 00:35:05,340 una vez que 810 00:35:05,340 --> 00:35:06,780 se había denunciado 811 00:35:06,780 --> 00:35:08,900 mientras siga habiendo cartas 812 00:35:08,900 --> 00:35:10,099 mientras la baraja no tenga 813 00:35:10,099 --> 00:35:12,320 cartas, perdón, se acaba 814 00:35:12,320 --> 00:35:14,679 y de hecho indicamos, aunque haya un jugador 815 00:35:14,679 --> 00:35:16,079 que todavía tenga dos y otro tres 816 00:35:16,079 --> 00:35:18,800 en cuanto la baraja se haya quedado sin cartas 817 00:35:18,800 --> 00:35:19,980 como consecuencia de coger 818 00:35:19,980 --> 00:35:22,679 aunque tú te hayas quedado todavía con cartas 819 00:35:22,679 --> 00:35:23,559 se acaba 820 00:35:23,559 --> 00:35:25,900 así era mucho más fácil 821 00:35:25,900 --> 00:35:29,159 y así no hay que hacer las rondas 822 00:35:29,159 --> 00:35:30,539 hasta que se 823 00:35:30,539 --> 00:35:32,320 acaban las que hay en la mano 824 00:35:32,320 --> 00:35:34,840 pues entonces esa condonización ya está 825 00:35:34,840 --> 00:35:36,019 esa condición ya está 826 00:35:36,019 --> 00:35:38,780 mientras haya cartas 827 00:35:38,780 --> 00:35:39,739 en la baraja jugamos 828 00:35:39,739 --> 00:35:42,320 Y ahora, ¿cómo jugamos? Pues sacando las cartas 829 00:35:42,320 --> 00:35:43,659 Para lo cual, afortunadamente 830 00:35:43,659 --> 00:35:45,280 Tenemos 831 00:35:45,280 --> 00:35:47,500 Primero juega el jugador 1 832 00:35:47,500 --> 00:35:51,440 Ala, jugamos carta del palo correspondiente 833 00:35:51,440 --> 00:35:54,039 Ahora 834 00:35:54,039 --> 00:35:57,699 Juega el jugador 2 835 00:35:57,699 --> 00:35:58,940 Sacando su carta 836 00:35:58,940 --> 00:36:04,099 Con el palo correspondiente 837 00:36:04,099 --> 00:36:07,280 Vale, esto es hacer las jugadas 838 00:36:07,280 --> 00:36:09,599 Ha jugado el primer jugador y ha jugado el segundo jugador 839 00:36:09,599 --> 00:36:12,119 Su carta ha salido de su lista 840 00:36:12,119 --> 00:36:13,760 su carta ha salido de su lista 841 00:36:13,760 --> 00:36:15,659 si es que tenían carta 842 00:36:15,659 --> 00:36:17,920 y miran devuelto y si no 843 00:36:17,920 --> 00:36:19,039 ha salido aquí un null 844 00:36:19,039 --> 00:36:22,260 tenemos este método, que es el que nos facilita 845 00:36:22,260 --> 00:36:24,079 ahora el juego, ahora hay que explorar 846 00:36:24,079 --> 00:36:25,320 lo que pasa con C1 y C2 847 00:36:25,320 --> 00:36:27,480 si las dos son diferentes de null 848 00:36:27,480 --> 00:36:29,940 se actualiza la puntuación en función 849 00:36:29,940 --> 00:36:31,940 de quien tenga mayor 850 00:36:31,940 --> 00:36:33,679 si una es null 851 00:36:33,679 --> 00:36:36,039 y la otra no, se actualiza la puntuación 852 00:36:36,039 --> 00:36:38,199 del que no tenga null, y si las dos son null se cogen cartas 853 00:36:38,199 --> 00:36:39,079 y se acaba el bucle 854 00:36:39,079 --> 00:36:41,719 ¿vale? pues ahora es plantear esas condiciones 855 00:36:41,719 --> 00:36:43,260 pues entonces aquí 856 00:36:43,260 --> 00:36:46,440 si C1 es diferente de null 857 00:36:46,440 --> 00:36:48,320 es decir, los dos han podido jugar 858 00:36:48,320 --> 00:36:50,619 los dos han podido jugar 859 00:36:50,619 --> 00:36:51,099 y 860 00:36:51,099 --> 00:36:54,579 C2 es diferente 861 00:36:54,579 --> 00:36:55,159 de null 862 00:36:55,159 --> 00:37:02,960 los dos han podido jugar carta 863 00:37:02,960 --> 00:37:05,340 pues ahora hay que ver a quién se le suma el punto 864 00:37:05,340 --> 00:37:07,159 al que tenga la carta más alta 865 00:37:07,159 --> 00:37:09,860 pues si la carta de C1 866 00:37:09,860 --> 00:37:11,500 getNumero 867 00:37:11,500 --> 00:37:13,079 es mayor 868 00:37:13,079 --> 00:37:15,340 que el número de la del 2 869 00:37:15,340 --> 00:37:19,860 entonces al que hay que ponerle la puntuación 870 00:37:19,860 --> 00:37:22,000 es al jugador 1 871 00:37:22,000 --> 00:37:23,099 ¿vale? 872 00:37:26,460 --> 00:37:28,320 jugador 1.set 873 00:37:28,320 --> 00:37:29,019 puntuación 874 00:37:29,019 --> 00:37:31,119 hay que cambiársela 875 00:37:31,119 --> 00:37:33,940 y hay que ponerle la que tenía antes 876 00:37:33,940 --> 00:37:36,400 que es la que saco con el get 877 00:37:36,400 --> 00:37:38,139 más 1 878 00:37:38,139 --> 00:37:40,480 a la actualizada la puntuación 879 00:37:40,480 --> 00:37:41,239 del jugador 1 880 00:37:41,239 --> 00:37:44,599 ¿vale? 881 00:37:45,340 --> 00:37:48,780 si la carta del jugador 1 es mayor que la carta 882 00:37:48,780 --> 00:37:50,480 de jugador 2, iguales no pueden ser 883 00:37:50,480 --> 00:37:52,139 obviamente, es imposible que sean iguales 884 00:37:52,139 --> 00:37:53,440 porque cuando un jugador ha jugado 885 00:37:53,440 --> 00:37:55,940 cuando se han repartido las cartas 886 00:37:55,940 --> 00:37:58,579 salen de la baraja las que se ha llevado un jugador 887 00:37:58,579 --> 00:38:03,510 vale, pues entonces 888 00:38:03,510 --> 00:38:06,800 ah, claro, es que he de decir 889 00:38:06,800 --> 00:38:09,019 ¿por qué me marca esto? es que lo tengo aquí muy separado 890 00:38:09,019 --> 00:38:10,699 esto, así más bonito 891 00:38:10,699 --> 00:38:12,900 ahí, vale 892 00:38:12,900 --> 00:38:16,380 y ahora, si no 893 00:38:16,380 --> 00:38:18,619 si no, entonces 894 00:38:18,619 --> 00:38:20,579 es la C2 mayor, porque igual no 895 00:38:20,579 --> 00:38:21,980 pueden ser, igual es imposible 896 00:38:21,980 --> 00:38:24,519 pues si no, esto, pero para 897 00:38:24,519 --> 00:38:25,340 al jugador 2. 898 00:38:34,119 --> 00:38:36,559 Esto en el caso de que los dos hayan podido jugar. 899 00:38:38,260 --> 00:38:41,559 Ahora, siguiente situación que se me puede dar. 900 00:38:42,440 --> 00:38:44,760 Que el primero haya sido nul, 901 00:38:45,920 --> 00:38:46,900 pero el segundo no. 902 00:38:48,840 --> 00:38:51,280 Entonces le sumo un punto al segundo. 903 00:38:52,280 --> 00:38:53,599 Pues se me puede dar esto entonces. 904 00:38:54,260 --> 00:38:55,920 Si c1 es igual a nul 905 00:38:55,920 --> 00:39:01,699 y c2 es diferente de nul, 906 00:39:02,159 --> 00:39:04,340 En este caso 907 00:39:04,340 --> 00:39:07,000 El que se lleva el punto es el C2 908 00:39:07,000 --> 00:39:08,380 Que es el que ha podido jugar carta 909 00:39:08,380 --> 00:39:10,340 Pues esto es lo que pongo aquí 910 00:39:10,340 --> 00:39:18,170 Ahí, vale 911 00:39:18,170 --> 00:39:21,280 Ya tengo el segundo caso 912 00:39:21,280 --> 00:39:23,139 El primero era los dos diferentes de nul 913 00:39:23,139 --> 00:39:25,440 El segundo, el primero nul y el segundo no 914 00:39:25,440 --> 00:39:29,260 Ahora, el siguiente caso 915 00:39:29,260 --> 00:39:45,599 A ver 916 00:39:45,599 --> 00:39:48,260 no te entiendo 917 00:39:48,260 --> 00:39:50,199 un or aquí, a ver, es que si 918 00:39:50,199 --> 00:39:51,659 pones aquí un or 919 00:39:51,659 --> 00:39:53,360 te va a entrar aquí 920 00:39:53,360 --> 00:39:56,099 en cuanto una de las dos 921 00:39:56,099 --> 00:39:57,840 no sea, si una de las dos es null 922 00:39:57,840 --> 00:39:59,760 te entra, entonces te va a salir un null pointer exception 923 00:39:59,760 --> 00:40:00,539 en una de estas 924 00:40:00,539 --> 00:40:05,000 o sea, si tú aquí pones un or 925 00:40:05,000 --> 00:40:06,820 vas a entrar 926 00:40:06,820 --> 00:40:09,139 siendo c1 null 927 00:40:09,139 --> 00:40:10,579 o siendo c2 null 928 00:40:10,579 --> 00:40:12,920 ¿vale? entonces 929 00:40:12,920 --> 00:40:15,599 aquí ya vas a tener el primer null pointer exception 930 00:40:15,599 --> 00:40:18,579 porque en el caso de que 931 00:40:18,579 --> 00:40:20,400 una de las dos sea null, entras 932 00:40:20,400 --> 00:40:22,460 null pointer exception 933 00:40:22,460 --> 00:40:24,559 enorme en cuanto te entres por ahí 934 00:40:24,559 --> 00:40:28,739 otro or, pero para qué 935 00:40:28,739 --> 00:40:32,300 o sea, es que vas a anidar un montón de cosas 936 00:40:32,300 --> 00:40:34,500 o sea, no es más sencillo separar los cuatro 937 00:40:34,500 --> 00:40:35,360 casos que tienes 938 00:40:35,360 --> 00:40:38,659 o sea, que son diferentes de null, hago esto 939 00:40:38,659 --> 00:40:40,380 que una es null y la otra no 940 00:40:40,380 --> 00:40:41,260 hago esto otro 941 00:40:41,260 --> 00:40:44,340 a ver, plantea tú esto si quieres 942 00:40:44,340 --> 00:40:46,239 de otra manera, pero quizá yo creo que se 943 00:40:46,239 --> 00:40:47,840 se complica más 944 00:40:47,840 --> 00:40:52,420 pero vamos, que se pueden organizar los if 945 00:40:52,420 --> 00:40:53,099 de otra manera 946 00:40:53,099 --> 00:40:56,139 entonces, si 947 00:40:56,139 --> 00:40:57,539 este es null y esta no 948 00:40:57,539 --> 00:40:59,860 entonces 949 00:40:59,860 --> 00:41:02,460 y si esta es la que 950 00:41:02,460 --> 00:41:03,500 es diferente de null 951 00:41:03,500 --> 00:41:05,480 y esta sí que es igual a null 952 00:41:05,480 --> 00:41:08,760 pues entonces es esto mismo, pero cambiado a j1 953 00:41:08,760 --> 00:41:09,860 esto 954 00:41:09,860 --> 00:41:20,590 vale, entonces tenemos 955 00:41:20,590 --> 00:41:23,090 los dos diferentes de nul 956 00:41:23,090 --> 00:41:24,869 actualizamos el punto del que sea 957 00:41:24,869 --> 00:41:26,429 uno nul y el otro lo 958 00:41:26,429 --> 00:41:28,670 actualizamos el punto del que sea 959 00:41:28,670 --> 00:41:30,789 y el else 960 00:41:30,789 --> 00:41:32,289 ahora ya este else 961 00:41:32,289 --> 00:41:35,230 es en el cual los dos 962 00:41:35,230 --> 00:41:36,590 han sido nul 963 00:41:36,590 --> 00:41:38,969 es decir, ninguno ha podido jugar carta 964 00:41:38,969 --> 00:41:40,469 porque ninguno tenía de ese palo 965 00:41:40,469 --> 00:41:43,329 entonces en este caso 966 00:41:43,329 --> 00:41:44,130 ¿qué es lo que había que hacer? 967 00:41:45,309 --> 00:41:46,469 rellenar hasta 10 968 00:41:46,469 --> 00:41:48,250 las cartas de cada uno 969 00:41:48,250 --> 00:41:49,730 rellenar hasta 10 970 00:41:49,730 --> 00:41:51,489 y 971 00:41:51,489 --> 00:41:54,210 cambiar el par de autoridades 972 00:41:54,210 --> 00:41:56,969 entonces ahora de nuevo aquí se plantea 973 00:41:56,969 --> 00:41:59,050 el mismo problema que cuando hemos repartido 974 00:41:59,050 --> 00:42:01,250 cartas, lo que pasa es que ahora no repartimos 975 00:42:01,250 --> 00:42:02,010 10 a cada uno 976 00:42:02,010 --> 00:42:05,170 sino que repartimos las que le falten a cada uno 977 00:42:05,170 --> 00:42:07,309 hasta 10, simplemente las que le falten 978 00:42:07,309 --> 00:42:08,949 entonces ahora aquí simplemente 979 00:42:08,949 --> 00:42:11,070 es hacer este mismo código 980 00:42:11,070 --> 00:42:13,170 este mismo en el cual 981 00:42:13,170 --> 00:42:13,909 hemos repartido 982 00:42:13,909 --> 00:42:16,309 el mismo en el cual hemos repartido 983 00:42:16,309 --> 00:42:19,050 pero en lugar de darle 984 00:42:19,050 --> 00:42:20,309 10 a cada uno 985 00:42:20,309 --> 00:42:22,369 darle 986 00:42:22,369 --> 00:42:24,750 vale, darle hasta que complete 987 00:42:24,750 --> 00:42:25,349 hasta 10 988 00:42:25,349 --> 00:42:29,570 las que le falten 989 00:42:29,570 --> 00:42:31,909 entonces pues 990 00:42:31,909 --> 00:42:33,750 y luego cambiar el par aleatoriamente 991 00:42:33,750 --> 00:42:36,769 entonces aquí, pues como podríamos 992 00:42:36,769 --> 00:42:38,829 hacerlo, pues primero vamos a ver 993 00:42:38,829 --> 00:42:40,710 las cartas que hay que darle al jugador 994 00:42:40,710 --> 00:42:42,610 2, vale para hacer 995 00:42:42,610 --> 00:42:45,210 voy a hacerlo, voy escribiendo 996 00:42:45,210 --> 00:42:46,789 para hacerlo más o menos 997 00:42:46,789 --> 00:42:48,630 organizado, que luego uno recompone 998 00:42:48,630 --> 00:42:51,110 este código y lo reescribe de otra manera, pues estupendo 999 00:42:51,110 --> 00:42:54,659 cartas para 1000 00:42:54,659 --> 00:42:55,579 jugador 1 1001 00:42:55,579 --> 00:42:58,179 bueno, pues para jugador 1 1002 00:42:58,179 --> 00:43:00,579 ¿cuántas cartas hacen 1003 00:43:00,579 --> 00:43:02,500 falta? para jugador 1 1004 00:43:02,500 --> 00:43:04,320 hacen falta 10 1005 00:43:04,320 --> 00:43:05,980 menos las que ya tenga 1006 00:43:05,980 --> 00:43:08,579 que es un jugador 1007 00:43:08,579 --> 00:43:10,980 punto cartas 1008 00:43:10,980 --> 00:43:12,820 10 cartas 1009 00:43:12,820 --> 00:43:13,440 jugador 1010 00:43:13,440 --> 00:43:15,559 punto 6 1011 00:43:15,559 --> 00:43:18,559 estas son las que hay que 1012 00:43:18,559 --> 00:43:20,480 darle al jugador 1, ¿vale? 1013 00:43:21,179 --> 00:43:24,300 y ahora 1014 00:43:24,300 --> 00:43:26,820 cartas 1015 00:43:26,820 --> 00:43:28,719 para jugador 1016 00:43:28,719 --> 00:43:33,980 2, pues 10 1017 00:43:33,980 --> 00:43:35,539 menos las que tenga ya en la mano 1018 00:43:35,539 --> 00:43:43,500 punto 6 1019 00:43:43,500 --> 00:43:44,500 vale 1020 00:43:44,500 --> 00:43:56,670 y ahora ya sí que podemos hacer 1021 00:43:56,670 --> 00:43:58,769 lo mismo de antes 1022 00:43:58,769 --> 00:44:00,090 de la baraja 1023 00:44:00,090 --> 00:44:04,280 cogemos estas, cogemos estas 1024 00:44:04,280 --> 00:44:05,719 que a lo mejor nos paramos antes 1025 00:44:05,719 --> 00:44:07,179 porque ya no quedan 1026 00:44:07,179 --> 00:44:10,400 Pero bueno, hasta que se llenen 1027 00:44:10,400 --> 00:44:11,900 Y se las damos a cada uno de ellos 1028 00:44:11,900 --> 00:44:14,059 Entonces, pues podríamos 1029 00:44:14,059 --> 00:44:17,019 Todo esto, si uno lo va metiendo en métodos auxiliares del main 1030 00:44:17,019 --> 00:44:17,719 Queda más claro 1031 00:44:17,719 --> 00:44:19,280 Yo no lo voy metiendo para... 1032 00:44:19,280 --> 00:44:21,440 Pero luego todo esto lo podéis reescribir y dejarlo más bonito 1033 00:44:21,440 --> 00:44:25,159 Entonces, ¿qué código habíamos dicho para repartir las cartas? 1034 00:44:25,820 --> 00:44:27,099 Pues habíamos hecho 1035 00:44:27,099 --> 00:44:28,659 Esto, todo esto 1036 00:44:28,659 --> 00:44:29,820 Todo esto 1037 00:44:29,820 --> 00:44:34,980 Todo este código era para repartir las cartas 1038 00:44:34,980 --> 00:44:36,139 Este y este 1039 00:44:36,139 --> 00:44:37,840 Todo este código 1040 00:44:37,840 --> 00:44:40,039 El que podríamos meter en un main auxiliar 1041 00:44:40,039 --> 00:44:41,559 Repito, repartir cartas 1042 00:44:41,559 --> 00:44:43,500 Repartir tantas cartas 1043 00:44:43,500 --> 00:44:44,619 Podríamos meter en un main auxiliar 1044 00:44:44,619 --> 00:44:46,880 Este código para repartir 1045 00:44:46,880 --> 00:44:49,380 Pero bueno, yo lo voy a poner aquí directamente 1046 00:44:49,380 --> 00:44:51,139 Vamos a poner 1047 00:44:51,139 --> 00:44:55,800 Repartimos cartas hasta 10 1048 00:44:55,800 --> 00:44:59,539 Vale, pues voy a poner aquí 1049 00:44:59,539 --> 00:45:01,880 Ahí 1050 00:45:01,880 --> 00:45:04,599 A ver 1051 00:45:04,599 --> 00:45:06,639 Repartimos cartas hasta 10 1052 00:45:06,639 --> 00:45:08,079 Vale, entonces 1053 00:45:08,079 --> 00:45:10,539 esta lista ya está declarada, no hace falta 1054 00:45:10,539 --> 00:45:11,719 que la vuelva a declarar 1055 00:45:11,719 --> 00:45:14,739 esta lista ya está declarada, no hace falta que la vuelva a declarar 1056 00:45:14,739 --> 00:45:16,280 lo que hacemos es 1057 00:45:16,280 --> 00:45:18,400 limpiarla, ponerla a cero de nuevo, la dejamos 1058 00:45:18,400 --> 00:45:20,679 limpita, este contador 1059 00:45:20,679 --> 00:45:21,500 ya está 1060 00:45:21,500 --> 00:45:24,699 así 1061 00:45:24,699 --> 00:45:25,940 ahora 1062 00:45:25,940 --> 00:45:27,940 si 1063 00:45:27,940 --> 00:45:30,760 cont es menor o igual 1064 00:45:30,760 --> 00:45:31,159 que 1065 00:45:31,159 --> 00:45:34,159 las cartas que van 1066 00:45:34,159 --> 00:45:36,739 hasta jugador 1 1067 00:45:36,739 --> 00:45:41,210 cartas 1068 00:45:41,210 --> 00:45:45,480 para jugador 1 1069 00:45:45,480 --> 00:45:47,780 ¿vale? pues entonces 1070 00:45:47,780 --> 00:45:48,940 lo voy metiendo en su lista 1071 00:45:48,940 --> 00:45:51,760 si no es menor, pero es menor 1072 00:45:51,760 --> 00:45:53,599 que las que van a la suma de ambas 1073 00:45:53,599 --> 00:45:57,300 y con este nombre de variable tan grande 1074 00:45:57,300 --> 00:46:10,710 ¿vale? por ejemplo, si el primero 1075 00:46:10,710 --> 00:46:12,889 le ha dicho que le faltan 5 y al primero 1076 00:46:12,889 --> 00:46:15,110 7, pues si es menor que 5 1077 00:46:15,110 --> 00:46:15,969 van al jugador 1 1078 00:46:15,969 --> 00:46:19,230 y si es menor que 5 más 7 1079 00:46:19,230 --> 00:46:20,909 que serían los 12 1080 00:46:20,909 --> 00:46:23,349 Si no es menor que 5, pero si es menor que 12 1081 00:46:23,349 --> 00:46:24,849 Pues entonces van 1082 00:46:24,849 --> 00:46:27,730 Las restantes para el jugador 2 1083 00:46:27,730 --> 00:46:29,510 Y voy incrementando con 1084 00:46:29,510 --> 00:46:31,130 Vale 1085 00:46:31,130 --> 00:46:33,630 Si la baraja 1086 00:46:33,630 --> 00:46:34,510 Se ha acabado 1087 00:46:34,510 --> 00:46:37,670 Solo se habrá llenado 1088 00:46:37,670 --> 00:46:39,389 Las listas con cartas efectivas 1089 00:46:39,389 --> 00:46:40,849 A lo mejor esta no se ha llenado 1090 00:46:40,849 --> 00:46:43,730 Con cartas para jugador 1 totales 1091 00:46:43,730 --> 00:46:45,369 O esta con cartas para jugador 2 1092 00:46:45,369 --> 00:46:47,190 A lo mejor no se han llenado, pero no pasa nada 1093 00:46:47,190 --> 00:46:48,769 Pues la baraja se ha acabado 1094 00:46:48,769 --> 00:46:50,769 Entonces ahora ya 1095 00:46:50,769 --> 00:46:52,030 Esto se queda igual 1096 00:46:52,030 --> 00:46:54,210 Añado las cartas de jugador 1097 00:46:54,210 --> 00:46:55,869 Esta, añado esta 1098 00:46:55,869 --> 00:46:59,309 Y ahora, borro de la baraja esta 1099 00:46:59,309 --> 00:47:01,349 Y borro de la baraja esta otra 1100 00:47:01,349 --> 00:47:02,929 ¿Vale? O sea, es el mismo 1101 00:47:02,929 --> 00:47:08,630 Sí, sí, sí 1102 00:47:08,630 --> 00:47:12,630 Vale, pues nada 1103 00:47:12,630 --> 00:47:16,429 Y ahora lo que falta es 1104 00:47:16,429 --> 00:47:17,250 Cambiar el palo 1105 00:47:17,250 --> 00:47:18,650 Cambiar el palo otra vez 1106 00:47:18,650 --> 00:47:21,110 Que hombre, que menos que un método auxiliar 1107 00:47:21,110 --> 00:47:22,710 Seleccionar palo, ¿no? 1108 00:47:22,710 --> 00:47:25,469 pero bueno, os lo dejo para vosotros para que dejéis el juego ya bonito 1109 00:47:25,469 --> 00:47:26,130 y todo eso 1110 00:47:26,130 --> 00:47:34,860 cambiar palo, pues en mi caso voy a copiar 1111 00:47:34,860 --> 00:47:36,460 y pegar otra vez lo del palo 1112 00:47:36,460 --> 00:47:38,980 pero esto es horroroso, o sea, esto habría que meterlo en un método 1113 00:47:38,980 --> 00:47:40,739 venga, anda, que tardo menos en un método auxiliar 1114 00:47:40,739 --> 00:47:41,719 que 1115 00:47:41,719 --> 00:47:44,619 poniéndolo, entonces 1116 00:47:44,619 --> 00:47:46,739 voy a hacerme aquí 1117 00:47:46,739 --> 00:47:47,599 un método auxiliar 1118 00:47:47,599 --> 00:47:51,019 que me devuelva el palo 1119 00:47:51,019 --> 00:48:00,519 voy a poner 1120 00:48:00,519 --> 00:48:01,840 aquí el método auxiliar 1121 00:48:01,840 --> 00:48:05,460 este de aquí 1122 00:48:05,460 --> 00:48:08,000 este 1123 00:48:08,000 --> 00:48:11,480 eso tan feo 1124 00:48:11,480 --> 00:48:12,840 todo esto se va afuera 1125 00:48:12,840 --> 00:48:14,780 se va aquí 1126 00:48:14,780 --> 00:48:19,300 y ahora 1127 00:48:19,300 --> 00:48:21,960 a este le falta el retúmpalo 1128 00:48:21,960 --> 00:48:25,800 ala, este método 1129 00:48:25,800 --> 00:48:28,840 es para obtener un palo aleatorio 1130 00:48:28,840 --> 00:48:30,639 un palo aleatorio, ya está 1131 00:48:30,639 --> 00:48:32,559 y ahora ya aquí 1132 00:48:32,559 --> 00:48:36,280 selecciono el palo con el método 1133 00:48:36,280 --> 00:48:43,119 así, mucho mejor 1134 00:48:43,119 --> 00:48:46,880 Y aquí cuando me tocaba cambiar de palo 1135 00:48:46,880 --> 00:48:48,900 Pues lo cambio otra vez 1136 00:48:48,900 --> 00:48:58,239 Vale, pues el juego ha terminado aquí ya 1137 00:48:58,239 --> 00:49:00,360 El juego ha terminado aquí 1138 00:49:00,360 --> 00:49:03,360 Vamos a poner pues 1139 00:49:03,360 --> 00:49:05,000 Que jugador ha ganado 1140 00:49:05,000 --> 00:49:06,500 Por poner algo 1141 00:49:06,500 --> 00:49:16,250 Y J1.get.puntuación 1142 00:49:16,250 --> 00:49:21,309 Es mayor que J2.get.puntuación 1143 00:49:21,309 --> 00:49:26,590 Bueno, vamos a la puntuación 1144 00:49:26,590 --> 00:49:27,570 Es de los dos y ya está 1145 00:49:27,570 --> 00:49:31,750 Lo que ha sacado cada uno 1146 00:49:31,750 --> 00:49:32,110 Mejor 1147 00:49:32,110 --> 00:49:35,269 Jugador 1 ha sacado 1148 00:49:35,269 --> 00:49:37,750 J1 1149 00:49:37,750 --> 00:49:39,369 Punto de puntuación 1150 00:49:39,369 --> 00:49:43,460 Y ahora vamos a sacar 1151 00:49:43,460 --> 00:49:45,119 Los puntos del jugador 2 1152 00:49:45,119 --> 00:49:52,519 Jugador 2 ha sacado 1153 00:49:52,519 --> 00:49:52,940 Esto 1154 00:49:52,940 --> 00:49:58,699 Bueno, entonces podemos probarlo ya lo bestia 1155 00:49:58,699 --> 00:50:00,599 Así siendo unos lanzados 1156 00:50:00,599 --> 00:50:03,059 A mí lo único que me 1157 00:50:03,059 --> 00:50:05,199 Asusta un poco, que como hemos hecho muy rápido 1158 00:50:05,199 --> 00:50:07,079 Sin pensar, es cuando hemos vuelto 1159 00:50:07,079 --> 00:50:08,099 A repartir hasta 10 1160 00:50:08,099 --> 00:50:09,860 que alguno de estos 1161 00:50:09,860 --> 00:50:12,539 límites sea menor o igual 1162 00:50:12,539 --> 00:50:13,960 aquí 1163 00:50:13,960 --> 00:50:16,579 pero yo creo que no, porque si a uno le quedan 5 1164 00:50:16,579 --> 00:50:17,420 y a otro le quedan 7 1165 00:50:17,420 --> 00:50:20,719 esto tiene que ir mientras sea menor que 5 1166 00:50:20,719 --> 00:50:23,019 y luego mientras sea menor 1167 00:50:23,019 --> 00:50:23,780 que la suma 1168 00:50:23,780 --> 00:50:28,369 a ver 1169 00:50:28,369 --> 00:50:29,630 ¿se te ha quedado en un bucle infinito? 1170 00:50:30,769 --> 00:50:32,130 pero será que no has cambiado de palo 1171 00:50:32,130 --> 00:50:34,750 porque entonces se queda en un bucle infinito 1172 00:50:34,750 --> 00:50:36,610 ¿te has acordado de cambiar de palo 1173 00:50:36,610 --> 00:50:37,949 cuando no tienen 1174 00:50:37,949 --> 00:50:39,429 porque si no tienen ninguno de los dos 1175 00:50:39,429 --> 00:50:41,530 Bueno, vamos a probarlo, a ver qué hace 1176 00:50:41,530 --> 00:50:45,389 Porque lo normal después de un chorizo así 1177 00:50:45,389 --> 00:50:46,570 Es que la primera vez digas 1178 00:50:46,570 --> 00:50:48,110 Uy, aquí hay algo raro hecho 1179 00:50:48,110 --> 00:50:49,909 Vamos a ver 1180 00:50:49,909 --> 00:50:53,849 Bueno, vale 1181 00:50:53,849 --> 00:50:55,269 Pues el jugador no ha ganado 1182 00:50:55,269 --> 00:50:58,829 Bueno, habría que revisar 1183 00:50:58,829 --> 00:51:00,309 Que todo lo que está pasando tiene sentido 1184 00:51:00,309 --> 00:51:05,190 Pero se han acabado las cartas de la baraja 1185 00:51:05,190 --> 00:51:09,239 La baraja queda en 20 1186 00:51:09,239 --> 00:51:11,000 1, 2, 3 1187 00:51:11,000 --> 00:51:12,519 Si sumamos estas 1188 00:51:12,519 --> 00:51:14,360 Más la que quedan después debería encajar 1189 00:51:14,360 --> 00:51:16,820 Vamos a mostrar las que quedan en la baraja 1190 00:51:16,820 --> 00:51:17,519 Luego también 1191 00:51:17,519 --> 00:51:20,179 Ah no, en la baraja quedan cero, que tontería 1192 00:51:20,179 --> 00:51:22,639 Pero podemos mostrar 1193 00:51:22,639 --> 00:51:24,599 Jugador 1 1194 00:51:24,599 --> 00:51:26,199 Get puntuación 1195 00:51:26,199 --> 00:51:27,559 Y le vamos a poner, y le quedan 1196 00:51:27,559 --> 00:51:29,159 A ver cuantas cartas le quedaban en la mano 1197 00:51:29,159 --> 00:51:32,730 Y le quedan 1198 00:51:32,730 --> 00:51:36,010 A ver si nos encajan las cuentas 1199 00:51:36,010 --> 00:51:37,849 Que eso ya sí que sería hacer una prueba 1200 00:51:37,849 --> 00:51:38,530 Un poco más 1201 00:51:38,530 --> 00:51:43,730 Jugador.getCartas.size 1202 00:51:43,730 --> 00:51:44,849 Y le quedan esas 1203 00:51:44,849 --> 00:51:47,429 Y ahora vamos a ver 1204 00:51:47,429 --> 00:51:48,969 Cuantos le quedan al jugador 2 1205 00:51:48,969 --> 00:51:50,829 Después de acabar el juego 1206 00:51:50,829 --> 00:52:02,949 Jugador 2, si le quedan 1207 00:52:02,949 --> 00:52:06,230 Venga, vamos a volver a lanzar el juego 1208 00:52:06,230 --> 00:52:09,750 A ver 1209 00:52:09,750 --> 00:52:13,260 Bueno 1210 00:52:13,260 --> 00:52:18,960 Ha ganado este 1211 00:52:18,960 --> 00:52:20,320 Se quedaba cada uno con 10 1212 00:52:20,320 --> 00:52:23,739 Pero la baraja se ha quedado sin cartas 1213 00:52:23,739 --> 00:52:30,260 10 y 10 1214 00:52:30,260 --> 00:52:40,889 1, 2, 3, 4 1215 00:52:40,889 --> 00:52:44,849 5, 6, 7 1216 00:52:44,849 --> 00:52:48,599 8, 9, 10 1217 00:52:48,599 --> 00:52:52,610 11, 12, 13 1218 00:52:52,610 --> 00:52:58,050 14, 15, 16, 17, 18, 19 1219 00:52:58,050 --> 00:53:00,190 y 20, me encajan 1220 00:53:00,190 --> 00:53:03,389 20 jugadas más 20 que se ha quedado cada uno en la mano 1221 00:53:03,389 --> 00:53:05,010 suman las 40 de la baraja 1222 00:53:05,010 --> 00:53:06,949 porque la baraja se ha quedado vacía 1223 00:53:06,949 --> 00:53:09,210 Entonces se han jugado 20 cartas 1224 00:53:09,210 --> 00:53:11,030 Cada jugador se ha quedado con 10 1225 00:53:11,030 --> 00:53:12,110 Y la baraja está vacía 1226 00:53:12,110 --> 00:53:13,210 Porque si no habría acabado el bucle 1227 00:53:13,210 --> 00:53:16,289 Entonces bueno, tiene pinta de que lo que hemos hecho 1228 00:53:16,289 --> 00:53:17,489 Tiene sentido y está bien 1229 00:53:17,489 --> 00:53:20,150 Pero lo podéis revisar más despacio o algo así 1230 00:53:20,150 --> 00:53:24,989 Pero si lo he hecho dos veces 1231 00:53:24,989 --> 00:53:26,070 Y me ha salido distinto 1232 00:53:26,070 --> 00:53:28,329 Míralo, cada vez me sale distinto 1233 00:53:28,329 --> 00:53:30,829 Lo mío es aleatorio y lo tuyo no 1234 00:53:30,829 --> 00:53:34,550 Que se quede en el bucle 1235 00:53:34,550 --> 00:53:36,210 Pues no lo sé 1236 00:53:36,210 --> 00:53:47,949 Pues a mí sí que me va cambiando 1237 00:53:47,949 --> 00:53:49,409 3, 13, 11 1238 00:53:49,409 --> 00:53:50,610 Me va cambiando 1239 00:53:50,610 --> 00:53:54,940 3, 10, vale 1240 00:53:54,940 --> 00:53:57,179 Bueno, pues entonces, a ver 1241 00:53:57,179 --> 00:54:03,320 Este ejército tenía cosas 1242 00:54:03,320 --> 00:54:05,440 Más fáciles y cosas más complicadas 1243 00:54:05,440 --> 00:54:07,619 Las que eran más de pensar, repito 1244 00:54:07,619 --> 00:54:10,300 Eran 1245 00:54:10,300 --> 00:54:11,480 en jugador 1246 00:54:11,480 --> 00:54:14,380 el decidir 1247 00:54:14,380 --> 00:54:16,260 dónde situamos 1248 00:54:16,260 --> 00:54:18,539 las cartas para poder borrarlas 1249 00:54:18,539 --> 00:54:20,199 desde aquí, para poder borrarlas 1250 00:54:20,199 --> 00:54:21,619 desde aquí la que recibe el jugador 1251 00:54:21,619 --> 00:54:23,719 si se la pasáis como parámetro 1252 00:54:23,719 --> 00:54:25,099 si la hacéis estática 1253 00:54:25,099 --> 00:54:27,280 ese era uno de los puntos 1254 00:54:27,280 --> 00:54:32,099 el otro punto, bueno, esto es hacer el máximo 1255 00:54:32,099 --> 00:54:34,019 este tampoco tenía mucho más, esto era hacer el máximo 1256 00:54:34,019 --> 00:54:34,400 ya está 1257 00:54:34,400 --> 00:54:37,739 y la otra cosa complicada 1258 00:54:37,739 --> 00:54:40,019 el reparto de las cartas 1259 00:54:40,019 --> 00:54:42,039 ¿vale? el reparto este 1260 00:54:42,039 --> 00:54:42,820 el reparto 1261 00:54:42,820 --> 00:54:45,300 que se hace tanto aquí 1262 00:54:45,300 --> 00:54:46,820 como ahí debajo 1263 00:54:46,820 --> 00:54:49,219 entonces el reparto de las cartas 1264 00:54:49,219 --> 00:54:51,820 y esto de aquí, el recibir carta 1265 00:54:51,820 --> 00:54:52,900 borrarla de la baraja 1266 00:54:52,900 --> 00:54:55,800 eran las dos cosas en las que había que pensar más 1267 00:54:55,800 --> 00:54:57,179 lo demás era más 1268 00:54:57,179 --> 00:55:00,159 vale, pues entonces 1269 00:55:00,159 --> 00:55:02,719 eh...