PDA

Ver la versión completa : juego en fénix para vuestra gp32 :)



PiXeL2004
15/12/2004, 23:06
os gustan los juegos sin gráficos ni música ni cosas de esas?
aquí tenéis: NOFPG

pd: compiladlo vosotros mismos!
pd2: ta un poco muy comentado y un poco basurizado pero no importa: funciona igualmente xD
pd3: añadirle un archivo llamado hurry.wav si queréis escuchar música ;)


/*
[PiXeL] se enorgullece de presentar: NOFPGMatamata (matamarcianos sin fpg)
Autor: Pablo Navarro Reyes [PiXeL]
Fecha: 2004
Aburrimiento: 99.9%
Obviedad: demasiada...
Comentado: 120% x-D
Lineas: ~ no muchas
Optimización: 2/5 (se podrían juntar cosas como el proceso de la nave y de los enemigos y también los disparos, pero se deja así para que sea más facil de leer.)
*/

Program nofpgmatamata;
Global
ancho_pantalla; // resolución horizontal de la pantalla
alto_pantalla; // resolución vertical de la pantalla
efepeese; // imagenes por segundo
phrame; // se usa para la velocidad en los frame(phrame)
dificultad=2; // dificultad (de 1 a 5)
puntos; // puntos del personaje principal
escroll=1; // para saber si estamos usando c_scroll o c_screen para jugar
id_nave; // identificador para la nave
id_malo[20]; // identificadores para todos los malos
resolucion=0; // para cambiar la resolución
xrand; // numero aleatorio entre 0 y ancho_pantalla
yrand; // numero aleatorio entre 0 y alto_pantalla
malos; // numero de enemigos vivos
max_malos; // numero maximo de enemigos
Local
id_puntos; // puntos de cada enemigo o del jugador
Begin
max_malos=3; // numero maximo de enemigos, 20 es el límite
efepeese=24; //minimo 24
phrame=(efepeese/24)*100; // se usa para la velocidad en los frame(phrame)
set_fps(efepeese,0); // le decimos las imágenes por segundo que usaremos
// esto estaba en el original, así que lo dejo! el caso es que carga una canción del Final Fantasy X que le pega mucho!
// no se como se llama pero es la que salía en los anuncios y al principio del juego también... creo que si que se llamaba
// Hurry... Final Fantasy X es de lo mejor! xD
If(file_exists("./hurry.wav")) // si existe hurry.ogg
play_song(load_song("./hurry.wav"),-1); // "playamos" hurry.ogg
End
inicia(); // empecemos...
End

/*
Iniciamos el juego! (qué emocionante!)
*/

Process inicia();
Private
malomalo;
Begin
write(0,0,0,0,"Puntos:");
write_int(0,56,0,0,OFFSET puntos);
estrellado();
id_nave=nave(750,750);
id_malo[0]=1;
pantalla();
timer[0]=0;
Loop
malomalo=0;
xrand=rand(0,ancho_pantalla);
yrand=rand(0,alto_pantalla);
/* según la dificultad hay mas gente o menos
dif=5: sale 1 bixo cada 0,5 segundos y en******ado
dif=4: sale 1 bixo cada 3 segundos y en******ado
dif=3: sale 1 bixo cada 3 segundos
dif=2: sale 1 bixo cada 7 segundos
dif=1: sale 1 bixo cada 15 segundos
dif=-1: sale 1 bixo cada 0,05 segundos :S
en******ado: van a por ti xD
*/
If(dificultad==5) If(timer[0]>50 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End
If(dificultad==4) If(timer[0]>300 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End
If(dificultad==3) If(timer[0]>300 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End
If(dificultad==2) If(timer[0]>700 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End
If(dificultad==1) If(timer[0]>1500 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End
If(dificultad==-1) If(timer[0]>5 AND malos<max_malos) timer[0]=0; While(exists(id_malo[malomalo])=>1) malomalo++; Frame; End
id_malo[malomalo]=malo(xrand,yrand,malomalo); End End

If(rand(0,100)==3) item(xrand,yrand); End // 3 de cada 100 veces aparece un item...

If(key(_alt) AND key(_x)) exit(0,"¡Gracias por jugar!"); End // todos somos libres...
If(exists(id_nave)==0) id_nave=nave((ancho_pantalla/5)*2,alto_pantalla/2); End // si no existe la nave del jugador, pos la inventamos!
Frame(phrame);
End
End

/*
Para dibujar gráficos estáticos en pantalla
*/
Process grafico(graph,x,y);
Begin
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End // esto sale muxo, si es escroll lo pone en c_scroll sino en c_screen
Loop
Frame(phrame);
End
End

/*
¡¡¡¡La nave!!!! q bonita es xD
*/
Process nave(x,y);
Private
inercia; //sip, inercia...
inerciangle; //inercia angular!!!
repetidor; // espacio de tiempo en el que no te puedes teletransportar
t_invencible; // tiempo durante el que eres invencible
t_repetidor=15; // tiempo que tardas en volver a disparar
id_colision; // para saber contra que chocas
id_item; // para saber con que item chocas
avance; // lo que avanzas
Begin
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End
// hacemos unos circulitos q decrecen para avisarnos donde aparecemos!
graph=new_map(39,39,8);
drawing_color (20);
drawing_map(0,graph);
draw_circle(19,19,19);
drawing_color (20);
draw_circle(19,19,9);
size=200; //el doble de grande
While(size>150) size-=5; Frame(phrame); End
// creamos nuevo mapa pa dibujar la navecica y pintamos!
size=100;
graph=new_map(16,12,8);
drawing_color (20);
drawing_map(0,graph);
draw_line (0,0,0,15);
draw_line (0,11,15,5);
draw_line (15,5,0,0);
drawing_color (21);
draw_line (15,5,0,1);
drawing_color (22);
draw_line (15,5,0,2);
drawing_color (23);
draw_line (15,5,0,3);
drawing_color (24);
draw_line (15,5,0,4);
drawing_color (70);
draw_line (15,5,0,5);
draw_line (15,5,0,6);
drawing_color (24);
draw_line (15,5,0,11);
drawing_color (23);
draw_line (15,5,0,10);
drawing_color (22);
draw_line (15,5,0,9);
drawing_color (21);
draw_line (15,5,0,8);
flags=4; //transparente durante un poco
size=200; //2x tamaño
While(size!=100)
size-=10;
Frame(phrame);
End
Loop
If(escroll==1) ctype=c_scroll; punto(21,x,y); Else ctype=c_screen; End // nos dibuja en el radar si lo hay
// si usamos el teletransportador tendremos que esperar un poco hasta que podamos volver a utilizarlo...
If(key(_space) AND repetidor>15)
repetidor=0;
x=rand(0,ancho_pantalla);
y=rand(0,alto_pantalla);
angle=rand(0,360)*1000;
While(key(_space)) Frame; End
End

If(t_invencible<96) flags=4; Else flags=0; End // somos invencibles? si: transparente, no: opaco
// si nos salimos de la pantalla apareceremos en el extremo opuesto!!
If(x>ancho_pantalla) x=0; End
If(y>alto_pantalla) y=0; End
If(x<0) x=ancho_pantalla; End
If(y<0) y=alto_pantalla; End
// izquierda, derecha, disparo (con retardo entre disparo y disparo) y bloqueo de mandos si se intenta girar hacia ambos lados (furro xD)
If(key(_left)) inerciangle++; End
If(key(_right)) inerciangle--; End
If(key(_alt) AND repetidor>t_repetidor) repetidor=0; disparo(x,y,angle,inercia); End
If(!key(_left) AND !key(_right))
If(inerciangle>0) inerciangle--; End If(inerciangle<0) inerciangle++; End
End
// velocidad de avance
If(key(_control)) inercia++; Else inercia-=1; End
If(inercia>50) inercia=50; End // maximo!
If(inercia<0) inercia=0; End // minimo!
// velocidad de giro
If(inerciangle>20) inerciangle=20; End //maximo y
If(inerciangle<-20) inerciangle=-20; End //minimo, etc...
// si chocamos contra un item, pos miramos su tamaño y nos lo activamos!
If(id_item=collision(Type item))
If(id_item.size==29) t_repetidor--; End
If(id_item.size==31) t_invencible=0; End
signal(id_item,s_kill);
Frame;
End
// el movimiento del proceso finalmente!
angle+=500*inerciangle*100/phrame; // giramos
avance=inercia/5*100/phrame; // cuanto avanzamos?
advance(avance); // pos eso avanzamos!
// estas variables aumentan 1 x cada imagen
repetidor++;
t_invencible++;
If((id_colision=collision(Type disparo_malo)) AND t_invencible>96) Break; End // si te dan, muerex...
Frame;
End
// murió!
puntos--; // 1 minipunto menos pa ti
If(id_colision=collision(Type disparo_malo)) id_colision.father.id_puntos++; End // 1 minipunto más para el q t mató!
signal(id_colision,s_kill); // matamos el disparo que te mató
// animación del circulito doble cuando mueres x-D
graph=new_map(39,39,8);
drawing_color (20);
drawing_map(0,graph);
draw_circle(19,19,19);
drawing_color (20);
draw_circle(19,19,9);
flags=4;
While(size>0) size-=5; Frame(phrame); End
End

/*
Uyyy... el proceso del malo, q miedo! jajajaj (muy parecido al proceso de la nave... c&p? si!)
*/
Process malo(x,y,num_malo);
Private
inercia;
inerciangle;
repetidor;
num;
id_colision;
t_repetidor=15;
t_invencible=97;
id_item;
dist_angle;
dist;
id_texto1;
id_texto2;
String nombre;
Begin
// 1 malo mas acecha...
malos++;
nombre=itoa(num_malo); // su nombre es 1 número
id_texto1=write(0,0,10+10*num_malo,0,"Malo" + nombre + ":"); //
id_texto2=write_int(0,56,10+10*num_malo,0,OFFSET id_puntos); //
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End // lo de siempre...
angle=rand(0,360)*1000; // para que aparezca mirando hacia un punto aleatorio
num=rand(40,230); // el color también será aleatorio
// pintamos los circulos esos que avisan que aparece
graph=new_map(39,39,8);
drawing_color (num);
drawing_map(0,graph);
draw_circle(19,19,19);
drawing_color (num-20);
draw_circle(19,19,9);
// lo hacemos que decrezca...
size=100;
flags=4;
While(size>25) size-=3; Frame(phrame); End
size=rand(75,125);
flags=0;
// y pintamos la nave
If(rand(0,1)==0) // aquí se decide si el enemigo será redondo o cuadrado
graph=new_map(17,17,8);
drawing_color (num);
drawing_map(0,graph);
DRAW_FCIRCLE (8,8,8);
drawing_color (num-20);
DRAW_FCIRCLE (14,8,2);
Else
graph=new_map(17,17,8);
drawing_color (num);
drawing_map(0,graph);
draw_box (0,5,17,12);
drawing_color (num-20);
DRAW_FCIRCLE (14,8,2);
End
// iniciamos el bucle del malo
Loop
If(escroll==1) ctype=c_scroll; punto(num,x,y); Else ctype=c_screen; End // si existe un radar, nos dibuja en el
If(t_invencible<96) flags=4; Else flags=0; End // mientras t_invencible sea menor q 96, es transparente y no muere
// si alcanza un extremo de la pantalla, aparece en el otro
If(x>ancho_pantalla) x=0; End
If(y>alto_pantalla) y=0; End
If(x<0) x=ancho_pantalla; End
If(y<0) y=alto_pantalla; End
// si la dificultad es menor q 4 pues irá un poco a su bola, pero si es mayor... ira a por la nave!
If(dificultad<4)
If(rand(0,1)==0) inerciangle+=2; End
If(rand(0,1)==0) inerciangle-=2; End
If(rand(0,2)==1 AND repetidor>t_repetidor) repetidor=0; disparo_malo(x,y,angle,inercia,num); End
If(inerciangle>0) inerciangle--; End
If(inerciangle<0) inerciangle++; End
If(rand(0,3)==3) inercia--; Else inercia++; End
Else
// comprobamos si existe la nave para matarla!
If(exists(id_nave)==1) // si existe
dist=fget_dist(x,y,id_nave.x,id_nave.y); // conseguimos su distancia desde el malo
dist_angle=get_angle(id_nave); // y el ángulo desde el malo también
End
If(dist<1000) // si la distancia es menor que 1000 pues a por la nave!
If(angle<dist_angle) inerciangle+=2; // giramos para dirigirnos hacia la nave!
Else
inerciangle-=2;
End
inercia+=2; // aceleramos!
If(repetidor>t_repetidor) repetidor=0; disparo_malo(x,y,angle,inercia,num); End
Else
// si no existe la nave, va a su bola, como en la dificultad menor que 4!
If(rand(0,1)==0) inerciangle+=2; End
If(rand(0,1)==0) inerciangle-=2; End
If(rand(0,2)==1 AND repetidor>t_repetidor) repetidor=0; disparo_malo(x,y,angle,inercia,num); End
If(inerciangle>0) inerciangle--; End
If(inerciangle<0) inerciangle++; End
If(rand(0,3)==3) inercia--; Else inercia++; End
End
End
// limites de las inercias
If(inercia>20) inercia=20; End
If(inercia<0) inercia=0; End
If(inerciangle>5) inerciangle=5; End
If(inerciangle<-5) inerciangle=-5; End
// si choca contra un item lo recoge
If(id_item=collision(Type item))
If(id_item.size==29) t_repetidor--; End
If(id_item.size==31) t_invencible=0; End
signal(id_item,s_kill);
Frame;
End
// finalmente gira, avanza y suma 1 a repetidor y t_invencible!
angle+=500*inerciangle;
advance(inercia/5);
repetidor++;
t_invencible++;
If((id_colision=collision(Type disparo) OR (id_colision=collision(Type disparo_malo))) AND t_invencible>96) Break; End // pa q lo puedas matar!
Frame(phrame); // pintarrr, me gusta pintar! x-D
End
If(collision(Type disparo)) puntos++; End // si le diste tu, pos minipunto pa ti!
If(id_colision=collision(Type disparo_malo)) id_colision.father.id_puntos++; End // si le dio otro malo, pos minipunto pa el!
signal(id_colision,s_kill); // matamos el disparo
delete_text(id_texto1); //borramos textos de este personaje
delete_text(id_texto2); // este tb
// animación de circulitos como cuando nace, pro pa morir!
graph=new_map(39,39,8);
drawing_color (num);
drawing_map(0,graph);
draw_circle(19,19,19);
drawing_color (num-20);
draw_circle(19,19,9);
flags=4;
While(size>0) size-=5; Frame(phrame); End
malos--; // 1 malo menos!
End

/*
¡El disparo! Simple. Un proceso que pilla un ángulo y avanza hasta que alcanza 1 enemigo o se sale de la pantalla!
*/
Process disparo(x,y,angle,inercia);
Begin
// dibujamos el gráfico del disparo!
graph=new_map(6,2,8);
drawing_color (20);
drawing_map(0,graph);
draw_box(0,0,6,2);
advance(15); // avanza un poco desde la posición del jugador para que no le de a este!
Repeat
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End // lo de siempre...
advance(1500/phrame); // avanza...
Frame;
Until(x>ancho_pantalla OR y>alto_pantalla OR x<0 OR y<0) //hasta que se salga de la pantalla
End

/*
¡El disparo de los malos! Exactamente lo mismo que el del jugador a excepción que este recibe el color del enemigo que lo dispara.
*/
Process disparo_malo(x,y,angle,inercia,num);
Begin
// se dibuja el gráfico
graph=new_map(6,2,8);
drawing_color (num);
drawing_map(0,graph);
draw_box(0,0,6,2);
advance(15); // avanza un poco desde la posición del enemigo que lo dispara para que no choque contra este!
Repeat
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End // y mas...
advance(1500/phrame); // avanza...
Frame;
Until(x>ancho_pantalla OR y>alto_pantalla OR x<0 OR y<0) //hasta que se salga por algún lado de la pantalla!
End

/*
Generador de mapas de estrellas o algo así...
Genera los fondos de pantalla o scroll según sea el caso!
*/
Process estrellado();
Private
i; // para controlar cosas como los puntos que vamos a poner en el mapa
randx; //aleatorio x
randy; //aleatorio y
Begin
// fondo
graph=new_map(640,480,8); // nuevo mapa como grafico local de este proceso
drawing_map(0,graph); //pintamos en la graph local de este proceso
While(i<500) // mientras no hayamos pintado 300 puntos
randx=rand(0,1500); //buscamos el punto horizontal
randy=rand(0,1500); // y el vertical
drawing_color (rand(0,255)); // a boleo, un color
draw_fcircle(randx,randy,rand(0,1)); // y pintamos un círculo! (que bien podría ser un punto, pero da lo mismo)
i++; // ya hemos pintado 1 mas!
End //hasta 50
// If(ancho_pantalla<1025) // si el espacio de juego es de hasta 1024x768
// put_screen(0,graph); // ponemos el fondo en la pantalla
// escroll=0; // no hay scroll
// stop_scroll(0); // y si lo hay, lo paramos
// dump_type=0; // unas opciones del fenix 0.84
// restore_type=0; // que aceleran bastante el juego a menos que sea scroll :S
//Else // si el espacio es mayor que 1024x768 pues
escroll=1; // si que hay scroll
dump_type=1; // activamos esto y...
restore_type=1; // esto para que no use los dirty triangles y renderice la pantalla completa
start_scroll(0,0,graph,graph,0,0); // iniciamos el scroll!
scroll.camera=camara(); // y que el scroll siga al proceso camara()
//End
End

/*
la camara. el scroll persigue este proceso, el cual persigue a la nave si está viva!
*/
Process camara();
Begin
While(escroll==1) //si hay scroll
If(exists(id_nave)==1) //y si existe la nave
x=id_nave.x; // se mueve con...
y=id_nave.y; // ella...
End
// sino, simplemente no se mueve...
Frame(phrame); //pinta pinta!
End
End

/*
proceso pantalla! según las opciones que hayamos elegido pues iniciará un modo o otro, con scroll o sin él
*/
Process pantalla();
Private
primeravez=1; // la primera vez no duele por que se rompa... son los nervios!
id_mapa; // identificador del proceso del mapa (es un radar)
Begin
Loop
If(resolucion==0) ancho_pantalla=640; alto_pantalla=480; End //espacio virtual: 1500x1500, resolución: 320x240
// esto es para la primera vez después de iniciar el juego o cambiar las opciones
// se podría juntar con las líneas de abajo, pero se volvería completamente ilegible :S
// esto hace cambiar la resolución, crear el fondo y "regenerar" el radar
If(primeravez==1 AND resolucion==0) primeravez=0; set_mode(320,240); estrellado(); If(exists(id_mapa)==0) id_mapa=mapa(); End Frame; End
Frame(phrame/2); // pinta pinta!
End
End

/*
¡item! simple. un gráfico que aparece en pantalla que si lo alcanzas pues te ayuda, como siempre, y luego desaparece!
*/
Process item(x,y);
Begin
size=rand(29,31); //si el tamaño de este es 29, te hace invencible y si es 31 pues te baja el tiempo de repetición de la ametralladora o lo que sea con lo que dispares!
If(size==29) // si es 29, pos dibujamos el 29
graph=new_map(39,39,8);
drawing_color (120);
drawing_map(0,graph);
DRAW_FCIRCLE(19,19,19);
drawing_color (10);
draw_line (39/2,8,39/2,31);
draw_line (8,39/2,31,39/2);
End
If(size==31) //si es 31, pos dibujamos el 31!
graph=new_map(39,39,8);
drawing_color (200);
drawing_map(0,graph);
DRAW_FCIRCLE(19,19,19);
End
If(size==30) Return; End // si es 30, nada!
Loop
If(escroll==1) ctype=c_scroll; Else ctype=c_screen; End // más de lo mismo... esto ya tendrías que entenderlo x-D
Frame(phrame);
End
End

/*
¡¡¡radar!!! aunque yo le llamo mapa, comúnmente se le llama radar!
*/
Process mapa();
Private
ancho; // cuanto medirá de ancho?
alto; // y de alto? AHHHH! (intriga?)
Begin
flags=4; // es transparente
z=-1; // y está por encima de las naves
ctype=c_screen; // y siempre se pinta en pantalla
While(escroll==1) // mientras haya un scroll...
// según la resolución, tendrá un tamaño o otro y una posición o otra...
If(resolucion==0)
x=225; // posicion
y=210; // .../\
ancho=ancho_pantalla/40; // proporcion del tamaño del espacio
alto=alto_pantalla/40; // a escala 1:40 x-D
graph=new_map(ancho,alto,8); // grafico a pintar
drawing_color(254); // color pa pintar...
drawing_map(0,graph); // mapa en el que pintar...
draw_box(0,0,ancho,alto); // pintamos 1 cuadradito relleno!
End
Frame(phrame); // q arte!
End
End

/*
punto que aparecerá en el radar indicando tu posición o la de los enemigos!
*/
Process punto(color,x,y);
Begin
z=-2; // esta por encima del radar
If(color==21) size=300; End // si el color es el 21 ( el de tu nave) es 3 veces mas grande (pa q te veas xD)
// según la resolución tendrá una colocación o otra, proporcionalmente
If(resolucion==0)
x=(x/40)+(225-(ancho_pantalla/80));
y=(y/40)+(210-(alto_pantalla/80));
End
//pintamos el puntito que nos va a representar y...
graph=new_map(1,1,8);
drawing_map(0,graph);
drawing_color (color);
draw_fcircle(0,0,1);
Frame(phrame); // lo pintamos!!
End

pakoito
15/12/2004, 23:18
Tras compilarlo y dare un vistazo por encima...esta bien y lo de los comentarios ayuda a entenderlo, un buen ejemplo de fenix Pix ;)

chemaris
15/12/2004, 23:40
compilado y probado, no esta mal, sobe todo se agradece un codigo comentado habra que darle un vistazo a fondo

PiXeL2004
16/12/2004, 14:55
gracias :D

ahora toy haciendo la segunda parte: multijugador en una sola gp32 xD
features:
- se jugará a pantalla partida: izq p1, der p2.
- controles: adivinarlos xD
- 1 solo enemigo con IA

BeaR
16/12/2004, 15:08
Genial todos estos ejemplos , me encantan tus "comentarios" :D a ver si luego les puedo echar un vistazo más a fondo :brindis:

Salu2 :saltando: :) :saltando:

PiXeL2004
16/12/2004, 15:26
no te esfuerces xD
los comentarios son muy muy muy obvios porque son básicamente la traducción de las órdenes del inglés al castellano :)
ejemplo:
start_scroll(0,0,3,0,5,0); // aquí iniciamos el scroll

xD

pd: ya tengo el nofpg pa 2 jugadores. aún no lo probé en la gp32 pero en win funciona perfectamente!

pakoito
16/12/2004, 16:16
Una de las previews de Thor es de un juego similar al tuyo, solo queria comentartelo :p

bulbastre
16/12/2004, 16:43
colgad foticos... :arriba: :arriba:

K-teto
16/12/2004, 16:49
Estas son las cosas que la comunidad agradece enormemente, algunos podrian tomar ejemplo y compartir su codigo, por "put your sweardword here" que sea, siempre ayudara a los que esten empezando o a los que no se aclaren con algo para sus juegos.
El fenix tiene muchas posibilidades, solo hay que aprovecharlo y extenderlo, yo hago las cosas en C pero, realmente este es el espiritu que le queremos dar a la gp no? que cualquiera pueda hacer sus propios juegos.
Yo personalmente veo en el fenix, la esencia de lo que es la gp.
Muchas gracias por compartir lo que sabes Pixel, ereh un monstruo

Rein
16/12/2004, 18:17
no tengo ni idea de programar, pero gracias de todas formas. XDXDXDXDXD :brindis:

murciegalo
03/01/2005, 16:43
Muchas gracias por los ejemplos Pixel :)
Estaba probando el Firebird a ver si conseguía hacer alguna cosa, me he leido el tutorial para amebas (q por cierto está muy bien para entender cómo va la cosa) y sólo me faltaba tener algún pedazo de código para hacerme una idea más clara... He cogido tu ejemplo (cómo no lleva fpg va de coña para pegar - ejecutar) y con todos los comentarios que has puesto se entiende perfectamente :D

A ver si me aclaro cómo va lo de meter fpg (y cómo crearlos :P) e intento hacer el ejemplo de mover un muñeco por la pantalla que tb ta por aquí posteado :)

GRACIAS y suerte con el PixPang en el ADIC 2004 ese :)
(He probado el de PC y está muy wapo :) cuando me llegue la GP32 pruebo el de GP)

PiXeL2004
03/01/2005, 17:42
pues xq no has probao la versión 1.6, q la publiqué anoche xDDDDDD
http://panreyes.se32.com/cosas/pixpang-16.exe

murciegalo
03/01/2005, 17:59
uuuooooooo :babea: ya ta bajando para probarlo :D Este será uno de los primeros juegos que esntrará en la GP en cuanto la tenga :P vicia un montón y eso es muuuu malo que toy currandooo!! cómo me vea el jefe.... :cagonto: :motora: jejeje

Saludos y gracias por todo!! Enhorabuena por el PixPang que es un juegazo! :)