Implementační test 23.01.2024

Napište program, který bude implementovat populární hru WORDLE (v české verzi Hádej slova. Program funguje tak, že ze souboru načte z textového souboru předem neznámá slova (řazena v textovém souboru libovolným způsobem), a z tohoto souboru náhodně vybere jedno slovo, které bude hráč v šesti pokusech hádat. Slova jsou složena z pěti písmen, pokud mají slova jinou délku, nejsou do výběru zařazena. V každém ze šesti tahů napíše hráč svůj tip a program označí písmena, která hráč

  • uhodl na přesné pozici – +
  • uhodl jejich přítomnost ve slově – ?
  • neuhodl – x

Volitelně na druhý řádek ještě uveďte kolik písmen se v daném slově nachází, pokud je počet různý od 1

slova.txt

Příklady hry

Příklad 1: hádáné slovo je kecup:

> kebab
= ++xxx
> kecka
= +++xx
> kecup
= +++++
OK, 3 tahy

Priklad 2: hádané slovo je parek:

> rampa
= ?+xxx
> karma
= ?++xx
> marka
= x++?x
...
FAIL

Priklad 3: hádané slovo je kebab:

> babka
= ??+x?
= 2 2  
> karma
= x?xx?
> kecup
= ++xxx
> kebab
= +++++
OK, 4 tahy

Implementace

Volání programu:

$ ./wordle slova.txt

Generování náhodných čísel

#include <time.h>
#include <stdlib.h>
 
srand(time(NULL));   // Initialization, should only be called once
int r = rand();      // Returns a pseudo-random integer between 0 and RAND_MAX

Kontrola vstupu hráče: pokud hráč zadá slovo jiné délky než 5, není akceptováno, ale hráč neztrácí tah.

courses/b0b99prpa/implementace.txt · Last modified: 2024/01/23 08:54 by viteks