Importante
Este programa requiere Python 3
La versión más actual de Python se puede descargar aquí.
Importante
Python 3 requiere tkinter
Ejecutar 'Pip instalar TK' desde una línea de comando o terminal después de instalar Python debería hacer el truco si Tkinter no viene incluido en su versión de Python.
Precaución
Mad Math busca el directorio de "datos" incluido para un archivo llamado Madmath.DB, que se crea cuando se inicia el programa y no puede encontrar el archivo (como la primera vez que se ejecuta). Haga un atajo/enlace simbólico a madmath.pyw si desea lanzar el programa desde una carpeta diferente que se guarda.
No muevas nada de la carpeta Madmath. La carpeta en sí se puede mover, pero no mientras el programa se ejecuta.
Descargue y descomprima Madmath.zip a la ubicación deseada y luego haga doble clic en Madmath.pyw en el directorio Madmath para iniciar.
Cuando estaba en segundo grado, comenzamos todos los segmentos de matemáticas al completar una hoja de trabajo de un minuto cronometrada que contenía 20 ecuaciones en las que realizamos la adición en dos números de un solo dígito aleatorio. Esto estaba destinado a ser un ejercicio de calentamiento, y al principio la mayoría luchó para completar toda la hoja a tiempo. Mi papá notó esto, decidió que era inaceptable para mí tardar más de un par de segundos en evaluar una ecuación simple y comenzó a escribir un programa en Java. En un par de semanas había creado el prototipo funcional de un programa de adición digital. Me hizo pasar aproximadamente una hora al día practicando en él, y en unos pocos meses pude sumar dos números de solo dígitos en aproximadamente dos segundos. Fue muy lento al principio, en parte debido a que la fila de números fue la única forma de ingresar números. El programa guardaría la puntuación alta en un archivo de texto oculto, y competiría conmigo mismo para empujarlo lo más alto posible. Al principio promediaría alrededor de 12 por minuto, pero todos los días el número subía lentamente. Alrededor del momento en que estaba promediando los 30 puntajes, comenzamos a hacer hojas de trabajo similares en clase con multiplicación. Veinte minutos de modificación, diez minutos de compilación más tarde, y fui el orgulloso propietario de las variantes de adición y multiplicación del programa. Nunca hubo variantes de resta o división. Posiblemente porque nunca tuvimos hojas de calentamiento con esas operaciones, potencialmente debido a que él ingresó a un período de vida sin tiempo libre, pero sospecho que fue porque siguió adelante antes de descubrir cómo servir las ecuaciones correctamente como ya había aprendido las matemáticas. Revertir y portar su lógica de la memoria, extendiendo las operaciones disponibles, agregando paréntesis de dificultad a través de límites parametrizados, colores, sonidos y una base de datos de marcador completa son mis contribuciones a su idea.
Los programas de mi papá no me enseñaron matemáticas, ni fueron diseñados para. Fueron creados para proporcionarme un entorno adecuado para practicar y rastrear mi progreso mientras aprendía. Este programa funciona de la misma manera. No hay intento de enseñarle al usuario cómo realizar operaciones matemáticas, sin embargo, cualquiera que pueda realizar suma, resta, multiplicación y división puede usar este programa para perfeccionar su velocidad de solución.
En primer lugar, me gustaría anunciar mi conciencia de desprecio por el formato estándar del código de Python, es lo primero que espero que otros desarrolladores noten. Mi convención de código, aunque no estándar, debe ser consistente. Mis funciones son escasas de serpientes, variables de camello en escala, clasifican el capital, y prefijo métodos 'privados' internos con un bajo. No 'Privito' los nombres de las variables. Se usan con mucha más frecuencia, y las clases actualmente no son lo suficientemente genéricas como para reutilizar sin refactorización moderada. Adjunto cadenas significativas en 'ticas individuales' (como 'negrita' o 'activa') y muestro texto o cadenas donde el orden del personaje no importa con "citas dobles" (como sticky = "ew").
Probado y trabajando en Win10 y Manjaro, pero el sonido actualmente solo funciona con Windows. Estoy trabajando para encontrar una forma nativa de enviar async sonido a través de Mac y Linux. Una regla rápida y rápida a la que me gustaría seguir es no tener dependencias fuera de los módulos estándar, para aumentar la accesibilidad. Podría enviar sonido con pygame o playsound, pero luego el usuario necesita instalar otro módulo para usar el programa y prefiero sacrificar el sonido por ahora.
No es el más preciso. En un entorno competitivo, y dependiendo del sistema que lo ejecute, la precisión del temporizador puede ser objetivamente inaceptable. Agregué un contador de rendimiento en Frames.py para probar rápidamente la varianza entre el "tiempo implícito de la prueba para completar" y el "tiempo real para completar". Simplemente líneas de incommento: 2, 168, 175 y 179 en clases/madmath.py y ejecuta madmath.pyw desde una línea de comando o terminal para ver. La varianza de mi máquina promedia 60.3 - 60.4 segundos que es aceptable para un marcador local en mi caso de uso. Esta importación también rompe mi regla de importación, pero una vez que se incorpore un temporizador más preciso, se eliminará su código relacionado.
Estoy orgulloso de haber podido armar esto yo mismo y de lanzarlo como un proyecto gratuito y de código abierto. Aferentemente acepto donaciones de café, pero incluso si no recibo un centavo, felizmente mantendré y mejoraré este programa a perpetuidad según lo permita el tiempo. Es como ayudar a un viejo amigo que una vez me ayudó. Solo espero que también te ayude.
CashApp: $ Coffeephreak
Los compañeros de valiente también pueden dejarme bate
Mi PB para su adición/fácil es 62 con 1 perdido, establecido 25/12/2023
correcto
incorrecto
alto escoras