Diferență între revizuiri ale paginii „POO Tema 4”

De la WikiLabs
Jump to navigationJump to search
 
(Nu s-a afișat o versiune intermediară efectuată de același utilizator)
Linia 8: Linia 8:
 
* Implementați o clasă de tip excepție numită <code style="color: green">TimeoutException</code>
 
* Implementați o clasă de tip excepție numită <code style="color: green">TimeoutException</code>
 
* Implementați o clasă numită <code style="color: green">GameEngine</code> care să aibă următoarele metode:
 
* Implementați o clasă numită <code style="color: green">GameEngine</code> care să aibă următoarele metode:
** Un constructor <code>GameEngine(int valueToGuess)</code> al cărui argument reprezintă valoarea ce trebuie ghicită;
+
** Un constructor <code>GameEngine(int valueToGuess, int secondsAvailable)</code> ale cărui argumente reprezintă valoarea ce trebuie ghicită și numărul de secunde disponibile pentru a ghici numărul;
 
** <code>GuessResult guess(int value) throws TimeoutException</code> - 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 tip <code style="color: green">GuessResult</code> care conține informațiile legate de mutarea anterioară.
 
** <code>GuessResult guess(int value) throws TimeoutException</code> - 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 tip <code style="color: green">GuessResult</code> care conține informațiile legate de mutarea anterioară.
 
* Implementați o clasă <code style="color: green">Main</code>, executabilă, care să genereze un număr aleator, să instanțieze un <code style="color: green">GameEngine</code> ș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.
 
* Implementați o clasă <code style="color: green">Main</code>, executabilă, care să genereze un număr aleator, să instanțieze un <code style="color: green">GameEngine</code> ș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.
Linia 19: Linia 19:
  
  
Link pentru upload Web-Cat, [http://homework.dcae.pub.ro:8888/Web-CAT/WebObjects/Web-CAT.woa?page=UploadSubmission&aoid=16 aici].
+
Link pentru upload Web-Cat, [http://homework.dcae.pub.ro:8888/Web-CAT/WebObjects/Web-CAT.woa?page=UploadSubmission&aoid=22 aici].

Versiunea curentă din 5 ianuarie 2016 20:15

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() - întoarce true 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, 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 tip GuessResult care conține informațiile legate de mutarea anterioară.
  • Implementați o clasă Main, executabilă, care să genereze un număr aleator, să instanțieze un GameEngine ș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.