[Palib]Mis Homebrews[Palib]-Ayuda de nuevo-

En principio este hilo iba a ser para postear mis dudas pero lo usare mpara postear mis creaciones


Teclas-Teaster:Nueva version:
Ya no se quedan las letras anteriores y posteo el source
Imagen: Imagen
Link de descarga:adjunto
Busco:Que me digais los bugs que veais
Source:
// Includes
#include <PA9.h>       // Include for PA_Lib

// Function: main()
int main(int argc, char ** argv)
{
PA_Init();    // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(1,1);
PA_InitText(0,1);
// Infinite loop to keep the program running
while (1)
{
if(Stylus.Held) PA_OutputText(1,1,5,"%c2El Stylus Esta Presionado     ");
else PA_OutputText(1,1,5,"%c1El Stylus No Esta Presionado");

if(Pad.Held.X)PA_OutputText(1,1,7,"%c2El Boton X Esta Presionado      ");
else PA_OutputText(1,1,7,"%c1El Boton X No Esta Presionado");

if(Pad.Held.Y)PA_OutputText(1,1,9,"%c2El Boton Y Esta Presionado      ");
else PA_OutputText(1,1,9,"%c1El Boton Y No Esta Presionado");

if(Pad.Held.A)PA_OutputText(1,1,11,"%c2El Boton A Esta Presionado     ");
else PA_OutputText(1,1,11,"%c1El Boton A No Esta Presionado");

if(Pad.Held.B)PA_OutputText(1,1,13,"%c2El Boton B Esta Presionado     ");
else PA_OutputText(1,1,13,"%c1El Boton B No Esta Presionado");

if(Pad.Held.R)PA_OutputText(1,1,15,"%c2El Boton R Esta Presionado     ");
else PA_OutputText(1,1,15,"%c1El Boton R No Esta Presionado");

if(Pad.Held.L)PA_OutputText(1,1,17,"%c2El Boton L Esta Presionado     ");
else PA_OutputText(1,1,17,"%c1El Boton L No Esta Presionado");

if(Pad.Held.Up)PA_OutputText(1,1,19,"%c2El Boton Up Esta Presionado     ");
else PA_OutputText(1,1,19,"%c1El Boton Up No Esta Presionado");

if(Pad.Held.Down)PA_OutputText(0,1,5,"%c2El Boton Down Esta Presionado     ");
else PA_OutputText(0,1,5,"%c1El Boton no Down Esta Presionado");

if(Pad.Held.Left)PA_OutputText(0,1,7,"%c2El Boton Left Esta Presionado    ");
else PA_OutputText(0,1,7,"%c1El Boton Left No Esta Presionado");

if(Pad.Held.Right)PA_OutputText(0,1,9,"%c2El Boton Right Esta Presionado    ");
else PA_OutputText(0,1,9,"%c1El Boton Right No Esta Presionado");

PA_OutputText(0,1,19,"%c3By Pabloochan");

PA_WaitForVBL();
}

return 0;
} // End of main()

Adjuntos

        if(Pad.Held.X)PA_OutputSimpleText(1,1,7,"El Boton X Esta Presionado");
        if(Pad.Held.X)   PA_OutputSimpleText(1,1,7,"El Boton X Esta Presionado");(FIXED)


prueba poniendo un espacio entre ) y el PA_Output...

aparte, no copies y pegues , inventa...
Para descargarosolo en el post principal
Wow.... esto se está convirtiendo en una costumbre.... abrir hilos para mostrar los homebrews.... pero al menos sé un poco más original!!

Rigle hizo esto hace 2 días.... y es igual.

Para borrar el texto haz esto:

PA_ClearTextBg(0);

Donde el "0" es el número de pantalla. OJO, borra TODO el texto de la pantalla. Pero es muy muy muy muy util si sabes usarlo.

Y eso de dejar espacio..... a mi me parece una chapuza, que quereis que os diga..... [lapota]

[jaja]
judelco escribió:Y eso de dejar espacio..... a mi me parece una chapuza, que quereis que os diga..... [lapota]

[jaja]


Explicate :-?
Alber_h escribió:
judelco escribió:Y eso de dejar espacio..... a mi me parece una chapuza, que quereis que os diga..... [lapota]

[jaja]


Explicate :-?


Pues verás, en esta imagen:

Imagen

El boton UP está persionado, pero al no haber borrado el texto anterior, se vé lo de atrás. Y rigle propuso poner para arreglarlo que pusiera espacios en blanco detrás de la frase para tapar el texto anterior. Para MI es una chapuza, pero bueno.....
Te equivocas, Rigle se refería a que dejara espacio entre la sentencia if y la sentencia a ejecutar en caso de entrar al if, no ahí en plan chapuza xD.
Como puedes ver en el ultimo codigo que ha puesto el autor del post, ya lo arregla con un else junto a cada if. Osea que a cada fotograma pinta todas las lineas, ya sea una frase u otra.

Salu2!
Alber_h escribió:Te equivocas, Rigle se refería a que dejara espacio entre la sentencia if y la sentencia a ejecutar en caso de entrar al if, no ahí en plan chapuza xD.
Como puedes ver en el ultimo codigo que ha puesto el autor del post, ya lo arregla con un else junto a cada if. Osea que a cada fotograma pinta todas las lineas, ya sea una frase u otra.

Salu2!


Am, bueno, vale vale.... yo lo digo porque rigle en su programa usó esa chapuza que yo he descrito para lo del texto..... [lapota]

Jejejje... bueno, pabloochan, ya te he dejado antes la ayuda para borrar el texto en negrita. Aprobechala... ^^
Bueno ya he sacado la nueva version con todos los fallos corregidos y source code.Gracias judelco por el code pero no lo use (Mas que nada porque si tenia que borrarlo y luego escribirlo seria poner mucho codigo para una prueba).Y bueno lo de que lo hizo Rigle ya lo se yo lo vi y dije voy a intentar hacer algo igual.
pabloochan escribió:Bueno ya he sacado la nueva version con todos los fallos corregidos y source code.Gracias judelco por el code pero no lo use (Mas que nada porque si tenia que borrarlo y luego escribirlo seria poner mucho codigo para una prueba).Y bueno lo de que lo hizo Rigle ya lo se yo lo vi y dije voy a intentar hacer algo igual.


Ahora sigue el día 2 del wiki del palib, que da para muxo muxo rato xD
Mas o menos los vi todos por encima.Estara mejor que los repase mas a fondo
pabloochan escribió:Mas o menos los vi todos por encima.Estara mejor que los repase mas a fondo



no es facil memorizar TODO eso ...
...entenderlo se puede más o menos ...
Hay un fallo en un texto: "El botón no Right está presionado" Mas bien sería "El botón Right no está presionado"... asique...
Imagen
De todas formas Rigle, si lo piensas bien no es tan "chapuza" hacer eso, es mucho mas comodo poner un par de espacios detras de la frase que usar la funcion de borrado de pantalla y volver a pintarlo todo. Incluso en la wiki de la palib hablan de ello [oki].

Salu2!

Edit:
alexpowerup escribió:Hay un fallo en un texto: "El botón no Right está presionado" Mas bien sería "El botón Right no está presionado"... asique...
Imagen


Juas como os pasais, el chaval está empezando con esto al igual que todos hemos empezado alguna vez.

Lo que veo una tonteria (y no va solamente por el autor del hilo) es que os dediqueis a publicar cada "homebrew" que haceis. Venga hombre, no son mas que practicas que cualquiera podria hacer leyendose el tuto de la palib [sonrisa] , curraos algo bueno y entonces posteadlo cawento.
Alber_h escribió:De todas formas Rigle, si lo piensas bien no es tan "chapuza" hacer eso, es mucho mas comodo poner un par de espacios detras de la frase que usar la funcion de borrado de pantalla y volver a pintarlo todo. Incluso en la wiki de la palib hablan de ello [oki].

Salu2!



Ya se que en el wiki hablan de ello xD
PD: Yo me ize sin llegar al imput/output mi homebrew , y lo de los espacios lo estube pensando y lo probé XDD
Alber_h escribió:Lo que veo una tonteria (y no va solamente por el autor del hilo) es que os dediqueis a publicar cada "homebrew" que haceis. Venga hombre, no son mas que practicas que cualquiera podria hacer leyendose el tuto de la palib [sonrisa] , curraos algo bueno y entonces posteadlo cawento.


EY!, mi zelda se escapa de esa acusación! (Al menos a mis ojos....)
judelco escribió:
Alber_h escribió:Lo que veo una tonteria (y no va solamente por el autor del hilo) es que os dediqueis a publicar cada "homebrew" que haceis. Venga hombre, no son mas que practicas que cualquiera podria hacer leyendose el tuto de la palib [sonrisa] , curraos algo bueno y entonces posteadlo cawento.


EY!, mi zelda se escapa de esa acusación! (Al menos a mis ojos....)


Hombre, tal y como he dicho antes, todos empezamos alguna vez, y con lo que he dicho no quiero decir que esteis haciendo una basura [qmparto] sino que estais pasando por los pasos por lo que ha pasado todo el que se ha metido en este mundillo, y si todos nos dedicamos a poner cada practica que hacemos va a parecer esto el foro de pruebas ¬_¬.

Salu2!

PD: Por mi haced lo que querais, no soy moderador xD solo es un consejo, cuando tengais algo bueno o medianamente acabado es un buen momento, sino pasa lo de siempre, se presenta un proyecto, se habla mucho pero al cabo de una semana no se vuelve a saber de el...

PD2: Por curiosidad, judelco y rigle, sois hermanos, compañeros o algo asi? Es que posteais casi siempre los dos a la vez y en los mismos post... XD
Alber_h escribió:cuando tengais algo bueno o medianamente acabado es un buen momento, sino pasa lo de siempre, se presenta un proyecto, se habla mucho pero al cabo de una semana no se vuelve a saber de el...

PD2: Por curiosidad, judelco y rigle, sois hermanos, compañeros o algo asi? Es que posteais casi siempre los dos a la vez y en los mismos post... XD


A no ser que a la semana se saque un update xD [carcajad]

PD: No, la verdad es que empezó el con el "mueve su carita" [...] y ya poco a poco me está siguiendo.... [+risas]


EDIT: OSTIA..... 1111 mensajes.... moooola [poraki]
judelco escribió:
Alber_h escribió:cuando tengais algo bueno o medianamente acabado es un buen momento, sino pasa lo de siempre, se presenta un proyecto, se habla mucho pero al cabo de una semana no se vuelve a saber de el...

PD2: Por curiosidad, judelco y rigle, sois hermanos, compañeros o algo asi? Es que posteais casi siempre los dos a la vez y en los mismos post... XD


A no ser que a la semana se saque un update xD [carcajad]

PD: No, la verdad es que empezó el con el "mueve su carita" [...] y ya poco a poco me está siguiendo.... [+risas]


EDIT: OSTIA..... 1111 mensajes.... moooola [poraki]




no, no somos hermanos
aparte, estoy intentando seguirle ...algun día de estos le alcanzo , le piso , y salgo a correr xD
Pero no te lo cargues xd, me parece bien que poco a poco vallais aprendiendo, asta que lo pises, a mi me toca este verano, yo.... intentare empezar en bicicleta
nazareth escribió:Pero no te lo cargues xd, me parece bien que poco a poco vallais aprendiendo, asta que lo pises, a mi me toca este verano, yo.... intentare empezar en bicicleta


para cuando tu empiezes en bicicleta espero poder saber construirme un caza xD
Me daras una vuelta verdad, jeje, empezare como tu, o..... incluso peor, weno, animo para todos los que esten trabajando en un proyecto, como yo, pero no de PAlib

Un saludo y hasta otro dia (cosa del hambre)
Pero porqué me quereis pisar???? Si yo OS ESTOY AYUDANDO a resulver dudas o fallos en los códigos!!!!

[buuuaaaa]

PD: Malas personas [uzi]

;)
judelco escribió:Pero porqué me quereis pisar???? Si yo OS ESTOY AYUDANDO a resulver dudas o fallos en los códigos!!!!

[buuuaaaa]

PD: Malas personas [uzi]

;)



si nosotros no te keremos pisar ni nada de eso xD ratataaaa
judelco escribió:Pero porqué me quereis pisar???? Si yo OS ESTOY AYUDANDO a resulver dudas o fallos en los códigos!!!!

[buuuaaaa]

PD: Malas personas [uzi]

;)


Ni que fueras una gallina :o






































Vale, lo reconozco, ha sido muy malo xD
Bueno, se acabó el OFFtopic. A partir de ahora todo lo que no tenga que ver con el sentido del hilo lo ignoraré. Solo me he dejado llevar en un post....

[ayay]
judelco escribió:Bueno, se acabó el OFFtopic. A partir de ahora todo lo que no tenga que ver con el sentido del hilo lo ignoraré. Solo me he dejado llevar en un post....

[ayay]


eso, k para algo esta pruebas...
necesito ayuda con este codigo no se por que no va:
// Includes
#include <PA9.h>       // Include for PA_Lib


float number1 = 0;
float number2 = 0;
s8 operacion = 0;   
//0=suma,1=resta,2=multiplicacion
float resultado = 0;
s8 sel = 0 ;

int main(void)
{
PA_Init();    // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(0,1);




while (1)
{            
PA_OutputText(0,50,50,"%f    %f  =  %f", number1, number2,resultado);



if (operacion==0) {resultado = number1 + number2;};
if (operacion==1) {resultado = number1 - number2;};
if (operacion==2) {resultado = number1 * number2;};
if (operacion==3) {resultado = number1/number2;};

if (Pad.Held.Up) {if (sel == 0);{++number1;};if (sel == 1);{++number2;};if (sel == 3);{++operacion;}};
if (Pad.Held.Down) {if (sel == 0);{--number1;};if (sel == 1);{--number2;};if (sel == 3);{--operacion;};};
if (Pad.Held.Right) {(++sel);};
if (Pad.Held.Left) {(--sel);};

if (operacion==-1) {operacion=0;};
if (operacion==5) {operacion=4;};
if (sel==-1) {(sel=1);};
if (sel==4) {(sel=3);};

}
PA_WaitForVBL();


return 0;} // End of main()


si preguntais por que hay tanto ";" es por que si no me daba error al compilar
Pues no debería darte error, ya que no son necesarios los ; después de las llaves de los ifs (sólo son necesarios en declaración de clases y demás). A lo mejor hay algún parámetro mal puesto en el makefile o algo raro.
Si quieres te subo el makefile.Pero no se se supone que tendria k que ir pero no hace nada
En el main no debería poner "int main(int argc, char ** argv)" ?????

Puede ser eso

----------------------

EDIT: Otro fallo:

Al final, en vez de poner lo que has puesto, deberías poner:

PA_WaitForVBL();
}return 0;}


------------------------

EDIT2: Te propongo que uses este source (lo he adaptado segun lo que he visto antes):

#include <PA9.h>

float number1 = 0;
float number2 = 0;
s8 operacion = 0;   
float resultado = 0;
s8 sel = 0;

int main(int argc, char ** argv)
{
PA_Init(); 
PA_InitVBL();
PA_InitText(0,1);

while (1)
{             
PA_OutputText(0,50,50,"%f    %f  =  %f", number1, number2,resultado);

if (operacion==0) resultado = number1 + number2;
if (operacion==1) resultado = number1 - number2;
if (operacion==2) resultado = number1 * number2;
if (operacion==3) resultado = number1/number2;

if (Pad.Held.Up) {if (sel == 0);{++number1;};if (sel == 1);{++number2;};if (sel == 3);{++operacion;}};
if (Pad.Held.Down) {if (sel == 0);{--number1;};if (sel == 1);{--number2;};if (sel == 3);{--operacion;};};
if (Pad.Held.Right) {(++sel);};
if (Pad.Held.Left) {(--sel);};

if (operacion==-1) operacion=0;
if (operacion==5) operacion=4;
if (sel==-1) sel=1;
if (sel==4) sel=3;

PA_WaitForVBL();
}return 0;}


Suerte!
gracias por la ayuda pero me sige sin ir no dibuja el texto no se si es por el texto o por las operacionesque dejan las variables en blanco ypor eso no las dibuja.Pero pensando lo mejor no podria ser eso por que si fuera por eso dibujaria ceros.
pabloochan escribió:gracias por la ayuda pero me sige sin ir no dibuja el texto no se si es por el texto o por las operacionesque dejan las variables en blanco ypor eso no las dibuja.Pero pensando lo mejor no podria ser eso por que si fuera por eso dibujaria ceros.


Borra la carpeta "build" o haz "clean" y prueba de nuevo. Si te compila y el homebrew no hace lo que quieres que haga, entonces es que has escrito el código mal.....
Al compilar me da este error
warning: no newline at the end of file
pabloochan escribió:Al compilar me da este error
warning: no newline at the end of file


Tio, pues ponle un espacio al final del todo.... es que.... -_-

(vete al final, e introduce un salto de linea con Enter)

[maszz]
[buuuaaaa] [buuuaaaa] [buuuaaaa] sige sin ir pero no se porque el error ese ya no sale [buuuaaaa] [buuuaaaa] help please [buuuaaaa] [buuuaaaa]
pabloochan escribió:[buuuaaaa] [buuuaaaa] [buuuaaaa] sige sin ir pero no se porque el error ese ya no sale [buuuaaaa] [buuuaaaa] help please [buuuaaaa] [buuuaaaa]


judelco escribió:Si te compila y el homebrew no hace lo que quieres que haga, entonces es que has escrito el código mal.....


.... pues eso. Que es lo que quieres que haga el homebrew?
no,no solo si veias el fallo estoy mirandolo aver si encuentro algo

edit ya va aunque no con el resultado que esperaba
En esta parte:
if (Pad.Held.Up) {if (sel == 0);{++number1;};if (sel == 1);{++number2;};if (sel == 3);{++operacion;}};
if (Pad.Held.Down) {if (sel == 0);{--number1;};if (sel == 1);{--number2;};if (sel == 3);{--operacion;};};
if (Pad.Held.Right) {(++sel);};
if (Pad.Held.Left) {(--sel);};


Si la vemos de forma un poco mas sencillota:
if(Pad.Held.Up)
{
   if (sel == 0);
   {
      ++number1;
   };
   if (sel == 1);
   {
      ++number2;
   };
   if (sel == 3);
   {
      ++operacion;
   }
};

...lo demas ponedlo igual...


Se ve claramente donde esta el problema: has puesto ; en casi todas las sentencias, en los ifs, en los corchetes... no hay que poner ; en los ifs si no el contenido de los { } no se ejecutara (o al menos no cuando y como deba).
No te voy a poner el codigo arreglado porque me voy ya que hay que seguir estudiando, pero alguno de los de aqui seguro que podrá fijarse en esa parte y reescribirtelo ;-).

Salu2!

Edit:
judelco escribió:En el main no debería poner "int main(int argc, char ** argv)" ?????


Eso es para controlar los argumentos que quieras enviar a la aplicacion (que no se como se hace eso en ds) asi que si en vez de eso pones main(void) o simplemente main() no tiene por qué dejar de funcionar ;).
Alber_h escribió:Edit:
judelco escribió:En el main no debería poner "int main(int argc, char ** argv)" ?????


Eso es para controlar los argumentos que quieras enviar a la aplicacion (que no se como se hace eso en ds) asi que si en vez de eso pones main(void) o simplemente main() no tiene por qué dejar de funcionar ;).


Omg, mira tu por donde.... eso no lo sabía :)
yo casi siempre pongo void ...
una cosa que no esntiendo por que si yo inicio el texto declaro las variables y todo y no se dibuja este texto

: %f  %f = %f " ,number1,number2,resultado
pabloochan escribió:una cosa que no esntiendo por que si yo inicio el texto declaro las variables y todo y no se dibuja este texto

: %f  %f = %f " ,number1,number2,resultado


Lo primero, copianos el codigo entero de la funcion de texto, que ahi falta tanto el principio como el final.
Lo segundo, no uses variables en coma flotante (floats) usa enteros (s8, s16, s32, u8, u16, u32...).

Viendo tus dificultades, te recomiendo que te leas a fondo el wiki de las palibs si de verdad quieres aprender, e incluso antes de hacer eso te leas algun manual de C basico.

Salu2!
Alber_h escribió:
pabloochan escribió:una cosa que no esntiendo por que si yo inicio el texto declaro las variables y todo y no se dibuja este texto

: %f  %f = %f " ,number1,number2,resultado


Lo primero, copianos el codigo entero de la funcion de texto, que ahi falta tanto el principio como el final.
Lo segundo, no uses variables en coma flotante (floats) usa enteros (s8, s16, s32, u8, u16, u32...).

Viendo tus dificultades, te recomiendo que te leas a fondo el wiki de las palibs si de verdad quieres aprender, e incluso antes de hacer eso te leas algun manual de C basico.

Salu2!


Está usando floats porque en la división pueden salir decimales ._.
alexpowerup escribió:
Alber_h escribió:
pabloochan escribió:una cosa que no esntiendo por que si yo inicio el texto declaro las variables y todo y no se dibuja este texto

: %f  %f = %f " ,number1,number2,resultado


Lo primero, copianos el codigo entero de la funcion de texto, que ahi falta tanto el principio como el final.
Lo segundo, no uses variables en coma flotante (floats) usa enteros (s8, s16, s32, u8, u16, u32...).

Viendo tus dificultades, te recomiendo que te leas a fondo el wiki de las palibs si de verdad quieres aprender, e incluso antes de hacer eso te leas algun manual de C basico.

Salu2!


Está usando floats porque en la división pueden salir decimales ._.


Se me olvidó decir que en vez de usar floats use variables de punto fijo.
http://www.palib.info/wiki/doku.php?id= ... punto_fijo
Al autor del hilo recomiendo aparte de los tutoriales que aprenda C programando en pc y no en ds, es mejor aprender el idioma y aplicarlo que aprender a programar acostumbrado a la ds.

Es solo un consejo ;) Salu2!
pabloochan escribió:necesito ayuda con este codigo no se por que no va:
// Includes
#include <PA9.h>       // Include for PA_Lib


float number1 = 0;
float number2 = 0;
s8 operacion = 0;   
//0=suma,1=resta,2=multiplicacion
float resultado = 0;
s8 sel = 0 ;

int main(void)
{
PA_Init();    // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(0,1);




while (1)
{            
PA_OutputText(0,50,50,"%f    %f  =  %f", number1, number2,resultado);



if (operacion==0) {resultado = number1 + number2;};
if (operacion==1) {resultado = number1 - number2;};
if (operacion==2) {resultado = number1 * number2;};
if (operacion==3) {resultado = number1/number2;};

if (Pad.Held.Up) {if (sel == 0);{++number1;};if (sel == 1);{++number2;};if (sel == 3);{++operacion;}};
if (Pad.Held.Down) {if (sel == 0);{--number1;};if (sel == 1);{--number2;};if (sel == 3);{--operacion;};};
if (Pad.Held.Right) {(++sel);};
if (Pad.Held.Left) {(--sel);};

if (operacion==-1) {operacion=0;};
if (operacion==5) {operacion=4;};
if (sel==-1) {(sel=1);};
if (sel==4) {(sel=3);};

}
PA_WaitForVBL();


return 0;} // End of main()


si preguntais por que hay tanto ";" es por que si no me daba error al compilar


Pero como te atreves a hacer que una funcion tipo int la reyenes como si fuera un void!!! ignorante!!! xDDD

Prueva con esto (no te aseguro que no lo e compilado, va a ojo):
#include <PA9.h> // Include for PA_Lib


float number1 = 0;
float number2 = 0;
s8 operacion = 0;
//0=suma,1=resta,2=multiplicacion
float resultado = 0;
s8 sel = 0 ;

int main(int argc, char ** argv)
{
PA_Init(); // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(0,1);




while (1)
{
PA_OutputText(0,50,50,"%f %f = %f", number1, number2,resultado);



if (operacion==0) resultado = number1 + number2;
if (operacion==1) resultado = number1 - number2;
if (operacion==2) resultado = number1 * number2;
if (operacion==3) resultado = number1/number2;

if ((Pad.Held.Up) && (sel == 0)) number1++;
if ((Pad.Held.Up) && (sel == 1))number2++;
if ((Pad.Held.Up) && (sel == 3))operacion++;

if ((Pad.Held.Down) && (sel == 0)) number1--;
if ((Pad.Held.Down) && (sel == 1)) number2--;
if ((Pad.Held.Down) && (sel == 3)) operacion--;

if (Pad.Held.Right) sel++;
if (Pad.Held.Left) sel--;

if (operacion==-1) operacion=0;
if (operacion==5) operacion=4;
if (sel==-1) sel=1;
if (sel==4) sel=3;

PA_WaitForVBL();
}



return 0;} // End of main()



Una cosa, los float son muy lentos de procesar por la ds, yo usaria otro tipo de variable.

Nose si es eso lo que quieres hacer, porque habia una maraña...
Ah, una pregunta. ¿Hasta qué valor se pueden poner las variables? En la wiki de PAlib dice que son de 64 las maximas. Sin embargo, en la tabla de valores que sale no pone nada de 64... ¿Qué valor tienen(si existen, por superpuesto)?
Plata escribió:
pabloochan escribió:necesito ayuda con este codigo no se por que no va:
// Includes
#include <PA9.h>       // Include for PA_Lib


float number1 = 0;
float number2 = 0;
s8 operacion = 0;   
//0=suma,1=resta,2=multiplicacion
float resultado = 0;
s8 sel = 0 ;

int main(void)
{
PA_Init();    // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(0,1);




while (1)
{            
PA_OutputText(0,50,50,"%f    %f  =  %f", number1, number2,resultado);



if (operacion==0) {resultado = number1 + number2;};
if (operacion==1) {resultado = number1 - number2;};
if (operacion==2) {resultado = number1 * number2;};
if (operacion==3) {resultado = number1/number2;};

if (Pad.Held.Up) {if (sel == 0);{++number1;};if (sel == 1);{++number2;};if (sel == 3);{++operacion;}};
if (Pad.Held.Down) {if (sel == 0);{--number1;};if (sel == 1);{--number2;};if (sel == 3);{--operacion;};};
if (Pad.Held.Right) {(++sel);};
if (Pad.Held.Left) {(--sel);};

if (operacion==-1) {operacion=0;};
if (operacion==5) {operacion=4;};
if (sel==-1) {(sel=1);};
if (sel==4) {(sel=3);};

}
PA_WaitForVBL();


return 0;} // End of main()


si preguntais por que hay tanto ";" es por que si no me daba error al compilar


Pero como te atreves a hacer que una funcion tipo int la reyenes como si fuera un void!!! ignorante!!! xDDD

Prueva con esto (no te aseguro que no lo e compilado, va a ojo):
#include <PA9.h> // Include for PA_Lib


float number1 = 0;
float number2 = 0;
s8 operacion = 0;
//0=suma,1=resta,2=multiplicacion
float resultado = 0;
s8 sel = 0 ;

int main(int argc, char ** argv)
{
PA_Init(); // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(0,1);




while (1)
{
PA_OutputText(0,50,50,"%f %f = %f", number1, number2,resultado);



if (operacion==0) resultado = number1 + number2;
if (operacion==1) resultado = number1 - number2;
if (operacion==2) resultado = number1 * number2;
if (operacion==3) resultado = number1/number2;

if ((Pad.Held.Up) && (sel == 0)) number1++;
if ((Pad.Held.Up) && (sel == 1))number2++;
if ((Pad.Held.Up) && (sel == 3))operacion++;

if ((Pad.Held.Down) && (sel == 0)) number1--;
if ((Pad.Held.Down) && (sel == 1)) number2--;
if ((Pad.Held.Down) && (sel == 3)) operacion--;

if (Pad.Held.Right) sel++;
if (Pad.Held.Left) sel--;

if (operacion==-1) operacion=0;
if (operacion==5) operacion=4;
if (sel==-1) sel=1;
if (sel==4) sel=3;

PA_WaitForVBL();
}



return 0;} // End of main()



Una cosa, los float son muy lentos de procesar por la ds, yo usaria otro tipo de variable.

Nose si es eso lo que quieres hacer, porque habia una maraña...


no va si que es lo que quiero hacer pero no dibuja el texto;sino use variables signed es por que se supone que era una mini calculadora y habria que poner numeros con coma
72 respuestas
1, 2