Anuncios Google

¿Calculadoras?

Hola, quisiera saver si alguien de por aqui,me puede esplicar como hacer el código de una calculadora, esque empezé pero una vez ya tenia los Sprites y el fondo, queria hacer para poner las operaciones pero me di qüenta de que no savia que hacer. Por eso pido a alguien que me muestre un ejemplo sobre el codigo que deveria tener una calculadora.

Gracias. Adios


I like:


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de exterminator

Sencillo

Tampoco es de romperse mucho la cabeza. Mira:

#define TERMINOA 0
#define TERMINOB 0
#define RESULTADO 0
 
u8 tipooperacion;
u8 numerodigitos;
 
if(PA_SpriteTouched(nºspritedenumero))    //Si se presiona el sprite para un número
{
      numerodigitos++;
      TERMINOA*10;
      /*Si hubiese un número grabado anteriormente, se "desplaza"
      a la izquierda para escribir el siguiente número. Si es el primero
      que se escribe, se desplaza 0, por lo que no ocurre nada*/
      TERMINOA+1;
      /*Se escribe el número correspondiente al sprite que se tocó.
      Como ejemplo yo uso el 1, pero puede ser el 2, 3, 4, 5, 6, 7, 8, 9,
      o 0*/
      PA_OutputText(1,(5-numerodigitos),0,"%d",TERMINOA);
      /*Se escribe el número en pantalla. Con numerodigitos, al escribir
      nueva cifra las otras se desplazan. Como una calculadora corriente*/
}
 
if(PA_SpriteTouched(nºspriteoperacion))     //Se presiona el sprite de +, -, *...
{
      tipooperacion=1;    //Asigna un valor a la variable. Usa un valor por tipo de operación
}
 
if(PA_SpriteTouched(nºspritedenumero))    //No hará falta que explique esto de nuevo
{
      TERMINOB*10;
      TERMINOB+1;
      PA_ClearTextBg(1);  //Se borra TERMINOA de pantalla
      PA_OutputText(1,(5-numerodigitos),0,"%d",TERMINOB);
      /*Se escribe el número en pantalla. Con numerodigitos, al escribir
      nueva cifra las otras se desplazan. Como una calculadora corriente*/
}
 
if(PA_SpriteTouched(nºspritesignoigual))    //Si se pulsa igual, se efectúa la operación
{
      if(tipooperacion==1)     //Varios if de éstos, uno por valor y operación, irán aquí
      {
             TERMINOA+TERMINOB=RESULTADO;
      }
      PA_OutputText(1,numerodigitos,0,"%d",RESULTADO);  //Resultado en pantalla...
}
 
if(PA_SpriteTouched(nºspriteoperacion))    //Si lo que se pulsa es un signo de operacion...
{
      if(tipooperacion==1)     //Varios if de éstos, uno por valor y operación, irán aquí
      {
             TERMINOA+TERMINOB=RESULTADO;
      }
      PA_OutputText(1,numerodigitos,0,"%d",RESULTADO);  //Resultado en pantalla...
      TERMINOA=RESULTADO;
 
      /*Se muestra el resultado de la operación anterior en pantalla. Como
      se sigue operando, el valor de RESULTADO se pasa a TERMINOA*/
 
      tipooperacion=1;   //tipooperacion adquiere el valor de la operación a realizar
}

Te lo he puesto completito. No sé si funcionará correctamente, nunca hice una calculadora en mi vida y acabo de hacer el código al vuelo.

Tú dirás si te vale, Salu2

PD: Los define y el llamamiento de variables van antes del main, los ifs dentro del bucle principal.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Imagen de sarutoby

Está bastante

bien para ser la primera vez, pero una ocsa, como pongo los sprites, ya que en ningun momento me sale nada de poner un sprite, bueno si me sale esto pero es que el problema es que no se como ponerlos. Esto es lo que me sale:

if(PA_SpriteTouched(nºspriteoperacion))     //Se presiona el sprite de +, -, *...
{

Pero aqui, como pongo yo el sprite, o como consigo hacer que el Compilador diferencie un Sprite del otro


I like:

Si lo pone ahi, que pongas

Si lo pone ahi, que pongas el numero del sprite que tiene... Ese numero se lo asignas tu al crearlo.

 

Deberias aprender mas de palib antes de ponerte con esas cosas ^^.

Imagen de sarutoby

Si ya pero

...  ...bah, da igual, y ya lo veo lo que pone, pero bueno...

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.