elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  el programa dejó de funconar correctamente por un problema.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: el programa dejó de funconar correctamente por un problema.  (Leído 10,442 veces)
sanxez1

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #10 en: 11 Septiembre 2016, 21:42 pm »

no hice lo de los couts, pero no se a que se refieren


En línea

Poyoncio

Desconectado Desconectado

Mensajes: 220



Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #11 en: 11 Septiembre 2016, 21:42 pm »


Tu problema es que no sabes en que codigo estas. Iostream es una libreria de C++ y stdlib y stdio de C, por tu code parece que estas en C porque pones printf .... asi que crea un archivo y ponle el code en C que te he puesto y lo guardas como fichero.c y lo compilas.

Prueba este codigo si estas en C :
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <allegro.h>
  4.  
  5.  
  6. int iniciar();
  7. void realizar_juego();
  8. void terminar();
  9.  
  10. int iniciar(){
  11. allegro_init();
  12. install_keyboard();
  13. set_color_depth(16);
  14. if (set_gfx_mode(GFX_AUTODETECT,640,480,0,0)<0){
  15. printf("error al iniciar el modo grafico\n");
  16. allegro_exit();
  17. exit(-1);
  18. }
  19. }
  20.  
  21. void terminar(){
  22. allegro_exit();
  23. }
  24. int main(){
  25. iniciar();
  26. realizar_juego();
  27. terminar();
  28. }
  29. END_OF_MAIN();
  30. void realizar_juego(){
  31.  
  32. BITMAP *nave;
  33. PALETTE paleta;
  34. int x,y, x_anterior, y_anterior;
  35. BITMAP * buffer;
  36.  
  37.  
  38. nave=load_bitmap("C:/Users/DANIEL/Desktop/Programación/C++/Allegro/Naves/recursos/nave.pcx", paleta);
  39. set_palette(paleta);
  40. if (nave==NULL) terminar();
  41. buffer=create_bitmap(nave->w,nave->h);
  42. clear (buffer);
  43. if (buffer==NULL) terminar();
  44. x=SCREEN_W/2;
  45. y=SCREEN_H/2;
  46.  
  47. while (!key[KEY_ESC]){
  48.  
  49. if (key[KEY_UP,KEY_W])
  50. y--;
  51. if (key[KEY_DOWN,KEY_S])
  52. y++;
  53. if (key[KEY_LEFT,KEY_A])
  54. x--;
  55. if (key[KEY_RIGHT,KEY_D])
  56. x++;
  57.  
  58. if (x<0) x=x_anterior;
  59. if (x>SCREEN_W-nave->w) x=x_anterior;
  60. if (y<0) y=y_anterior;
  61. if (y>SCREEN_H-nave->h) y=y_anterior;
  62. if ((x_anterior!=x) || (y_anterior!=y)){
  63. blit (buffer,screen, 0, 0, x_anterior, y_anterior,buffer->w,buffer->h);
  64. blit (screen,buffer,x,y,0,0,buffer->w,buffer->h);
  65. draw_sprite(screen,nave, x, y);
  66. }
  67. x_anterior=x;
  68. y_anterior=y;
  69.  
  70.  
  71. }
  72. }
  73.  
  74.  

Y este otro si estas en C++
Código
  1. #include <cstdio.h>
  2. #include <cstdlib.h>
  3. #include <allegro.h>
  4. #include <iostream>
  5. using namespace std;
  6. int iniciar();
  7. void realizar_juego();
  8. void terminar();
  9.  
  10. int iniciar(){
  11. allegro_init();
  12. install_keyboard();
  13. set_color_depth(16);
  14. if (set_gfx_mode(GFX_AUTODETECT,640,480,0,0)<0){
  15. cout << "Error al iniciar el modo grafico" << endl;
  16. allegro_exit();
  17. exit(-1);
  18. }
  19. }
  20.  
  21. void terminar(){
  22. allegro_exit();
  23. }
  24. int main(){
  25. iniciar();
  26. realizar_juego();
  27. terminar();
  28. }
  29. END_OF_MAIN();
  30. void realizar_juego(){
  31.  
  32. BITMAP *nave;
  33. PALETTE paleta;
  34. int x,y, x_anterior, y_anterior;
  35. BITMAP * buffer;
  36.  
  37.  
  38. nave=load_bitmap("C:/Users/DANIEL/Desktop/Programación/C++/Allegro/Naves/recursos/nave.pcx", paleta);
  39. set_palette(paleta);
  40. if (nave==NULL) terminar();
  41. buffer=create_bitmap(nave->w,nave->h);
  42. clear (buffer);
  43. if (buffer==NULL) terminar();
  44. x=SCREEN_W/2;
  45. y=SCREEN_H/2;
  46.  
  47. while (!key[KEY_ESC]){
  48.  
  49. if (key[KEY_UP,KEY_W])
  50. y--;
  51. if (key[KEY_DOWN,KEY_S])
  52. y++;
  53. if (key[KEY_LEFT,KEY_A])
  54. x--;
  55. if (key[KEY_RIGHT,KEY_D])
  56. x++;
  57.  
  58. if (x<0) x=x_anterior;
  59. if (x>SCREEN_W-nave->w) x=x_anterior;
  60. if (y<0) y=y_anterior;
  61. if (y>SCREEN_H-nave->h) y=y_anterior;
  62. if ((x_anterior!=x) || (y_anterior!=y)){
  63. blit (buffer,screen, 0, 0, x_anterior, y_anterior,buffer->w,buffer->h);
  64. blit (screen,buffer,x,y,0,0,buffer->w,buffer->h);
  65. draw_sprite(screen,nave, x, y);
  66. }
  67. x_anterior=x;
  68. y_anterior=y;
  69.  
  70.  
  71. }
  72. }
  73.  
  74.  
  75.  


« Última modificación: 11 Septiembre 2016, 21:45 pm por Poyoncio » En línea

Curso de ensamblador desde cero
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #12 en: 11 Septiembre 2016, 21:47 pm »

no hice lo de los couts, pero no se a que se refieren

Tienes que localizar qué línea da el error. Para ello hay muchos métodos, y uno es tan simple como ver hasta donde funciona bien. Por ejemplo, con el main, pondrías:
Código
  1. int main(){
  2.    cout << 'a' << endl;
  3.    iniciar();
  4.    cout << 'b' << endl;
  5.    realizar_juego();
  6.    cout << 'c' << endl;
  7.    terminar();
  8.    cout << 'd' << endl;
  9. }

Al ejecutarlo, deberías ver por la consola, letras. Si sale una 'a', el error está en la función "iniciar()". Si sale "ab", el error está en "realizar_juego()", y etc.

En línea

sanxez1

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #13 en: 11 Septiembre 2016, 21:48 pm »

estoy en c++ y siempre he utilizado las librerías stdio y stdlib, uso printf porque me resulta más fácil
En línea

Poyoncio

Desconectado Desconectado

Mensajes: 220



Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #14 en: 11 Septiembre 2016, 21:51 pm »

estoy en c++ y siempre he utilizado las librerías stdio y stdlib, uso printf porque me resulta más fácil
Pues nose, si siempre has usado librerias stdio y stdlib nose como te han compilado, como te digo usa cstdio y cstdlib, y lo de printf, precisamente cout es mas facil. No hay que declarar el tipo de dato que vas a mostrar pero eso ya enfuncion de gustos.

Saludos y haznos caso, sino, no se compilara nada
En línea

Curso de ensamblador desde cero
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #15 en: 11 Septiembre 2016, 21:56 pm »

Pues nose, si siempre has usado librerias stdio y stdlib nose como te han compilado, como te digo usa cstdio y cstdlib, y lo de printf, precisamente cout es mas facil. No hay que declarar el tipo de dato que vas a mostrar pero eso ya enfuncion de gustos.

Saludos y haznos caso, sino, no se compilara nada

Es recomendable utilizar las de C++, pero normalmente se pueden utilizar también las de C, stdlib.h y etc eh? No hay problema en compilar eso.
En línea

Poyoncio

Desconectado Desconectado

Mensajes: 220



Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #16 en: 11 Septiembre 2016, 22:02 pm »

Es recomendable utilizar las de C++, pero normalmente se pueden utilizar también las de C, stdlib.h y etc eh? No hay problema en compilar eso.
A pues nose, ami me daban errores cuando comence (hace 2 meses o menos) por eso ahora aunque casi nunca las use les tengo un poco de tirria, estuve como 2 dias con el mismo error  :laugh: me volvi loco
En línea

Curso de ensamblador desde cero
sanxez1

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #17 en: 12 Septiembre 2016, 21:41 pm »

consegu hacer lo de los couts pero no me sale nngún avso
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #18 en: 12 Septiembre 2016, 21:56 pm »

¿Puedes poner aquí el código con los couts?
En línea

sanxez1

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: el programa dejó de funconar correctamente por un problema.
« Respuesta #19 en: 18 Septiembre 2016, 12:47 pm »

Código:
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>
 
 
int iniciar();
void realizar_juego();
void terminar();
 
int iniciar(){
allegro_init();
install_keyboard();
set_color_depth(16);
if (set_gfx_mode(GFX_AUTODETECT,640,480,0,0)<0){
printf("error al iniciar el modo grafico\n");
allegro_exit();
exit(-1);
}
}
 
void terminar(){
allegro_exit();
}
int main(){
iniciar();
realizar_juego();
terminar();
}
END_OF_MAIN();
void realizar_juego(){
 
BITMAP *nave;
PALETTE paleta;
int x,y, x_anterior, y_anterior;
BITMAP * buffer;
 
 
nave=load_bitmap("C:/Users/DANIEL/Desktop/Programación/C++/Allegro/Naves/recursos/nave.pcx", paleta);
set_palette(paleta);
if (nave==NULL) terminar();
buffer=create_bitmap(nave->w,nave->h);
clear (buffer);
if (buffer==NULL) terminar();
x=SCREEN_W/2;
y=SCREEN_H/2;
 
while (!key[KEY_ESC]){
 
if (key[KEY_UP,KEY_W])
y--;
if (key[KEY_DOWN,KEY_S])
y++;
if (key[KEY_LEFT,KEY_A])
x--;
if (key[KEY_RIGHT,KEY_D])
x++;
 
if (x<0) x=x_anterior;
if (x>SCREEN_W-nave->w) x=x_anterior;
if (y<0) y=y_anterior;
if (y>SCREEN_H-nave->h) y=y_anterior;
if ((x_anterior!=x) || (y_anterior!=y)){
blit (buffer,screen, 0, 0, x_anterior, y_anterior,buffer->w,buffer->h);
blit (screen,buffer,x,y,0,0,buffer->w,buffer->h);
draw_sprite(screen,nave, x, y);
}
x_anterior=x;
y_anterior=y;
 
 
}
}
 
En línea

Páginas: 1 [2] 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines