JUEGONUMEROS.c



// PROYECTO 2

/*
EL CERO ES EL ESPACIO
=======================
13   5  11   4
 7   6   8  10
 9   3   1  12
 2  14  15   0
 
 si queremos mover el 12
==> 12 <enter>
 
13   5  11   4
 7   6   8  10
 9   3   1   0
 2  14  15  12
 
==> 0 (se termina el programa)
==> 8 <enter>

< MOVIMIENTO NO VALIDO >
13   5  11   4
 7   6   8  10
 9   3   1   0
 2  14  15  12
==> 1 <enter>

13   5  11   4
 7   6   8  10
 9   3   0   1
 2  14  15  12
==> 8 <enter>

13   5  11   4
 7   6   0  10
 9   3   8   1
 2  14  15  12

==> 0
$_
*/

#include <stdio.h>
#include <stdlib.h>

struct nodo
{
	int numero;
	struct nodo *arr, *aba, *izq, *der;
};
suponiendo que se mueve el 8

13   5  11   4
10   6   8   3
 9   7   0   1
 2  14  15  12
==> 8 <enter>

el 8 está en L2P3
está el 0 en L1P3	==> if ( L2P3->arr == 0 ) SE MUEVE
			    else if ( L2P3->aba == 0 ) SE MUEVE
			    else if ( L2P3->izq == 0 ) SE MUEVE
			    else if ( L2P3->der == 0 ) SE MUEVE
			    else printf("<MOVIMIENTO NO VALIDO>");
			    
PERO SI SE QUISIERA MOVER EL 12
13   5  11   4
10   6   8   3
 9   7   0   1
 2  14  15  12
==> 12 <enter>
			==> if ( L4P4->arr == 0 ) SE MUEVE
			    else ( L4P4->izq == 0) SE MUEVE
			    else printf("<MOVIMIENTO NO VALIDO>");