Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
HANG - Wisielec |
Postanawiasz wykorzystać swoje zdolności programistyczne i zrobić coś dla dzieci w Twoim byłym przedszkolu, najlepiej napisać grę. Dyrektorka placówki przystała na Twoją propozycję, zastrzegając jednak, że powinna być to gra o charakterze edukacyjnym. Żadnego strzelania do ludzi i podrzynania gardeł. Decydujesz się na klasykę - Wisielca.
Przebieg rozgrywki powinien przebiegać w następujący sposób:
Na początku:
1. wypisujesz nagłówek gry: 'Welcome to the Hangman Game!'.
2. Pustą szubienicę (patrz przykład).
3. Linię: 'Secret word:'.
4. Sekretne słowo z literami zastąpionymi znakami _ i spacjami pomiędzy nimi.
Dla każdej tury rozgrywki:
1. Liczba pozostałych możliwych błędów do popełnia w formacie: 'Number of mistakes left: X'.
2. Poprawne litery dotychczas zgłoszone (duże), jeśli jeszcze nie było to: '-'.
3. Słowo zachęty: 'Please guess a letter!'.
4. Wybraną literę w formacie: 'Your choice: X'.
5A. Jeśli nie był to poprawny znak z alfabetu łacińskiego, wypisz: 'Only Latin alphabet letters!'.
5B. Jeśli wybrana poprawna litera była już proponowana, wypisz: 'You've already guessed that letter!'.
5C. Jeśli wybrana poprawna litera nie była jeszcze proponowana i nie znajduje się w sekretnym słowie, wypisz: 'Nope!'.
5D. Jeśli wybrana poprawna litera nie była jeszcze proponowana i znajduje się w sekretnym słowie, wypisz: 'Nice!'. Wyjątek: wygrana, wówczas tylko pusta linia przejdź do 1A.
6A. Jeśli poprzednio wyszło A,B lub C, dodaj jeden do licznika pomyłek i wypisz odpowiednie stadium szubienicy.
6B. Jeśli poprzednio wyszło D wypisz zaktualizowane sekretne słowo. Z jednym wyjątkiem, jeśli była to już ostatnia litera do odgadnięcia: nie wypisuj nic.
7. Pusta linia.
Na koniec:
1A. Jeśli zawodnik wygrał wypisz: 'You won!' oraz w kolejnej linii sekretne słowo już bez odstępów.
1B. Jeśli zawodnik przegrał wypisz: 'Game Over!' oraz w kolejnej linii sekretne słowo już bez odstępów.
Każdą rozgrywkę należy zakończyć pustą linią.
W całej grze należy traktować małą i wielką literę jako jedną.
Jeśli w grze zgłoszono za mało liter żeby ją zakończyć, przerywamy grę nie wypisując żadnego zakończenia.
Jeśli w grze zgłoszono za dużo liter ignorujemy resztę.
Znak nie należący do alfabetu łacińskiego traktowany jest jako pomyłka.
W każdej rozgrywce limit błędów wynosi siedem.
W zadaniu włączony jest sędzia dokładny!
Wejście
W pierwszej linii - jedna liczba całkowita n określająca liczbę testów. W każdej z pierwszych linii pojedynczej rozgrywki/testu sekretne słowo s oraz liczba k opisująca liczbę zgłoszonych odpowiedzi. W kolejnych k liniach każdego testu znaki c.
Wyjście
Przebieg rozgrywek zgodnie z powyższym opisem. Każdy test zakończony jedną pustą linią.
Ograniczenia
0 < n < 3001
0 < k < 301
0 < len(s) < 40
s - duże litery łacińskiego alfabetu
c - znaki ascii [32, 125]
Przykład
Wejście: 3
HANGMAN 8
A
E
m
n
h
a
,
g
CAT 6
d
o
g
D
O
G
PYTHON 10
C
+
+
J
A
V
A
P
H
P
Wyjście: Welcome to the Hangman Game!
+---------------------+
| ____________ |
| |/ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Secret word:
_ _ _ _ _ _ _
Number of mistakes left: 7
Guesses: -
Please guess a letter!
Your choice: A
Nice!
Secret word:
_ A _ _ _ A _
Number of mistakes left: 7
Guesses: A
Please guess a letter!
Your choice: E
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | | |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 6
Guesses: AE
Please guess a letter!
Your choice: m
Nice!
Secret word:
_ A _ _ M A _
Number of mistakes left: 6
Guesses: AEM
Please guess a letter!
Your choice: n
Nice!
Secret word:
_ A N _ M A N
Number of mistakes left: 6
Guesses: AEMN
Please guess a letter!
Your choice: h
Nice!
Secret word:
H A N _ M A N
Number of mistakes left: 6
Guesses: AEMNH
Please guess a letter!
Your choice: a
You've already guessed that letter!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 5
Guesses: AEMNH
Please guess a letter!
Your choice: ,
Only Latin alphabet letters!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | | |
| | | |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 4
Guesses: AEMNH
Please guess a letter!
Your choice: g
You won!
Secret: HANGMAN
Welcome to the Hangman Game!
+---------------------+
| ____________ |
| |/ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Secret word:
_ _ _
Number of mistakes left: 7
Guesses: -
Please guess a letter!
Your choice: d
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | | |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 6
Guesses: D
Please guess a letter!
Your choice: o
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 5
Guesses: DO
Please guess a letter!
Your choice: g
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | | |
| | | |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 4
Guesses: DOG
Please guess a letter!
Your choice: D
You've already guessed that letter!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /| |
| | / | |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 3
Guesses: DOG
Please guess a letter!
Your choice: O
You've already guessed that letter!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /|\ |
| | / | \ |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 2
Guesses: DOG
Please guess a letter!
Your choice: G
You've already guessed that letter!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /|\ |
| | / | \ |
| | | |
| | / |
| | / |
| | |
| __|__ |
+---------------------+
Welcome to the Hangman Game!
+---------------------+
| ____________ |
| |/ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Secret word:
_ _ _ _ _ _
Number of mistakes left: 7
Guesses: -
Please guess a letter!
Your choice: C
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | | |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 6
Guesses: C
Please guess a letter!
Your choice: +
Only Latin alphabet letters!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | |
| | |
| | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 5
Guesses: C
Please guess a letter!
Your choice: +
Only Latin alphabet letters!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | | |
| | | |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 4
Guesses: C
Please guess a letter!
Your choice: J
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /| |
| | / | |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 3
Guesses: CJ
Please guess a letter!
Your choice: A
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /|\ |
| | / | \ |
| | | |
| | |
| | |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 2
Guesses: CJA
Please guess a letter!
Your choice: V
Nope!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /|\ |
| | / | \ |
| | | |
| | / |
| | / |
| | |
| __|__ |
+---------------------+
Number of mistakes left: 1
Guesses: CJAV
Please guess a letter!
Your choice: A
You've already guessed that letter!
+---------------------+
| ____________ |
| |/ | |
| | | |
| | (_) |
| | & |
| | /|\ |
| | / | \ |
| | | |
| | / \ |
| | / \ |
| | |
| __|__ |
+---------------------+
Game Over!
Secret: PYTHON
Uwagi
Dodane przez: | M. N. |
Data dodania: | 2015-07-02 |
Limit czasu wykonania programu: | 0.200s-2s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |