Hola:
Explico mi pregunta. Habr?n notado que en algunos juegos como poker o tragamonedas hay un s?mbolo comod?n o JOKER que toma el valor de cualquier otra carta o s?mbolo.
En mi tragamonedas los objetos tienen 8 subim?genes, uno de las cuales es comod?n. ?C?mo hago para que esa subimagen se interprete como igual a cualquier otra?
Por ejemplo: vaca + comodin + vaca = vaca + vaca + vaca
Espero alguna idea. Gracias
Cita de: kaliman777 en Octubre 18, 2010, 02:23:48 PM
Hola:
Explico mi pregunta. Habr?n notado que en algunos juegos como poker o tragamonedas hay un s?mbolo comod?n o JOKER que toma el valor de cualquier otra carta o s?mbolo.
En mi tragamonedas los objetos tienen 8 subim?genes, uno de las cuales es comod?n. ?C?mo hago para que esa subimagen se interprete como igual a cualquier otra?
Por ejemplo: vaca + comodin + vaca = vaca + vaca + vaca
Espero alguna idea. Gracias
Veo que no hay respuestas, pregunatr? esto: ?es posible poner algo c?mo:?
objeto1.image_index=2 = objeto1.image_index=3
es lo que quiero, pero no se puede qu? hago?
No ?Qu? es lo que tratas de expresar con eso?
Cita de: Hackware en Octubre 18, 2010, 11:48:11 PM
No ?Qu? es lo que tratas de expresar con eso?
Repito: Si el objeto obj_comodin debiera tomar el mismo valor que cualquier otro, ?c?m programarlo? ?con una variable que diga obj_comodin=obj_vaca.
En los naipes hay dos cartas comod?n que valen igual que cualquier otra. ?C?mo se hace?
Talvez hay alguna forma usando objetos herederos o parents.
Una forma que puedes usar para comprobar cuando surge una combinaci?n ganadora es enlistando los resultados de la multiplicaci?n de las 3 subim?genes en una sentencia switch. Observa la siguiente tabla:
Citar
Subimagen 1 | Subimagen 2 | Subimagen 3 | Producto |
1 | 1 | 1 | 1 |
2 | 2 | 1 | 4 |
3 | 3 | 1 | 9 |
4 | 4 | 1 | 16 |
5 | 5 | 1 | 25 |
6 | 6 | 1 | 36 |
7 | 7 | 1 | 49 |
8 | 8 | 1 | 64 |
2 | 2 | 2 | 8 |
3 | 3 | 3 | 27 |
4 | 4 | 4 | 64 |
5 | 5 | 5 | 125 |
6 | 6 | 6 | 216 |
7 | 7 | 7 | 343 |
8 | 8 | 8 | 512 |
Ahora observa el siguiente c?digo:
[gml]var a,b,c;
a=subimagen1;
b=subimagen2;
c=subimagen3;
switch (a*b*c)
{
case 1: /*premio*/ break; //Tres comodines (aunque s?lo existen dos ;D)
case 4: /*premio*/ break;
case 8: /*premio*/ break;
case 9: /*premio*/ break;
case 16: /*premio*/ break;
case 25: /*premio*/ break;
case 27: /*premio*/ break;
case 36: /*premio*/ break;
case 49: /*premio*/ break;
case 64:
if (a==8) /*premio grande*/
else /*premio peque?o*/
break;
case 125: /*premio*/ break;
case 216: /*premio*/ break;
case 343: /*premio*/ break;
case 512: /*premio*/ break;
}[/gml]
Para este ejemplo le he asignado al comod?n el valor de 1. Como notar?s solo dos combinaciones producen el mismo resultado, pero eso se arregla f?cilmente comprobando una de las 3 subim?genes. Espero que lo hayas comprendido y te sea ?til.
?Saludos!
Bueno:
Equivale a hacer lo siguiente: si me equivoco en algo me apoyas y me corrijes por favor.
if obj1.image_index=2 and obj2.image_index=2 and obj3.image_index=2
<score+=100>
Me equivoco? As? puedo poner los comodines con otros y solo ordeno el orden posible.
Ayuda
Olvida lo que dije, acabo de darme cuenta que estoy en un gran error. XD
Luego volver? con la soluci?n real. :P