متوسط سرعة الكتابة حوالي 40 كلمة في الدقيقة. إذا كنت تريد أن تكون منتجًا في عملك ، فيجب أن تهدف إلى كتابة ما لا يقل عن 65 إلى 70 كلمة في الدقيقة. ستؤدي زيادة سرعة الكتابة إلى تحسين كفاءتك ، مما سيعزز المهام مثل إدخال البيانات وكتابة النصوص والنسخ والأدوار الإدارية.
لاختبار مهاراتك في الكتابة ، يمكنك إنشاء تطبيق اختبار كتابة بسيط باستخدام Python. باستخدام هذا ، يمكنك الحصول على نتائج دقيقة وتطوير عادة إدمان لتحسينها بمرور الوقت.
وحدات Tkinter والعشوائية
لتطوير لعبة اختبار الكتابة ، ستستخدم ملف tkinter وحدة و عشوائي وحدة. يسمح لك Tkinter بإنشاء تطبيقات سطح المكتب. يوفر مجموعة متنوعة من الأدوات مثل الأزرار والتسميات ومربعات النص ومديري التخطيط التي تسهل تطوير التطبيقات دون بذل الكثير من الجهد.
بصرف النظر عن ذلك ، فإنه يأتي مع مكتبات مفيدة ، وكائنات قماشية ، ومحللات HTML / XML / PDF. لتثبيت Tkinter في نظامك ، افتح Terminal وقم بتنفيذ:
نقطة ثَبَّتَ tkinter
تحتوي الوحدة العشوائية على مجموعة من الوظائف لتوليد أرقام عشوائية. يمكنك استخدام هذه الإجراءات لإنتاج تسلسلات عشوائية ، وحركات اللعبة ، وأعداد صحيحة شبه عشوائية. تشمل بعض الاستخدامات الشائعة محاكاة لفات النرد ، وخلط القوائم ، و
مولد كلمة السر العشوائية، وفي ألعاب مثل لعبة الكريكيت اليدوية وعدد التخمين.كيفية بناء تطبيق اختبار الكتابة باستخدام بايثون
اتبع هذه الخطوات لإنشاء تطبيق اختبار الكتابة باستخدام وحدة Python Tkinter و Random.
يمكنك العثور على الكود المصدري لتطبيق Typing Test باستخدام Python وملف نص الكلمة في هذا مستودع جيثب.
ابدأ باستيراد Tkinter والوحدة العشوائية. قم بتهيئة مثيل Tkinter وعرض نافذة الجذر. عيّن الأبعاد بالبكسل والعنوان ولون الخلفية للنافذة.
من tkinter يستورد *
يستورد عشوائي
من tkinter يستورد صندوق الرسائل
الشاشة الرئيسية = Tk ()
الشاشة الرئيسية. الهندسة ("1000 × 600")
Mainscreen.title (لعبة MakeUseOf Typing)
Mainscreen.config (bg="أكوا")
قم بتنزيل قائمة الكلمات من مستودع GitHub وضعها في نفس المجلد مثل نص Python للرجوع إليه بسهولة. اقرأ محتويات الملف النصي واستخدم وظيفة split () لتخزين كل كلمة في قائمة. قم بتهيئة النتيجة ، والخطأ ، وعد 1 متغيرًا إلى الصفر ومتغير الوقت إلى 60.
file1 = فتح ("Words.txt", 'r')
الكلمات = file1.read (). split ()
النتيجة = ضاعت = العد 1 = 0
الوقت = 60
تحديد وظيفة تسمى الوقت المعطى() التي تشير إلى المتغيرات العالمية المذكورة أعلاه. إذا كان الوقت المتبقي أكبر من الصفر ، فقم بإنقاصه بمقدار واحد وعرضه على ملصق عدد الوقت (المُعلن عنه في النصف الأخير من الكود). استخدم ال بعد() وظيفة لاستدعاء وظيفة giventime () بعد تأخير قدره 1000 مللي ثانية (ثانية واحدة).
إذا انتهى الوقت ، قم بتغيير محتوى startlabel إلى Game Over وعرض النتيجة في نفس الوقت على ملصق تعليمات اللعبة. مرر المتغيرات المقابلة إلى شكل() وظيفة لعرض النتيجة ، والمفقودة ، وإجمالي النقاط.
defالوقت المعطى():
عالمي الوقت ، النتيجة ، الضياع
إذا كان الوقت> 0:
الوقت - = 1
timercount.configure (النص = الوقت)
الوقت.بعد(1000, الوقت المعطى)
آخر:
startlabel.configure (نص ='انتهت اللعبة!')
gameinstruction.configure (نص ='ضرب = {} | ملكة جمال = {} | إجمالي الدرجات = {} '.format (نتيجة ، ضياع ، نتيجة - ضائعة))
قم بتمرير العنوان والرسالة إلى askokcancel () وظيفة. إذا كانت الاستجابة المتلقاة في مربع الحوار صحيحة ، فقم بإيقاف التطبيق باستخدام مخرج() وظيفة.
rr = messagebox.askokcancel ('انتهت اللعبة!', "اضغط على موافق للخروج")
لو ص ص == حقيقي:
مخرج()
تحديد وظيفة تسمى لعبة() التي تأخذ الحدث كمدخل. مرجع المتغيرات العالمية. إذا كان متغير الوقت يساوي 60 ، فنفّذ وظيفة giventime () لبدء العد التنازلي. أثناء تقدم اللعبة ، قم بتغيير startlabel إلى Continue و gameinstruction label للضغط على enter بعد كتابة الكلمة باستخدام وظيفة config ().
defلعبة(حدث):
عالمي النتيجة ، غابإذا كان الوقت == 60:
الوقت المعطى()
startlabel.configure (نص ='يكمل..')
gameinstruction.configure (نص ="اضغط على Enter بعد كتابة الكلمة")
استرجع الكلمة المكتوبة في إدخال الكلمات باستخدام يحصل() وظيفة وتحقق مما إذا كانت تساوي الكلمة المعروضة على الشاشة. إذا كانت الإجابة بنعم ، قم بزيادة النتيجة وعكسها على ملصق النتيجة. خلاف ذلك ، قم بزيادة المتغير المفقود بمقدار واحد.
أعد ترتيب العناصر في قائمة الكلمات واعرض العنصر الأول. استخدم ال يمسح() تعمل من الصفر إلى الفهرس الأخير في أداة إدخال الكلمات لمسح المحتوى.
لو wordentry.get () == labelforward ['نص']:
النتيجة + = 1
scorelabelcount.configure (النص = النتيجة)
آخر:
فاتته + = 1
عشوائي.خلط(كلمات)
labelforward.configure (نص = كلمات [0])
كلمات.يمسح(0, نهاية)
قم بتعيين startlabel و labelforward و scorelabel و scorelabelcount و labelfortimer و timercount و gameinstruction باستخدام أداة Label. تأخذ أداة التسمية النافذة الأصلية التي تريد وضعها فيها ، والنص الذي يجب أن تعرضه ، ونوع الخط ، والحجم ، واللون ، والنمط جنبًا إلى جنب مع لون خلفية الملصق.
مرر إحداثيات X و Y إلى مكان() طريقة لتنظيم الملصقات في موضع معين.
startlabel = التسمية (الشاشة الرئيسية ، النص ="لعبة الكتابة"، الخط = ("أريال",30,"مائل جريء"),bg='أسود',fg='أبيض')
startlabel.place (س = 375 ، ص = 50)labelforward = التسمية (الشاشة الرئيسية ، النص =' '، الخط = ("أريال",45,"مائل جريء"),fg='أخضر')
labelforward.place (س = 350 ، ص = 240)scorelabel = التسمية (الشاشة الرئيسية ، النص ='درجاتك:'، الخط = ("أريال",25,"مائل جريء"),fg="كستنائي")
scorelabel.place (س = 110 ، ص = 100)scorelabelcount = التسمية (الشاشة الرئيسية ، النص = النتيجة ، الخط = ("أريال",25,"مائل جريء"),fg='أرجواني')
scorelabelcount.place (س = 250 ، ص = 180)labelfortimer = التسمية (الشاشة الرئيسية ، النص ='الوقت المتبقي:'، الخط = ("أريال",25,"مائل جريء"),fg="كستنائي")
labelfortimer.place (س = 700 ، ص = 100)timercount = Label (الشاشة الرئيسية ، النص = الوقت ، الخط = ("أريال",25,"مائل جريء"),fg='أرجواني')
timercount.place (س = 700 ، ص = 180)
gameinstruction = التسمية (الشاشة الرئيسية ، النص ="اضغط على Enter بعد كتابة الكلمة"، الخط = ("أريال",25,"مائل جريء"),fg='رمادي')
gameinstruction.place (س = 250 ، ص = 500)
حدد أداة إدخال تقبل الكلمة التي تكتبها. عيّن النافذة الأصلية التي تريد وضعها فيها ، ونوع الخط وحجمه ونمطه بالإضافة إلى حجم الحدود وخاصية الضبط. استخدم طريقة place () لوضع عنصر واجهة مستخدم الإدخال وملف مجموعة التركيز () طريقة لتنشيط مربع الإدخال للإدخال.
wordentry = إدخال (الشاشة الرئيسية ، الخط = ("أريال",25,"مائل جريء") ، دينار بحريني =10، يبرر ='مركز')
wordentry.place (س = 350 ، ص = 330)
كلمات.focus_set()
خطوة مهمة هي ربط مفتاح Enter بحدث في نافذة Tkinter. القيام بذلك يضمن أنه عندما يضغط اللاعب يدخل سيتم تنفيذ وظيفة معينة. لتحقيق ذلك ، تقوم بتمرير
Mainscreen.bind ('' ، لعبة)
mainloop ()
ضع كل الكود معًا وقم بتشغيل الكود للعب لعبة اختبار الكتابة في متناول يدك.
إخراج تطبيق Python Typing Test
عند تشغيل البرنامج أعلاه ، تظهر نافذة بعرض 1000 بكسل وطول 600 بكسل ، مع لون خلفية مائي ولوحة النتائج وموقت للعد التنازلي وتعليمات لبدء اللعبة.
عند الضغط على Enter ، تبدأ اللعبة وعند كل إجابة صحيحة يقوم البرنامج بزيادة النتيجة.
عندما ينتهي الوقت ، يعرض البرنامج النتيجة النهائية مع مربع حوار للخروج من اللعبة.
أفكار Tkinter GUI للمبتدئين
Tkinter هي أداة قوية للغاية يمكنك استخدامها لإنشاء تطبيقات بسيطة إلى كاملة الوظائف جذابة وقوية. حتى المبتدئ يمكنه استخدام Tkinter. بعض المشاريع النموذجية التي يمكنك إنشاؤها هي لعبة اختبار أو دفتر عناوين أو قائمة مهام أو عارض صور.
إذا كنت ترغب في تجاوز Tkinter ، فإن بعض البدائل الشائعة تشمل Qt designer و Kivy و Toga و BeeWare. كل هذه الأطر متعددة الاستخدامات وتدعم التطوير عبر الأنظمة الأساسية ، بحيث يمكنك تشغيل تطبيقاتك بدون متاعب في أي بيئة.