Penting
Program ini membutuhkan Python 3
Versi Python terbaru dapat diunduh di sini.
Penting
Python 3 membutuhkan Tkinter
Menjalankan 'Pip Instal Tk' dari baris perintah atau terminal setelah menginstal Python harus melakukan trik jika Tkinter tidak dibundel dalam versi Python Anda.
Peringatan
Mad Math mencari direktori "data" yang disertakan untuk file bernama Madmath.db, yang dibuat ketika program diluncurkan dan tidak dapat menemukan file (seperti yang pertama kali dijalankan). Buat jalan pintas/symlink ke madmath.pyw jika Anda ingin meluncurkan program dari folder yang berbeda dari tempat disimpan.
Jangan memindahkan apa pun dari folder Madmath. Folder itu sendiri dapat dipindahkan, tetapi tidak saat program berjalan.
Unduh dan unzip madmath.zip ke lokasi yang diinginkan lalu klik dua kali madmath.pyw di direktori Madmath untuk diluncurkan.
Ketika saya berada di kelas 2 , kami memulai setiap segmen matematika dengan menyelesaikan lembar kerja satu menit waktu yang berisi 20 persamaan di mana kami melakukan penambahan pada dua angka satu digit acak. Ini dimaksudkan untuk menjadi latihan pemanasan, dan pada awalnya paling berjuang untuk menyelesaikan seluruh lembar tepat waktu. Ayah saya memperhatikan hal ini, memutuskan bahwa tidak dapat diterima bagi saya untuk membutuhkan waktu lebih dari beberapa detik untuk mengevaluasi persamaan sederhana, dan mulai menulis program di Java. Dalam beberapa minggu ia telah membuat prototipe fungsional dari program penambahan digital. Dia membuat saya menghabiskan sekitar satu jam per hari berlatih di atasnya, dan dalam beberapa bulan saya dapat menyimpulkan dua angka satu digit dalam sekitar dua detik. Itu sangat lambat pada awalnya, sebagian karena baris angka menjadi satu -satunya cara untuk memasukkan nomor. Program ini akan menyimpan skor tinggi dalam file teks tersembunyi, dan saya akan bersaing dengan diri saya untuk mendorongnya setinggi mungkin. Awalnya saya akan rata -rata sekitar 12 per menit, tetapi setiap hari jumlahnya perlahan naik. Sekitar waktu saya rata -rata pertengahan skor 30, kami mulai melakukan lembar kerja serupa di kelas dengan perkalian. Dua puluh menit modifikasi, sepuluh menit kompilasi kemudian, dan saya adalah pemilik bangga baik varian tambahan dan perkalian program. Tidak pernah ada varian pengurangan atau divisi. Mungkin karena kami tidak pernah memiliki lembaran pemanasan dengan operasi -operasi itu, berpotensi karena dia memasuki periode kehidupan kehilangan waktu luang, tetapi saya curiga itu karena dia pindah sebelum mencari tahu bagaimana melayani persamaan kembali dengan benar karena saya sudah belajar matematika. Membalikkan dan porting logikanya dari memori, memperluas operasi yang tersedia, menambahkan kurung kesulitan melalui batas parameter, warna, suara, dan database papan skor penuh adalah kontribusi saya pada idenya.
Program ayah saya tidak mengajari saya matematika, mereka juga tidak dirancang. Mereka diciptakan untuk memberi saya lingkungan yang memadai untuk berlatih dan melacak kemajuan saya saat belajar. Program ini bekerja dengan cara yang sama. Tidak ada upaya untuk mengajari pengguna cara melakukan operasi matematika, namun siapa pun yang dapat melakukan penambahan, pengurangan, perkalian, dan divisi dapat menggunakan program ini untuk mengasah kecepatan solusi mereka.
Pertama, saya ingin mengumumkan kesadaran saya tentang pengabaian untuk pemformatan kode python standar, ini adalah hal pertama yang saya harapkan dari devs lain untuk memperhatikan. Konvensi kode saya, meskipun non-standar, harus konsisten. Fungsi saya adalah ular cased, variabel camel cased, class capital cased, dan saya awalan metode 'swasta' internal dengan garis bawah. Saya tidak 'mengutamakan' nama variabel. Mereka lebih sering digunakan, dan kelas saat ini tidak cukup umum untuk digunakan kembali tanpa refactoring sedang. Saya melampirkan string yang bermakna dalam 'kutu tunggal' (seperti 'tebal' atau 'aktif') dan menampilkan teks atau string di mana urutan karakter tidak masalah dengan "kutipan ganda" (seperti sticky = "ew").
Diuji dan bekerja di Win10 dan Manjaro, tetapi suara saat ini hanya berfungsi dengan Windows. Saya sedang berupaya menemukan cara asli untuk mengirim suara async melalui Mac dan Linux. Aturan cepat yang sulit yang ingin saya pertahankan adalah tidak memiliki dependensi di luar modul standar, untuk meningkatkan aksesibilitas. Saya bisa mengirim suara dengan pygame atau playsound, tetapi kemudian pengguna perlu menginstal modul lain untuk menggunakan program dan saya lebih suka mengorbankan suara untuk saat ini.
Ini bukan yang paling akurat. Dalam pengaturan kompetitif, dan tergantung pada sistem yang menjalankannya, akurasi timer mungkin tidak dapat diterima secara objektif. Saya menambahkan penghitung kinerja dalam frames.py untuk dengan cepat menguji varian antara 'waktu tersirat untuk menyelesaikan' dan 'waktu aktual untuk menyelesaikan'. Cukup unscomment lines: 2, 168, 175, dan 179 di kelas/madmath.py dan jalankan madmath.pyw dari baris perintah atau terminal untuk dilihat. Varians pada mesin saya rata -rata 60,3 - 60,4 detik yang dapat diterima untuk papan skor lokal dalam kasus penggunaan saya. Impor ini juga melanggar satu aturan impor saya, tetapi begitu timer yang lebih akurat dimasukkan kode terkaitnya akan dihapus.
Saya bangga bisa menyatukan ini sendiri, dan melepaskannya sebagai proyek sumber terbuka dan gratis. Sebaliknya, saya menerima sumbangan kopi, tetapi bahkan jika saya tidak menerima satu sen saya akan dengan senang hati mempertahankan dan meningkatkan program ini untuk selamanya sesuai waktu. Ini seperti membantu teman lama yang pernah membantu saya. Saya hanya berharap itu bisa membantu Anda juga.
CashApp: $ CoffeePhreak
Sesama pengguna pemberani juga dapat mengantar saya kelelawar
PB saya untuk penambahan/mudah adalah 62 dengan 1 terlewat, set 12/25/2023
benar
salah
Highscore