Buenas.
Estoy creando un juego de cartas de batalla.
Mi problema es que Cuando el jugadorA usa la carta1 para eliminar la carta2,
todas las cartas 2 son eliminadas.
Como puedo programarlo, para que solo elimine la carta que tiene que eliminarse.
Gracias
Hola.
La verdad es que das muy poca información. Imagino que usas la instrucción “destruir objeto”.
Prueba usar el evento “repetir por cada instancia de objeto…”
1 Like
Buenas.
Gracias por tu respuesta.
Estoy aprendiendo a usar GDevelop 5.
He hecho varios tutoriales y un juego de plataformas en 2d.
Ahora estoy intentado hacer un juego de cartas, estilo yugioh. Pero sin efectos.
Solo ataque y vida.
Tengo 20 cartas creadas como Sprites.
Cuando empieza el juego ambos jugadores reciben 3 cartas.
Para hacer este reparto de cartas de manera aleatoria utilizo la función “Random”
Después, cada Sprite ( Carta ) lo asigno a un numero.
De esta manera cada jugador recibe 3 cartas de manera aleatoria.
Una carta del Jugador A ataca a otra carta del Jugador B cuando ambas cartas colisionan.
y si una carta tiene mas ataque que la otra carta vida, pues la carta con menos vida es eliminada con la función “Destruir objeto”.
Mi problema es que si esta carta( pongámosle de nombre Nº10) es destruida, automáticamente todas las Cartas Nº10 que hay en el tablero de juego son destruidas.
Un Saludo.
A ver si lo soluciono.
Imagino que cada objeto - carta tiene una variable de objeto que indica el valor de la carta. Vamos a llamarla “valor”
Luego estaría bien que cada carta tenga una variable de objeto indicando el propietario de esa carta. Jugador 1, jugador 2… le llamaremos “propietario”.
Entiendo que colisionan dos cartas solo. Primero lo primero se lanzará una carta y solo habrá una carta en la mesa. Pues cuando esa carta esté en la mesa mete el valor de esa carta a una variable (variable puente) de escena que le llamaremos valor_activo.
Y al lanzar la carta segunda mete el valor de esta carta en otra variable de escena llamada valor_activo2
En la colisión. Ya hay una carta en la mesa
EVENTO:
Si la carta tiene el propietario jugador2… Y
La carta colisiona con otra …Y
El valor de carta es menor que valor_activo.
ACCION:
Elimina el objeto.
Asi, yo creo, que una carta está bien identificada y Gdevelop sabe de que carta estamos hablando. Y así eliminamos una carta.
Y luego al revés con la carta de Jugador1 que ya estaba en la mesa. Porque si no se cumple la condición que he puesto arriba, no se ejecutará y habrá dos cartas en mesa.
Espero que esto te ayude.
…
Dices que has hecho tutoriales, ¿se pueden ver? Yo también he hecho alguno.
Hola Olivers,
Voy a intentar hacerlo así.
Gracias.
Si claro, como puedo ponerme en contacto contigo?
pensaba que el tutorial lo tenías publicado en algún sitio.
Yo también estoy haciendo un totorial https://youtu.be/KpgKGVkPagY
Ya me contarás como te fue con ese juego.