Diferență între revizuiri ale paginii „POO Tema 1”
De la WikiLabs
Jump to navigationJump to search (Pagină nouă: Realizați o implementare simplă a jocului "Spânzurătoarea". = Cerințe = Implementați o clasă, numită <code style="color: green">seriaf.poo.tema1.engine.implementation.Han...) |
|||
Linia 12: | Linia 12: | ||
* Jocul nu trebuie să facă diferențe între literele mici și mari. | * Jocul nu trebuie să facă diferențe între literele mici și mari. | ||
− | Se dau următoarele clase, ce trebuie folosite fără a fi modificate | + | Se dau următoarele clase, ce trebuie folosite fără a fi modificate: |
− | + | * [[Fișier:Main.java]] | |
− | + | * [[Fișier:Hangman.java]] | |
− | + | * [[Fișier:GameState.java]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Versiunea de la data 7 noiembrie 2015 19:13
Realizați o implementare simplă a jocului "Spânzurătoarea".
Cerințe
Implementați o clasă, numită seriaf.poo.tema1.engine.implementation.HangmanImpl
(atenție la numele pachetului), ce trebuie să implementeze interfața Hangman
de mai jos, pentru a completa funcționalitatea jocului, astfel:
- Constructorul clasei
HangmanImpl
trebuie să aibă un argument de tip String, ce reprezinta cuvântul ce trebuie ghicit, și un întreg ce reprezinta numărul de vieți; - Constructorul trebuie să arunce
java.lang.IllegalArgumentException
dacă cuvântul e mai scurt de 3 caractere, dacă conține altceva decât litere sau dacă numărul de vieți este mai mic sau egal decât 0; - Metoda
makeMove
aruncăjava.lang.IllegalArgumentException
dacă caracterul primit ca argument nu este o literă, saujava.lang.IllegalStateException
dacă se apelează după ce jocul s-a încheiat. - Metoda
makeMove
întoarce un obiect de tipseriaf.poo.tema1.engine.GameState
care conține informații legate de starea jocului de după efectuarea mutării. - Metoda
getGameState
întoarce un obiect de tipseriaf.poo.tema1.engine.GameState
, ce conține aceleași informații ca și acela întors de ultimul apel al metodeimakeMove
. - Cuvântul conținut în obiectele de tip
GameState
va avea pe pozițiile literelor ce au fost ghicite chiar litera respectivă, iar pe celelalte poziții, caracterul '_'; astfel, dacă se apeleazăgetGameState
înainte de un apel lamakeMove
, cuvântul conținut în rezultat trebuie să fie format doar din caractere '_', în număr egal cu numărul de caractere din cuvântul ce trebuie ghicit. - Jocul nu trebuie să facă diferențe între literele mici și mari.
Se dau următoarele clase, ce trebuie folosite fără a fi modificate: