POO Tema 4
De la WikiLabs
Jump to navigationJump to searchRealizaț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ă
GuessResultcare să aibă două metode publice:boolean isWon()- întoarcetruedacă 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ă
GameEnginecare să aibă următoarele metode:- Un constructor
GameEngine(int valueToGuess, int secondsAvailable)ale cărui argumente reprezintă valoarea ce trebuie ghicită și numărul de secunde disponibile pentru a ghici numărul; 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 tipGuessResultcare 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.