Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - AlbertoBSD

#961
Citarcomo tengo el verano por delante tengo tiempo de aprender c++ más allegro

;-) ;-) ;-)

Muy bien, lo bueno que si compilo asi, si el error estara en el makefile posiblemente alguno de los flags que tiene

CFLAGS= -g -Wall -ansi -pedantic

Seria de revisarlos de uno en uno a ver cual es el te pone los WARNINS (-Wall)  :xD

Saludos
#962
Deberias de empezar con algo mas sencillo pero de igual manera valida que exista el directorio

/usr/include/allegro5

Saludos!
#963
Cita de: class_OpenGL en 21 Julio 2016, 18:00 PM
Por cierto, bien programado :D

Si vieras que si me equivocaba un buen al momento de mover las fichas me fallaba el desplazamiento o se movian para otro lado xD....


Asi se queda, no es posible acomodar ese ultimo uno.

Según explican en el documento final


Estaba pensando en un reto para este juego seria crear un grafo con todas las posibilidades dada una configuración inicial y apartir de ahi determinar si una combinación dada es posible o no dada la configuración inicial.


El reto tiene de todo, desde busqueda, creacion del grafo hasta eficiencia de los algoritmos para buscar.

Saludos
#964
Bueno les dejo aquí el código del Juego del imposible...

Se juega usando las teclas w,a,s,d como si fueran las flechas del teclado, esta seguida de un enter.

El reto "imposible" es definir dada la matriz inicial llegar a su forma inversa:

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


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



Y si, es IMPOSIBLE

/*
Juego del Imposible | Programación en C

[ 1][ 2][ 3][ 4]
[ 5][ 6][ 7][ 8]
[ 9][10][11][12]
[13][14][15][  ]
               
w
asd

Contacto
Twitter: @albertobsd
Email: alberto.bsd@gmail.com
*/
#include<stdio.h>

void imprimir_tablero();

int tabla[4][4];
int x= 3,y =3;

int main() {
int i = 0,j =0,contador = 1;
char caracter,enter;
//Inicializar la tabla o matriz de juego
while(i < 4) {
j = 0;
while(j < 4) {
tabla[i][j] = contador;
//printf("[%2i]",tabla[i][j]);
j++;
contador++;
}
printf("\n");
i++;
}
tabla[y][x] = 0;
imprimir_tablero();
do {
caracter = getchar();
enter = getchar();
switch(caracter) {
case 'w': //arriba
if(y <= 2) {
//Movimiento de ficha
tabla[y][x] = tabla[y+1][x];
tabla[y+1][x] = 0;
imprimir_tablero();
y++;
}
else {
printf("Fuera de los limites\n");
}
break;
case 's': //abajo
if(y >= 1) {
//Movimiento de ficha
tabla[y][x] = tabla[y-1][x];
tabla[y-1][x] = 0;
imprimir_tablero();
y--;
}
else {
printf("Fuera de los limites\n");
}
break;
case 'a': //izquierda
if(x <= 2) {
//Movimiento de ficha
tabla[y][x] = tabla[y][x+1];
tabla[y][x+1] = 0;
imprimir_tablero();
x++;
}
else {
printf("Fuera de los limites\n");
}

break;
case 'd': //derecha
if(x >= 1) {
tabla[y][x] = tabla[y][x-1];
tabla[y][x-1] = 0;
imprimir_tablero();
x--;
}
else {
printf("Fuera de los limites\n");
}
break;
case '0': //Salida
break;
default:
printf("Caracter Incorrecto");
break;
}
printf("Caracter : %c\n",caracter);
}while(caracter != '0');
return 0;
}

void imprimir_tablero() {
int i = 0,j;
while(i < 4) {
j = 0;
while(j < 4) {
if(tabla[i][j] != 0) {
printf("[%2i]",tabla[i][j]);
}
else {
printf("[  ]");
}
j++;
}
printf("\n");
i++;
}
}



Video:

[youtube=640,360]https://www.youtube.com/watch?v=etbTecakXFg[/youtube]

Dejo también un Documento donde se explica de forma matemática por que es imposible el acomodo invertido dada una posición inicial.

http://miscelaneamatematica.org/Misc40/Campos_r.pdf

Aclaro que ese documento no es mio, lo realizaron los autores ahí señalados en el mismo.

Saludos!
#965
El erro esta en que aunque si reservas memoria para el nombre en la función.

Posteriormente reasignas el apuntador de nombre al valor del buffer a.

Deberia de quedar asi.

char *nombre = ( char* )calloc( totCarac , sizeof(char) );

   nombre = strcat(nombre, a);
   nombre = strcat(nombre,m);
   nombre = strcat(nombre,".15.txt");
   printf("\n %s",nombre);
#966
Deberian de contratar al el-brujo para que detenga los ataques DDoS.  :xD ;-)

Saludos
#967
Las diagonales deben de ser dobles ejemplo:
char *nombre = "\n El anterior es  un salto de linea y el siguiente es un slash \\";


Saludos!
#968
Valida que L no sea Null y procede pero si es NULL manda error de lista vacia
#969
Un juez con cerebro por fin  ;-) ;-) ;-).

es bueno leer este tipo de noticias debes en cuando.

Saludos
#970
Hardware / Re: Disco Duro DELL [ AYUDA ]
20 Julio 2016, 15:11 PM
Ya lo formatearon?

Que extensión tienen los archivos? Pasa lo mismo con todos los archivos aunque no sean imagenes?