Importante
Este programa requer Python 3
A versão mais atual do Python pode ser baixada aqui.
Importante
Python 3 requer tkinter
Executando o 'Pip Install Tk' de uma linha de comando ou terminal após a instalação do Python deve fazer o truque se o Tknter não tivesse sido incluído em sua versão do Python.
Cuidado
O Mad Math pesquisa o diretório "dados" incluído para um arquivo chamado Madmath.db, que é criado quando o programa é iniciado e não consegue encontrar o arquivo (como a primeira vez que é executada). Faça um atalho/symlink para madmath.pyw, se desejar lançar o programa de uma pasta diferente do que ele é salvo.
Não mova nada da pasta Madmath. A pasta em si pode ser movida, mas não enquanto o programa estiver em execução.
Download e descompacte madmath.zip para o local desejado e clique duas vezes em madmath.pyw no diretório Madmath para lançar.
Quando eu estava na 2ª série, iniciamos todos os segmentos de matemática, completando uma planilha de um minuto contendo 20 equações nas quais realizamos adição em dois números aleatórios de um dígito. Isso deveria ser um exercício de aquecimento e, a princípio, mais lutou para completar a folha inteira no tempo. Meu pai percebeu isso, decidiu que era inaceitável levar mais de alguns segundos para avaliar uma equação simples e começou a escrever um programa em Java. Dentro de algumas semanas, ele criou o protótipo funcional de um programa de adição digital. Ele me passou cerca de uma hora por dia praticando e, dentro de alguns meses, consegui somar dois números de dois dígitos em aproximadamente dois segundos. Foi muito lento no início, em parte devido ao fato de a linha numérica ser a única maneira de inserir números. O programa economizaria a pontuação alta em um arquivo de texto oculto, e eu competiria comigo para empurrá -lo o mais alto possível. No começo, eu tinha uma média de 12 por minuto, mas todos os dias o número subia lentamente. Na época em que eu estava calculando a média dos 30 pontos, começamos a fazer planilhas semelhantes em sala de aula com multiplicação. Vinte minutos de modificação, dez minutos de compilação mais tarde, e eu fui o orgulhoso proprietário das variantes de adição e multiplicação do programa. Nunca houve variantes de subtração ou divisão. Possivelmente porque nunca tivemos folhas de aquecimento com essas operações, potencialmente devido a ele entrar em um período de vida desprovido de tempo livre, mas suspeito que foi porque ele seguiu em frente antes de descobrir como servir as equações de volta corretamente, pois já havia aprendido matemática. Reverter e portar sua lógica da memória, estendendo as operações disponíveis, adicionando suportes de dificuldade por meio de limites, cores, sons, sons e um banco de dados de placar completo são minhas contribuições para sua ideia.
Os programas do meu pai não me ensinaram matemática, nem foram projetados. Eles foram criados para me fornecer um ambiente adequado para praticar e acompanhar meu progresso enquanto aprende. Este programa funciona da mesma maneira. Não há nenhuma tentativa de ensinar o usuário a executar operações de matemática, no entanto, qualquer pessoa que possa executar adição, subtração, multiplicação e divisão pode usar esse programa para aprimorar sua velocidade de solução.
Primeiro, eu gostaria de anunciar minha consciência de desrespeito à formatação padrão do código Python, é a primeira coisa que espero que outros desenvolvedores percebam. Minha convenção de código, embora não padrão, deve ser consistente. Minhas funções são revestidas de cobra, variáveis Camel Cased, Classes Capital Cased e prefixo métodos internos 'privados' com um sublinhado. Eu não 'privizo' nomes de variáveis. Eles são usados com muito mais frequência, e as classes não são atualmente genéricas o suficiente para reutilizar sem refatoração moderada. Eu incluo seqüências significativas em 'ticks únicos' (como 'Bold' ou 'Active') e exibo texto ou seqüências de caracteres onde a ordem dos caracteres não importa com "citações duplas" (como sticky = "ew").
Testado e trabalhando em Win10 e Manjaro, mas o som atualmente funciona apenas com o Windows. Estou trabalhando para encontrar uma maneira nativa de enviar som assíncrono através do Mac e Linux. Uma regra mais rápida que eu gostaria de manter é não ter dependências fora dos módulos padrão, a fim de aumentar a acessibilidade. Eu poderia enviar som com Pygame ou PlaySound, mas o usuário precisa instalar outro módulo para usar o programa e prefiro sacrificar o som por enquanto.
Não é o mais preciso. Em um ambiente competitivo, e dependendo do sistema que o executa, a precisão do timer pode ser objetivamente inaceitável. Eu adicionei um contador de desempenho em quadros.py para testar rapidamente a variação entre o 'tempo implícito do teste para concluir' e o 'tempo real para concluir'. Linhas simplesmente de descomamento: 2, 168, 175 e 179 nas classes/madmath.py e execute madmath.pyw de uma linha de comando ou terminal para visualizar. A variação na minha máquina em média de 60,3 a 60,4 segundos, o que é aceitável para um placar local no meu caso de uso. Essa importação também quebra minha regra de importação, mas uma vez que um cronômetro mais preciso for incorporado, seu código relacionado será removido.
Tenho orgulho de ter conseguido montar isso sozinho e de lançá -lo como um projeto de código aberto e gratuito. Por outro lado, aceito doações de café, mas mesmo se não receber um centavo, vou manter e melhorar o programa em perpetuidade conforme o tempo permitir. É como ajudar um velho amigo que uma vez me ajudou. Só espero que isso também possa ajudá -lo.
CashApp: $ Coffeephreak
Outros usuários corajosos também podem me deixar morcego
Meu PB para adição/easy é 62 com 1 perdido, definido em 25/12/2023
correto
incorreto
Highscore