PDA

Ver la versión completa : Iniciando minituto "HowTo a simple Snake game"



the_goulin
23/05/2006, 15:24
Oyo,

Pos que me ha dado un poco el punto y como siempre hay por aquí mensajitos del palo "quiero programar un juego!" pues he empezado unos tutos para hacer un pequeño juego en este caso un snake que es mu facilon y no tengo mucho tiempo libre, entre el curro, un mini proyecto gp2xero y otras cosillas no paro...

total que si alguien quiere seguirlo lo puede hacer en este BLOG (http://rubberkey.blogspot.com/) entre mañana y pasado empezare a escribir código y intentare ser lo mas explicito posible, lo unico que pido es que me disculpeis/aviseis si hay faltas de ortografia :P

WinterN
23/05/2006, 15:27
Que grande eres!! :brindis:

pinchacantos
23/05/2006, 16:56
Muchas gracias, a ver si me animo de una vez a hacer algún programilla.


Saludos.

Theck
23/05/2006, 17:05
Jeje, mira tu que ayer empecé a programar pa la consola.

Pues nada, simplemente que nos veremos por allá ya que me interesa empaparme de información de como programarla y todo el tema, y tutoriales de iniciación siempre van bien.

Animo!

Wild[Kyo]
23/05/2006, 17:46
Pues es una muy buena idea. :) Ánimo y gracias. :D

esp3tek
23/05/2006, 18:47
he estado buscando y he encontrado alguna cosa:

http://www.gp32x.de/cgi-bin/cfiles.cgi?1,0,0,0,27,745

the_goulin
23/05/2006, 18:53
he estado buscando y he encontrado alguna cosa:

http://www.gp32x.de/cgi-bin/cfiles.cgi?1,0,0,0,27,745


Oleee, muchas gracias, al igual el set grafico si que lo aprobecho ^_^[wei4]

Neodreamer
24/05/2006, 07:29
The_goulin, no se demasiado de C...hace demasiado tiempo q no lo toco y me viene genial tu tuto asiq te animo.
Tengo una duda, no deberia de llevar un valor(0 ó 1) esta linea q preguntas con un if si es <>?

// inicializa el modo de video de las SDL, si no puede (<0)>

if (SDL_Init (SDL_INIT_VIDEO) <>

fprintf (stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ());

exit (1);

Sino, explicamelo please.
Gracias y 1saludo

the_goulin
24/05/2006, 14:40
The_goulin, no se demasiado de C...hace demasiado tiempo q no lo toco y me viene genial tu tuto asiq te animo.
Tengo una duda, no deberia de llevar un valor(0 ó 1) esta linea q preguntas con un if si es <>?

// inicializa el modo de video de las SDL, si no puede (<0)>

if (SDL_Init (SDL_INIT_VIDEO) <>

fprintf (stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ());

exit (1);

Sino, explicamelo please.
Gracias y 1saludo


pues si, deberian llevar valor, el cuestion es que es un problema del BLOG que no permite etiquetas [code] estoy pensando como solucionarlo :P

sorry ¬_¬!

si se os ocurre algo ya me lo direis

Neodreamer
24/05/2006, 18:53
Mete todo el codigo en un doc o txt y nos lo bajamos...es q sino los q no saben/mos llegaremos a muchos errores. ;)
Pero no te preocupes, simplemente era la duda...aun recuerdo algo de C....yuju!!!! jejejeje
A ver si sigues adelante y le damos caña al C q es muy buen lenguaje.
Gracias y 1saludo

rafasb
25/05/2006, 00:09
Me parece una idea genial. Hay que animarnos a todos a programar para sacer adelante nuestra negrita.

Gracias

Dwarf
25/05/2006, 00:51
Genial, este tutorial lo seguire con muchas ganas :)

Gracias ;)

JimmySlam
25/05/2006, 01:38
puedes poner < como el codigo html , yo en mi blog lo he hecho asi.

fmayosi
25/05/2006, 03:15
Muchas gracias, por el curro que te estas pegando. Intentaré seguir el tutorial y si no pues cuando tenga tiempo libre me meteré en el blog y lo iré practicando.

Lo dicho, muchas gracias y quizás la opción de ponerlo en txt o en hacer un pantallazo y poner una imagen no sea mala si el blog no pilla "code".

Siento no ser de mucha ayuda.

Un saludo.

the_goulin
25/05/2006, 04:27
bueno, pues muchas gracias por la ayuda, creo que intentare meterlo como html y si no me decantare por ficheros txt.

el primer tutorial sera de un Snake sencillito, mas que nada es para que la gente tenga una idea de como se puede hacer y eso.

si todo va bien y estoy con animos cuando termine este empezare uno de un pequeño juego de plataformas.

^_^ :brindis:

Neodreamer
25/05/2006, 05:06
Di q si tio...
Muchas gracias y 1saludo

the_goulin
31/05/2006, 16:31
Aquí dejo parte del código fuente que podre mañana en el log..

de momento el código pinta la serpiente(alias cuadrados que se mueven) y la mueve con el teclado, de momento solo esta implementado el teclado del PC el stick de la GP2x lo podre mas adelante.

pues venga, si alguien se lo quiere ir mirando aquí lo tiene, es cortito pero intenso xDD

lo dicho, que es código para la gente que no tenga mucha o ninguna idea de como empezar a hacer un pequeño juego, los supercoders de lugar casi que ni lo miréis por que no sacareis nada nuevo :P

Saludos,
Rubber

Neodreamer
31/05/2006, 18:49
Muy buena idea la de poner aqui el .c, asi podremos interpretar lo de tu blog mejor sin problemillas de formato.
A ver si puedes implementar cuanto antes lo del joystick para probar los avances en la gp2x
Muchisimas gracias tio.

< - >
Una cosa a ver si me la aclarais...creo recordar de cuando estudie C hace años q las funciones las poniamos despues del main. X lo q veo se pueden poner antes o despues no? El caso es q desde main se pueda acceder a ellas no?
Gracias

< - >
Otra cosa mas, si puedes explicar la ultima funcion, esa de unit32, te lo agradezco xq no tengo ni idea de q hace.
1saludo

the_goulin
31/05/2006, 20:55
Hola,


Si, las funciones las puedes poner antes o despues.

si las pones despues para poder acceder desde el main tienes que declarar antes los prototipos de funcion

esto son prototipos:

void pintaSnake(); // pinta la serpiente en la pantalla
void pintaImagen(int x,int y,SDL_Surface *img); // pinta img en la pantalla
void leeTeclado(); // lee el teclado
SDL_Surface * cargaImagen(char *ruta); // carga imagenes de disco y
Uint32 TimeLeft(void); // calculara el tiempo que ha pasado desde su ultima llamada
void iniciaSnake(); // inicia el array de la serpiente

respecto a la funcion TimeLeft lo primero decir que no la he hecho yo, la he copiado del ejemplo de la ayuda de SDL.

la funcion TimeLeft va ligada a la funcion SDL_Delay que hace que se produzca un retardo de los milisegundos especificados.


la intentare explicar un poco.


Uint32 TimeLeft(void)
{
static Uint32 next_time = 0; // variable estatica, el valor permanece siempre en la memoria
Uint32 now;
now = SDL_GetTicks();
if ( next_time <= now ) {
next_time = now+TICK_INTERVAL;
return(0);
}
return(next_time-now);
}

se crean 2 variables Int de 32 Bits una de ellas es estatica con lo que siempre esta en la memoria
la variable now recoge el valor de SDL_GetTicks() (esta funcion debuelve el nº de milisegundos desde la inicializacion de SDL)
y la variable next_time recoge el numero de milisegundos + TICK_INTERVAL.



if ( next_time <= now ) {
next_time=now+TICK_INTERVAL
return (0);
}
return(next_time-now);


y estas lineas son las que controlan si han pasado los 200 milisegundos(TICK_INTERVAL) si han pasado retorna 0 y
si no han pasado retorna el numero de milisegundos que debe esperar SDL_Delay para completarlos.

he intentado explicarme lo mas claro que he podido :P

Pd. Uint32 es un tipo de dato de SDL es un entero de 32 bits

Neodreamer
31/05/2006, 21:00
Joe macho, muchas gracias x la respuesta tan rapida. x favor no lo dejes q me esta ayudando mazo....a ver si me empoyo mi libro de juegos en sdl y te ayudo en lo q pueda.
1saludo

the_goulin
31/05/2006, 21:48
Me alegro que te sirva de ayuda hombre ^_^ de eso se trata, pues nada aqui te dejo más codigo implementando el stick de la GP2X



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <SDL.h>
#ifdef GP2X
#include <unistd.h>
#endif

#define TICK_INTERVAL 200
#define _snakeMaxTama 200 // tamaño maximo del array
#define mapa_w 30 // mapa ancho
#define mapa_h 20 // mapa alto
#define spriteTama 8 // tamaño de los sprites
// GP2X
// definiciones exclusivas Stick GP2X
#define GP2X_BUTTON_UP (0)
#define GP2X_BUTTON_DOWN (4)
#define GP2X_BUTTON_LEFT (2)
#define GP2X_BUTTON_RIGHT (6)
#define GP2X_BUTTON_UPLEFT (1)
#define GP2X_BUTTON_UPRIGHT (7)
#define GP2X_BUTTON_DOWNLEFT (3)
#define GP2X_BUTTON_DOWNRIGHT (5)
#define GP2X_BUTTON_CLICK (18)
#define GP2X_BUTTON_A (12)
#define GP2X_BUTTON_B (13)
#define GP2X_BUTTON_X (14)
#define GP2X_BUTTON_Y (15)
#define GP2X_BUTTON_L (10)
#define GP2X_BUTTON_R (11)
#define GP2X_BUTTON_START (8)
#define GP2X_BUTTON_SELECT (9)
#define GP2X_BUTTON_VOLUP (16)
#define GP2X_BUTTON_VOLDOWN (17)
// PC
#define UP 0
#define DOWN 4
#define LEFT 2
#define RIGHT 6


void pintaSnake(); // pinta la serpiente en la pantalla
void pintaImagen(int x,int y,SDL_Surface *img); // pinta img en la pantalla
void leeTeclado(); // lee el teclado
SDL_Surface * cargaImagen(char *ruta); // carga imagenes de disco y
Uint32 TimeLeft(void); // calculara el tiempo que ha pasado desde su ultima llamada
void iniciaSnake(); // inicia el array de la serpiente
void messageLoop();


typedef struct
{
int x; // pos x
int y; // pos y
int udir; // direccion
int activo; // activo?
int parte; // tipo parte ? cuerpo/cola
} poSnake;

int snakeTama=6; // tamaño que mide la serpiente
int nDir=2; // ultima direccion seleccionada
int dir=RIGHT; // direccion actual de snake
int iScore=0; // puntillos ^_^
int fx,fy; // posicion fruta
int snakeAumentos=0; // numero de largo q debe aumentar la cola
Uint8 *keys;

int dirJoy=0;
bool mouseButton;
int done;

poSnake Snake[_snakeMaxTama]; // declaracion del array
SDL_Surface *img_pantalla;
SDL_Surface *img_snake;
/* The screen surface */
SDL_Surface *screen = NULL;

// diseño nivel 1 (y unico de momento)
int level[]= {
1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1, 1,1,1,1,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,
1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1, 1,1,1,1,1};

/*
funcion encargada de dibujar las imagenes
Parametros: X , Y , Imagene a pintar
Retorna: Nada (void)
*/
void pintaImagen(int x,int y,SDL_Surface *img)
{
SDL_Rect r; // creamos un SDL_Rect que no es mas que una estructura 4 variable, X , Y , Alto, Ancho
r.x=x; // le especificamos la posicion X
r.y=y; // le especificamos la posicion Y
// no es necesario poner las variables W y H , este Rect solo lo utilizaremos para pintar una imagen en unas coordenadas asi que W y H no se utilizan
SDL_BlitSurface(img,NULL,screen,&r); // (imagen que queremos pintar, porcion de la imagen que queremos pintar(en nuestro caso toda asi que NULL), destino de la imagen (la pintaremos en la pantalla SCREEN), y la posicion donde la pintaremos
}

/*

funcion encargada de cargar las imagenes de disco
Parametros: ruta
Retorna: un SDL_Surface, o NULL si hay algun error

*/

SDL_Surface * cargaImagen(char *ruta)
{
SDL_Surface *img;
if (!(img=SDL_LoadBMP(ruta)))
{
printf("error no se pudo cargar la imagen\n");
return NULL;
}
SDL_SetColorKey(img,SDL_SRCCOLORKEY,SDL_MapRGB(img->format,255,0,255));
return img;
}

/*

inicializa las variables referentes a Snake
Parametros: Ninguno
Retorna: Nada (void)

*/
void iniciaSnake()
{
for (int n=0;n<_snakeMaxTama;n++)
{
Snake[n].x=9+(n*spriteTama+1);
Snake[n].y=9;

}
}
/*
como su nombre indica es la funcion que se encargara de dibujar la serpiente
Parametros: Ninguno
Retorna: Nada (void)
*/
void pintaSnake()
{
for (int n=0;n<snakeTama;n++)
{
pintaImagen(Snake[n].x,Snake[n].y,img_snake);
}
}



void Terminate(void)
{
SDL_Quit();
#ifdef GP2X
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
#endif
}

int main (int argc, char *argv[])
{

//pantalla=SDL_CreateRGBSurface(SDL_SWSURFACE, 320, 240, 16,img->format->Rmask,img->format->Gmask, img->format->Bmask,img->format->Amask);
/* Initialize SDL */
if (SDL_Init (SDL_INIT_VIDEO) < 0) {
fprintf (stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ());
exit (1);
}
atexit (Terminate);

SDL_ShowCursor(SDL_DISABLE);

/* Set 320x240 16-bits video mode */
screen = SDL_SetVideoMode (320, 240, 16, SDL_SWSURFACE);
if (screen == NULL) {
fprintf (stderr, "Couldn't set 320x240x16 video mode: %s\n", SDL_GetError ());
exit (2);
}
img_snake=cargaImagen("block.bmp");
iniciaSnake();
done = 0;
while (!done)
{
SDL_Event event;
SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 0, 0));
messageLoop();
leeTeclado();
pintaSnake();
SDL_Delay(TimeLeft());
SDL_Flip(screen);
}

return 0;
}
void leeTeclado()
{
for (int n=snakeTama;n>0;n--)
{
Snake[n].x=Snake[n-1].x;
Snake[n].y=Snake[n-1].y;
}

keys=SDL_GetKeyState(NULL);
if (keys[SDLK_RIGHT] || dirJoy==RIGHT)
{
dir=RIGHT;
}
if (keys[SDLK_LEFT] || dirJoy==LEFT)
{
dir=LEFT;
}
if (keys[SDLK_UP] || dirJoy==UP)
{
dir=UP;
}
if (keys[SDLK_DOWN] || dirJoy==DOWN)
{
dir=DOWN;
}
switch (dir)
{
case RIGHT:
Snake[0].x+=spriteTama+1;
break;
case LEFT:
Snake[0].x-=spriteTama+1;
break;
case UP:
Snake[0].y-=spriteTama+1;
break;
case DOWN:
Snake[0].y+=spriteTama+1;
break;
}

/*
controla que la serpiente no se salga de los limites de la pantalla
*/
if (Snake[0].x>320 && dir==RIGHT)
Snake[0].x=1;
if (Snake[0].x=1 && dir==LEFT)
Snake[0].x=320;
if (Snake[0].y>240 && dir==DOWN)
Snake[0].y=1;
if (Snake[0].y=1 && dir==UP)
Snake[0].y=240;


}
void pintaFondo()
{
int n,ny;
for (n=0;n< mapa_w;n++)
{
for (ny=0;ny<mapa_h;ny++)
{
if (level[n+(ny*mapa_w)]==1)
{
}
else
{
}
}
}
}
Uint32 TimeLeft(void)
{
static Uint32 next_time = 0;
Uint32 now;
now = SDL_GetTicks();
if ( next_time <= now ) {
next_time = now+TICK_INTERVAL;
return(0);
}
return(next_time-now);
}


void messageLoop()
{
// message processing loop
SDL_Event event;
while (SDL_PollEvent(&event))
{
// check for messages
dirJoy=-1;
mouseButton=-1;
switch (event.type)
{
case SDL_JOYBUTTONDOWN:
switch(event.jbutton.button)
{
case GP2X_BUTTON_X:
// X pressed
break;
case GP2X_BUTTON_L:
// L pressed
break;
case GP2X_BUTTON_LEFT:
dirJoy=LEFT;
break;
case GP2X_BUTTON_RIGHT:
dirJoy=RIGHT;
break;
case GP2X_BUTTON_UP:
dirJoy=UP;
break;
case GP2X_BUTTON_DOWN:
dirJoy=DOWN;
break;
default:
dirJoy=-1;
break;
}
break;
case SDL_JOYBUTTONUP:
switch(event.jbutton.button)
{
case GP2X_BUTTON_X:
// X released
break;
case GP2X_BUTTON_L:
// L released
break;
}
break;


// exit if the window is closed
case SDL_QUIT:
done = true;
break;

// check for keypresses
case SDL_KEYDOWN:
if (event.key.keysym.sym == SDLK_ESCAPE)
done = true;
break;
} // end switch
} // end of message processing

}

64BeeT
01/06/2006, 01:28
hola

me encanta este tutorial que estas haciendo the_goulin, con esto y con el libro de programacion de juegos en SDL para win y linux, al final aprenderé^^

en serio, muchas gracias y no lo dejes, que ahora que viene el verano hay mucho mas tiempo libre y se puede programar :)

saludos!

Neodreamer
01/06/2006, 02:01
ME parecio ver q al principio de la tarde habias puesto el ultimo ejemplo con joystick y ahora veo q es con teclas...xq lo has cambiado? o estoy yo "confundido"? :p
Gracias y 1saludo

the_goulin
01/06/2006, 02:24
ME parecio ver q al principio de la tarde habias puesto el ultimo ejemplo con joystick y ahora veo q es con teclas...xq lo has cambiado? o estoy yo "confundido"? :p
Gracias y 1saludo

funciona con joystick y con teclas ^_^

< - >

hola

me encanta este tutorial que estas haciendo the_goulin, con esto y con el libro de programacion de juegos en SDL para win y linux, al final aprenderé^^

en serio, muchas gracias y no lo dejes, que ahora que viene el verano hay mucho mas tiempo libre y se puede programar :)

saludos!

bueno, ahora faltan los textos explicativos, haber si me da tiempo y mañana los cuelgo :D

the_goulin
01/06/2006, 15:54
Bueno, como he visto que sirve mas el código que nada iré poniendo los comentarios sobre el código, intentando ser lo más explicativo posible :P

Me parece que será mas útil que si me pego toda la tarde escribiendo el tuto.

Así que aquí tenéis un pedazin mas, ahora se dibuja el laberinto, la serpiente no puede salir de el, el stick funciona sin problemas y las funciones se han comentado mucho más.

Ya me contareis ^_^

Por cierto no lo he podido probar el la 2x, pero teóricamente funciona sin problemas.

torero_ryz
04/06/2006, 01:21
suerte con ese proyecto

fmayosi
04/06/2006, 04:12
suerte con ese proyecto

:confused: :confused: Imagino que te refieres al manual que esta creando the_goulin, nop?

Bueno a lo que iba, :D, the_goulin la idea de comentar más en el código es genial, ya que a la vez que revisas el fuente tienes a la vista las explicaciones que para neofitos como yo son muy necesarias. Pero me plantea una duda, si comentas el código dejarás de actualizar el blog?

La verdad es que todavía no he dispuesto de tiempo de seguir el tutorial y tenía intención de hacerlo a través de tu blog, pero evidentenmente no me plantea ninguna dificultad hacerlo a través del foro, sólo es una duda.

Muchas gracias por el curro que te estas pegando y perdona por las molestias. ;)

Un saludo. :brindis:

Dwarf
04/06/2006, 04:28
Y yo llevo todos los dias mirando el blog y lo estas comentando por aqui xD

Bueno lo seguire por aqui que mas da :)

wose_1989
09/06/2006, 02:49
hola, me gusta mucho tu idea y apoyo la iniciativa, no lo dejes please!

una pregunta muy tonta: como ejecuto (en win xp) el codigo que has adjuntado? lo he abierto con el dev-c++(el dev project file) pero me da error en "include SDL.h", pero yo creo que este archivo lo tengo :S

tambien he probado el compilar el archivo main "suelto" pero me da error en "void pintaImagen(int x,int y,SDL_Surface *img); // pinta img en la pantalla", no se si se hace de otra manera o soy yo que hago algo raro...

perdon por la pregunta chorra pero es que quiero complarlo-ejecutarlo

debo hacer algo con el dev-c++ y sus archivos o carpetas?¿

gracias!

Neodreamer
09/06/2006, 03:19
Mira a ver donde lo has instalado(el sdk con las sdl) xq creo q se comento q si la ruta tenia espacios podia fallar al no encontrar las librerias.
X defecto se debe instalar en C:, no en documentos ni similares.
A ver si es eso. 1saludo

wose_1989
09/06/2006, 21:53
hola,

yo es que como soy un poco gi*******s, pues cambiando carpetas y archivos, pues que al final no iba bien y he borrado todo y he vuelto a instalar Dev-C++. Vale. Tengo el dev instalado, las librerias SDL (las sdl originales, nada de gp2x), ahora que hago?

me he bajado tambien, de la seccion descargas, programacion, las SDL2X, no se si es esto lo que necesito, pero si es asi, donde las meto? es que hay tanto "*.h" como "*.c" y cuando instale las SDL normales, solo habia .h y unas dlls.

decidme please que librerias o archivos (y donde) debo meter para ejecutar los codigos y poder luego probar yo cositas.

gracias otra vez, ya se que soy bastante tonto, pero es que yo, los problemas siempre los tengo en cuestion de archivos y instalaciones, luego ya programar, aunque no soy ningun experto, ya me las arreglo mas (sera por que hay mas tutoriales :D :P)

saludos!

the_goulin
09/06/2006, 22:13
:confused: :confused: Imagino que te refieres al manual que esta creando the_goulin, nop?

Bueno a lo que iba, :D, the_goulin la idea de comentar más en el código es genial, ya que a la vez que revisas el fuente tienes a la vista las explicaciones que para neofitos como yo son muy necesarias. Pero me plantea una duda, si comentas el código dejarás de actualizar el blog?

La verdad es que todavía no he dispuesto de tiempo de seguir el tutorial y tenía intención de hacerlo a través de tu blog, pero evidentenmente no me plantea ninguna dificultad hacerlo a través del foro, sólo es una duda.

Muchas gracias por el curro que te estas pegando y perdona por las molestias. ;)

Un saludo. :brindis:



Hola,

Bueno, la idea actual es terminar todo el código comentandolo todo lo que pueda y luego explicar paso a paso en el blog todos los temas necesarios o dudas que vayan surgiendo en este post.

he tenido mucho curro y solo he podido escribir un poco mas de código del snake ^_^ seguramente la semana que viene ya tendremos una versión mas o menos funcional , con su sonidito y su puntitos, su pantalla de presentacion,etc,etc...

lo dicho, de momento el blog esta un poco parado, me es mas cómodo y rápido escribir en el foro.

además los hijos de poota de pricoin... me han estafado con una placa base y un micro y me tienen desde hace una semana sin ordenador en casa, vamos que estoy que hecho fuego...


Saludos,
Goulin

< - >

hola,

yo es que como soy un poco gi*******s, pues cambiando carpetas y archivos, pues que al final no iba bien y he borrado todo y he vuelto a instalar Dev-C++. Vale. Tengo el dev instalado, las librerias SDL (las sdl originales, nada de gp2x), ahora que hago?

me he bajado tambien, de la seccion descargas, programacion, las SDL2X, no se si es esto lo que necesito, pero si es asi, donde las meto? es que hay tanto "*.h" como "*.c" y cuando instale las SDL normales, solo habia .h y unas dlls.

decidme please que librerias o archivos (y donde) debo meter para ejecutar los codigos y poder luego probar yo cositas.

gracias otra vez, ya se que soy bastante tonto, pero es que yo, los problemas siempre los tengo en cuestion de archivos y instalaciones, luego ya programar, aunque no soy ningun experto, ya me las arreglo mas (sera por que hay mas tutoriales :D :P)

saludos!


si te interesa seguir un poco el tutorial y tienes Xp te recomiento el SDK de GPH, yo compilo con el todo sin problemas ni preocupaciones de SDL

Saludos,
Goulin

wose_1989
10/06/2006, 00:20
ya funciona !!

gracias por todo ;)
saludos y lo dicho: animo con el tutorial!!

fmayosi
10/06/2006, 04:29
Gracias por por la respuesta the_goulin, me parece muy buena idea lo de comentar posteriormente en el blog el programa. Muchas gracias por todo y descansa un poco, que la salud es más importante.

Un saludo. ;)

Neodreamer
26/06/2006, 04:55
the_goulin, sigues x ahi? no lo dejes ahora q ibamos bien...
Animo y a ver si sacas el siguiente paso pronto.
1saludo y gracias