لينوكس يساعدك في لعب السكرابل

هل تعلم أنه يمكنك توقع الكلمات و استخدامها في لعبة السكرابل المعروفة فقط عبر أوامر الترمنال.



المتطلبات

- في البداية ستحتاج إلى أي توزيعة لينوكس لأنك لن تحتاج لأكثر من الترمتنال.

- ستحتاج كذلك للائحة بالكلمات داخل ملف txt لاستعمالها بواسطة grep

- معرفتك للعبة و لسطر الأوامر Terminal


الإنجاز

قم في البداية بتحميل لائحة بالكلمات مباشرة من أحد المواقع, مثال جاهز

wget http://www.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt -o words.txt

 و هكذا يكون لديك ملف جاهز باسم words.txt

لنبدأ, داخل الترمنال أكتب

grep "ed$" words.txt

 ستلاحظ على الفور أنه مدك بكافة الكلمات التي تنتهي ب ed لمجرد إضافتك لرمز الدولار $.

اكتب من جديد

grep "^th" words.txt
و هذه المرة سيمدنا grep بالكلمات التي تبدأ ب th.

كذلك يمكننا المزج بين الأمرين

grep "^zo*[m]*ed" words.txt
 حيث طلبت هنا البحث عن كلمة تبدأ ب zo و تنتهي ب ed و استعملنا النجمة * للدلالة لأنه يمكن أن يكون أي حرف مكانهما كما يمكن أن لا تحتوي شيئا, أما m فللإشارة أنه يمكن إستعمال حرف m في الوسط

لنجرب شيئا جديدا.

grep "^m..t..s$" words
mantels
mantles
martyrs
masters
matters
mentors
misters
mittens
mortals
mortars
mottoes
mouthes
mutters
mystics
كما تلاحظون أعطانا جميع الكلمات التي تبدأ ب m يليها حرفان عشوائيان ثم حرف t و حرفان آخران ثم rs,
أي أني استعملت النقاط للدلالة على الأحرف التي أحتاجها.

 و الآن مع أهم أداة.

grep "^[cftwabm]\{1,4\}are$" words.txt
aware
bare
care
fare
mare
ware
 في هذا المثال لدى اللاعب كلمة لا تتجاوز سبعة أحرف تنتهي ب are فاحتاج لإضافة من حرف واحد إلى أربعة أحرف ليصبح المجموع سبعة, و لكن في نفس الوقت لا يملك إلا القطع التالية cftwabm و يريد استعمالها في كلمة, و باستخدام الأمر السابق أضهر أنه ليس بإمكانه استعمال غير الإحتمالات الستة الواردة.

أرجو أنكم قد استمتعتم.