Lapā tiek izmantotas sīkdatnes 

Wordle


Uzbūvēsim programmu, kas līdzinās plaši pazīstamai vārdu spēlei Wordle...

Ievads


Wordle ir plaši atpazīstama vārdu minēšanas spēle, kas katru dienu ļauj minēt kādu no angļu valodā sastopamiem 5 burtu vārdiem. Spēlētājam ir 6 mēģinājumi, lai uzminētu datora "iedomāto" vārdu. Spēlē tiek lietotas krāsas, lai atvieglotu vārdu minēšanu. Ja burts iekrāsojas sarkans, tas nav sastopams minamajā vārdā. Ja burts iekrāsojas dzeltens, tas vārdā atrodas citā pozīcijā. Savukārt zaļa krāsa apzīmē pareizi uzminētu burtu.

Tev būs jāpabeidz algoritms, kas darbina Wordle vārdu spēli...

Specifikācija


Noklonē projekta repozitoriju savā datorā, izmantojot komandu git clone https://github.com/raivis-rasnacs/wordle.git

Atver failu main.py koda redaktorā!

Failā ir vairākas funkcijas, katra no tām atbild par vienu no spēles loģikas daļām.

  1. Funkcija read_all_words() nolasa komandrindas argumentu, kam jābūt skaitlim no 5 līdz 8. Šis skaitlis nosaka minamo vārdu garumu. Ja skaitlis atbilst diapazonam, no mapes /collections ielasa attiecīgo failu un visus vārdus ielasa sarakstā jeb masīvā (list). Funkcija atgriež sarakstu ar vārdiem. Ja arguments nav noradīts vai neatbilst diapazonam, tiek izsaukta ValueError kļūda.

  2. Kad vārdu kopa ielasīta, no tās jāizvēlas viens nejaušs vārds, ko spēlētājam būs jāuzmin. Par to atbild funkcija select_random_word(). Tā saņem vārdu kopu kā parametru un atgriež vienu vārdu no tās.

  3. Kad noslēpumainais vārds ir izvēlēts, spēlētājam tiek prasīts ievadīt savu minējumu. To dara funkcija get_guess(). Ja minējumā burtu skaits atbilst burtu skaitam vārdā, sākas tā pārbaude. Ja burtu skaits nesakrīt, lietotājs turpina vadīt minējumus, līdz beidzot ievadīts pareizs burtu skaits.

  4. Brīdī, kad lietotājs ievada atbilstoša garuma minējumu, tas tiek pārbaudīts. To dara funkcija check_guess(), kas parametros saņem gan ievadīto, gan minamo vārdu. Ievadītais vārds tiek caurskatīts burtu pa burtam. Lai noteiktu, vai burts atrodas īstajā vietā, jāpārbauda kā burts, tā arī burta pozīcija vārdā. Caurskatot vārdu, tiek aprakstīts krāsu kodējums, kas vajadzīgs, lai iekrāsotu burtus pareizajās krāsās. Tas izmanto teksta tipa mainīgo ar garumu, kas vienāds ar ievadītā vārda garumu, bet sastāv no simboliem G, Y un R. Tie apzīmē zaļu(green), dzeltenu(yellow) un sarkanu(red) krāsu. Funkcija atgriež sastādīto krāsas kodējumu.

  5. Kad vārds pārbaudīts, to var izvadīt ekrānā. To dara funkcija print_word(). Šeit izmantosim bibliotēku rich, kas ļauj krāsot konsolē izvadītu tekstu. Funkcija caurskata ievadīto vārdu burtu pa burtam un atbilstoši krāsu kodējumam katru vārdu burtu iekrāso atbilstošā krāsa - sarkanā, dzeltenā vai zaļā. Komentārā dots pieraksts krāsu lietošanai tekstā. Izmanto definēto vārdnīcu ar krāsu nosaukumiem!

Lai instalētu bibliotēku rich, izmanto komandu pip install rich

main() funkcija darbina spēles loģiku un tā nav jāmaina. Pie ievadīta pareiza minējuma, spēlētājs saņems atbilstošu ziņojumu. Ja būs pārsniegts minējumu skaits un vārds nebūs uzminēts, programma darbu beigs, izvadot atbilstošu tekstu.