POO Tema 4
De la WikiLabs
Realizați un program care să implementeze jocul "Ghicește numărul" contra timp. Calculatorul va genera un număr aleator între 1 și 100 și jucătorul va avea 10 secunde să ghicească numărul, altfel jocul e considerat pierdut. La fiecare încercare, calculatorul va informa jucătorul dacă numărul introdus este mai mic sau mai mare decât cel căutat.
Cerințe
- Implementați o clasă
GuessResult
care să aibă două metode publice:boolean isWon()
- întoarcetrue
dacă numărul a fost ghicit.String toString()
- întoarce un String care va fi prezentat jucătorului drept feedback la numărul introdus: "Try LOWER!", "Try HIGHER!", "Exactly, you WIN!".
- Implementați o clasă de tip excepție numită
TimeoutException
- Implementați o clasă numită
GameEngine
care să aibă următoarele metode:- Un constructor
GameEngine(int valueToGuess)
al cărui argument reprezintă valoarea ce trebuie ghicită; GuessResult guess(int value) throws TimeoutException
- o metodă apelată de fiecare dată când jucătorul introduce un număr; metoda va arunca excepție dacă s-a depășit timpul, altfel va întoarce un obiect de tipGuessResult
care conține informațiile legate de mutarea anterioară.
- Un constructor
- Implementați o clasă
Main
, executabilă, care să genereze un număr aleator, să instanțieze unGameEngine
și apoi să citească numere de la tastatură dând feedback jucătorului până la ghicirea numărului sau până la expirarea timpului. - Dacă timpul expiră, se va afișa în consolă imediat (nu la primul număr introdus) textul "Time is up! You lose."
Observații
- Toate clasele trebuie să facă parte din pachetul
seriaf.poo.tema4
- Timpul de 10 secunde începe să curgă de la instațierea obiectului de tip
GameEngine
.
Link pentru upload Web-Cat, aici.