El penjat P88165


Statement
 

pdf   zip

thehtml

Feu un programa que simuli el joc del penjat.

Recordeu que el penjat és un joc de paper i llapis entre dos jugadors, diguem-ne l’Anna i en Bernat. L’Anna pensa una paraula i pinta tants asteriscos com lletres té. En Bernat ha d’intentar endevinar quina paraula és, tot proposant lletres de forma successiva. Si la lletra que proposa és a la paraula, l’Anna ensenya les posicions on s’hi troba. Si la lletra no hi és, l’Anna va “penjant” en Bernat. Penjar-lo no vol dir fer-li cap mal, sinó anar construint un ninotet que representa un penjat en una forca. El joc acaba amb la victòria d’en Bernat si aquest encerta totes les lletres, o amb la victòria de l’Anna si arriba a pintar tots els traços (tres en el nostre cas: cap, braços i cames).

Entrada

L’entrada comença amb la paraula que l’Anna ha triat. Aquesta paraula només conté sis lletres majúscules. A continuació, venen les lletres que proposa en Bernat.

Sortida

La sortida conté diferents blocs. El primer bloc conté el dibuix de la forca i mostra sis asteriscos que representen les sis lletres de la paraula que en Bernat ha d’endevinar. Després, per a cada lletra que en Bernat proposi, es mostra un bloc amb el dibuix de la forca i el ninotet penjat i les lletres de la paraula que ha encertat fins al moment (deixant astericos per a les lletres que no ha trobat encara). Cal acabar d’escriure blocs quan un dels dos jugadors guanya i llavors escriure “ FINAL” (amb un espai davant).

Utilitzeu els exemples per tal de veure el format de la forca, el ninotet i els blocs descrits anteriorment.

Observació

Vigileu el cas on el segon jugador repeteix una de les lletres que ja ha proposat.

Public test cases
  • Input

    GARGOT
    A
    E
    G
    O
    T
    R
    

    Output

     ******
     +----+
     |/
     |
     |
     |
    -+-
    
     *A****
     +----+
     |/
     |
     |
     |
    -+-
    
     *A****
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     GA*G**
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     GA*GO*
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     GA*GOT
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     GARGOT
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     FINAL
    
  • Input

    PATATA
    A
    E
    I
    O
    U
    K
    W
    Z
    

    Output

     ******
     +----+
     |/
     |
     |
     |
    -+-
    
     *A*A*A
     +----+
     |/
     |
     |
     |
    -+-
    
     *A*A*A
     +----+
     |/   |
     |    O
     |
     |
    -+-
    
     *A*A*A
     +----+
     |/   |
     |    O
     |   /|\
     |
    -+-
    
     *A*A*A
     +----+
     |/   |
     |    O
     |   /|\
     |   / \
    -+-
    
     FINAL
    
  • Information
    Author
    Jordi Petit
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++