Wichtig
Dieses Programm erfordert Python 3
Die aktuellste Version von Python kann hier heruntergeladen werden.
Wichtig
Python 3 benötigt Tkinter
Ausführen von 'PIP Installation TK' von einer Befehlszeile oder einem Terminal nach der Installation von Python sollte den Trick ausführen, wenn TKINTER nicht in Ihre Version von Python eingebündet wurde.
Vorsicht
Mad Math sucht das enthaltene Verzeichnis "Daten" nach einer Datei namens madmath.db, die beim Start des Programms erstellt wird und die Datei nicht finden kann (wie beim ersten Mal). Machen Sie eine Verknüpfung/Symlink zu madmath.pyw, wenn Sie das Programm aus einem anderen Ordner starten möchten, als wo es gespeichert ist.
Bewegen Sie nichts aus dem Madmath -Ordner. Der Ordner selbst kann bewegt werden, aber nicht während des Programms.
Download und entpep madmath.zip zum gewünschten Ort und doppelklicken Sie dann auf madmath.pyw im Madmath -Verzeichnis zum Starten.
Als ich in der 2. Klasse war, begannen wir jedes mathematische Segment, indem wir ein zeitlich eingerichtetes Arbeitsblatt mit 20 Gleichungen abgeschlossen haben, in denen wir auf zwei zufälligen einstelligen Zahlen hinzugefügt wurden. Dies sollte eine Aufwärmübung sein, und zunächst kämpfte am meisten darum, das gesamte Blatt rechtzeitig zu vervollständigen. Mein Vater bemerkte dies, entschied, dass es für mich inakzeptabel war, länger als ein paar Sekunden zu dauern, um eine einfache Gleichung zu bewerten, und begann, ein Programm in Java zu schreiben. Innerhalb weniger Wochen hatte er den funktionalen Prototyp eines digitalen Additionsprogramms erstellt. Er ließ mich ungefähr eine Stunde pro Tag damit verbringen, darin zu üben, und innerhalb weniger Monate konnte ich in ungefähr zwei Sekunden zwei einzelne Zahlenzahlen zusammenfassen. Zu Beginn war es sehr langsam, teilweise darauf zurückzuführen, dass die Zahlenreihe die einzige Möglichkeit war, Zahlen einzugeben. Das Programm würde die hohe Punktzahl in einer versteckten Textdatei speichern, und ich würde mit mir selbst konkurrieren, um sie so hoch wie möglich voranzutreiben. Zuerst würde ich durchschnittlich etwa 12 pro Minute, aber jeden Tag stieg die Zahl langsam an. Ungefähr zu der Zeit, als ich im Durchschnitt Mitte 30 Punkte hatte, begannen wir mit Multiplikation ähnliche Arbeitsblätter im Unterricht. 20 Minuten Modifikation, zehn Minuten Zusammenstellung später, und ich war der stolze Eigentümer von Addition- und Multiplikationsvarianten des Programms. Es gab niemals Subtraktions- oder Teilungsvarianten. Möglicherweise, weil wir mit diesen Operationen nie aufgewärtete Blätter hatten, da er möglicherweise eine Lebenszeit ohne Freizeit betrat, aber ich vermute, dass er weitergegangen ist, bevor er weitergab, wie ich herausfand, wie man die Gleichungen ordnungsgemäß zurückdienst, wie ich bereits Mathematik gelernt hatte. Das Umkehren und Portieren seiner Logik aus dem Speicher, die Erweiterung der verfügbaren Vorgänge, das Hinzufügen von Schwierigkeitsklammern über parametrisierte Grenzen, Farben, Sounds und einer vollständigen Anzeigetafeldatenbank sind meine Beiträge zu seiner Idee.
Die Programme meines Vaters haben mir weder Mathe beigebracht, noch waren sie darauf ausgelegt. Sie wurden geschaffen, um mir eine angemessene Umgebung zu bieten, um meine Fortschritte beim Lernen zu üben und zu verfolgen. Dieses Programm funktioniert genauso. Es gibt keinen Versuch, dem Benutzer beizubringen, wie er mathematische Operationen ausführt, aber jeder, der Addition, Subtraktion, Multiplikation und Abteilung durchführen kann, kann dieses Programm verwenden, um seine Lösungsgeschwindigkeit zu verbessern.
Zunächst möchte ich mein Bewusstsein für die Missachtung der Standard -Python -Code -Formatierung bekannt geben. Als erstes erwarte ich, dass andere Entwickler es bemerken. Meine Codekonvention, obwohl nicht standardmäßig, sollte konsistent sein. Meine Funktionen sind Schlangengehäuse, Variablen Camel Hase, Klassenkapitalgehäuse und ich Präfix interne "private" Methoden mit einem Unterstrich. Ich 'Privitalisierung' Variablennamen nicht. Sie werden viel häufiger verwendet, und die Klassen sind derzeit nicht generell genug, um ohne moderate Refactoring wiederverwendet zu werden. Ich füge aussagekräftige Zeichenfolgen in 'Single Ticks' (wie 'mutig oder' aktive ') ein und zeige Text oder Zeichenfolgen an, in denen die Zeichenreihenfolge mit "Doppelzitaten" (wie Sticky = "EW") nicht wichtig ist.
Getestet und arbeitet in Win10 und Manjaro, aber Sound funktioniert derzeit nur mit Windows. Ich arbeite daran, einen nativen Weg zu finden, um Async Sound sowohl über Mac als auch über Linux zu senden. Eine harte, schnelle Regel, an die ich mich gerne halten möchte, besteht darin, keine Abhängigkeiten außerhalb der Standardmodule zu haben, um die Zugänglichkeit zu erhöhen. Ich könnte Sound mit Pygame oder PlaySound senden, aber dann muss der Benutzer ein anderes Modul installieren, um das Programm zu verwenden, und ich würde vorerst lieber Sound opfern.
Es ist nicht das genaueste. In einer wettbewerbsfähigen Umgebung und abhängig vom System, das es ausführt, kann die Timergenauigkeit objektiv inakzeptabel sein. Ich habe einen Leistungsschalter in Frames.Py hinzugefügt, um die Varianz zwischen der "implizite Zeit zum Vervollständigen" des Quiz schnell zu testen. Einfach die Linien mit den Zeilen: 2, 168, 175 und 179 in Klassen/Madmath. Die Abweichung auf meiner Maschine beträgt durchschnittlich 60,3 - 60,4 Sekunden, was für eine lokale Anzeigetafel in meinem Anwendungsfall akzeptabel ist. Dieser Import bricht auch meine einzige Importregel aus, aber sobald ein genauerer Timer aufgenommen wurde, wird sein zugehöriger Code entfernt.
Ich bin stolz darauf, dies selbst zusammenzustellen und es als kostenloses und Open -Source -Projekt zu veröffentlichen. Im Gegensatz dazu akzeptiere ich Kaffeespenden, aber selbst wenn ich keinen Cent erhalte, werde ich dieses Programm mit der Zeit gerne gerne aufrechterhalten und verbessern. Es ist, als würde man einem alten Freund helfen, der mir einmal geholfen hat. Ich hoffe nur, dass es Ihnen auch helfen könnte.
CashApp: $ coffeephreak
Kollegen mutige Benutzer können mich auch schlugen lassen
Mein PB für Addition/Easy ist 62 mit 1 verpasst, 25.12.2023 festgelegt
richtig
falsch
HighScore