Construir calculadora

Hola!! necesito ayuda para hacer una calculadora en pilas-engine por que no tengo ni idea de como empezar

Hola @jacqueline_hernandez, tal vez podrías comenzar armando la interfaz, como para tener dispuestos los controles y esas cosas.

En el manual están detallados todos los actores que se pueden usar como interfaz:

http://manual.pilas-engine.com.ar/interfaz/

1 Like

Gracias!!! por la ayuda eso hare

hola de nuevo, bueno ya hice la interfaz he insertado las imagenes de cada uno de los botones pero no se como hacer que dichas imagenes funcionen como botones que al presionarlos aparezca dicha función

Buenas, @jacqueline_hernandez

Has mirado el manual sobre interfaz, tal como te dijo @hugoruscitti ?

Verás que puedes usar botones para armar la interfaz. Luego a cada botón le asignas su propia imagen.

por ejemplo para armar el boton de la tecla 0:

def que_hace_boton_0():
    print( '0' )

boton0  = pilas.interfaz.boton()
boton0.imagen = 'imagen_del_boton_0.png'
boton0.x = -150
boton0.y = -150
boton0.conectar(que_hace_boton_0)

Esto hará que al apretar ese boton se imprima 0 en pantalla. Puedes programar cada botón con su propia función.

Un saludo.

1 Like

ok, muchas gracias !!!

Hola necesito nuevamente ayuda bueno ahora ya puedo hacer que al dar click sobre boton aparezca el numero solo que aparece en el editor (la parte de abajo) no en la pantalla y tambien quisiera saber como hacer para programar las funciones de los botones sumas, resta, multiplicacion y division

De antemano les agradezco mucho por la ayuda brindada

Me imagino que este sucede porque estás invocando a la función print. Para que aparezca el resultado en pantalla del juego podrías usar pilas.avisar('texto a mostrar') en lugar de print.

Bueno si efectivamenta ahora si aparece en la pantalla de arriba pero en una esquina y yo quiero que me aparezca en un lugar especifico de la pantalla en la barra color verde


bueno asi es como lo he hecho !!!

1 Like

Buenas, @jacqueline_hernandez

De nuevo te recomiendo que mires a fondo el manual de pilas… verás que una de las interfaces que puedes usar es la de ingreso de texto. Te hago un copia y pega de esa parte del manual::

“”"
Clase: IngresoDeTexto

Si quieres solicitar datos, como el nombre del usuario, puedes usar el objeto IngresoDeTexto. Ya que muestra una caja y un pequeño cursor para ingresar texto.

Para usar este componente tienes que crearlo y luego leer o escribir el atributo texto, que contiene la cadena de texto de la caja:

entrada = pilas.interfaz.IngresoDeTexto()
entrada.texto = “Texto inicial”
Inicialmente, el objeto IngresoDeTexto toma un tamaño y apariencia predeterminado. Pero esto se puede cambiar fácilmente usando argumentos al momento de crear el componente.

Por ejemplo, podríamos enviarle cómo argumento un tamaño mas pequeño y un ícono de búsqueda:

entrada = pilas.interfaz.IngresoDeTexto(ancho=100, icono=‘iconos/lupa.png’) u otro ícono:

entrada = pilas.interfaz.IngresoDeTexto(ancho=100, icono=‘iconos/ok.png’) La caja también tiene otros métodos para permitir o prohibir el ingreso de datos.

Por ejemplo, podríamos decirle a la caja que solo permita el ingreso de números, letras, o poner un límite de cantidad de caracteres. Los métodos que te permite limitar el ingreso son solo_numeros() y solo_letras(), y el límite de caracteres está en el atributo limite_de_caracteres:

Propiedades

texto
icono
limite_de_caracteres
Métodos

cualquier_caracter()
solo_numeros()
solo_letras()
“”

Yo te recomendaria que armes una calculadora simple en Python, lo más fácil es del tipo:

import pilasengine
pilas = pilasengine.iniciar()

numeroA = 3
numeroB = 4

entrada = pilas.interfaz.IngresoDeTexto('0')

def Suma():
	resultado_Suma = str(numeroA + numeroB)
	entrada.texto = resultado_Suma
	#print(resultado_Suma)

boton_sumar = pilas.interfaz.Boton('Sumar')
boton_sumar.y = -100
boton_sumar.conectar(Suma)

pilas.ejecutar()

El hecho de usar el ingreso de texto es por si quieres que el usuario pueda usar los botones o entrar directamente por el teclado.

En caso de querer que solo se pueda entrar los valores clicando los botones y sin usar el teclado, puedes substituir el IngresoDetexto por un actor Texto:

import pilasengine
pilas = pilasengine.iniciar()

numeroA = 3
numeroB = 4

#entrada = pilas.interfaz.IngresoDeTexto('0')
entrada= pilas.actores.Texto('0')

def Suma():
	resultado = str(numeroA + numeroB)
	entrada.texto = resultado
	print(resultado)

boton_sumar = pilas.interfaz.Boton('Sumar')
boton_sumar.y = -100
boton_sumar.conectar(Suma)

pilas.ejecutar()

Un saludo.

1 Like

ok tratare de hacer eso. Muchas gracias !!!