Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

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