User Tools

Site Tools


Problem constructing authldap
teme:proiect:etapa2
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teme:proiect:etapa2 [2019/11/26 23:29]
Laurentiu Stamate [Proiect - Etapa 2 - League of OOP]
teme:proiect:etapa2 [2020/02/11 10:38] (current)
Bogdan Firuti [Mențiuni]
Line 1: Line 1:
 = Proiect - Etapa 2 - League of OOP = = Proiect - Etapa 2 - League of OOP =
  
-  * **Data publicarii:​**  +  * **Data publicarii:​** ​01.12.2019 
-  * **Data ultimei modificari:​** ​+  * **Data ultimei modificari:​** ​01.12.2019
   * **Deadline soft:** 05.01.2020 23:55   * **Deadline soft:** 05.01.2020 23:55
   * **Deadline __hard__:** 12.01.2020 23:55   * **Deadline __hard__:** 12.01.2020 23:55
Line 87: Line 87:
   * All: omoară un jucător   * All: omoară un jucător
  
-**LifeGiver**+**XPAngel**
   * Knight: crește XP-ul cu 45   * Knight: crește XP-ul cu 45
   * Pyromancer: crește XP-ul cu 50   * Pyromancer: crește XP-ul cu 50
   * Rogue: crește XP-ul cu 40   * Rogue: crește XP-ul cu 40
   * Wizard: crește XP-ul cu 60   * Wizard: crește XP-ul cu 60
 +
 +**Aceste creșteri se aplică doar modificatorilor de rasă și vor fi aplicați incremental. Spre exemplu, dacă un jucător are un modificator de rasa +20% și primeste un bonus de +5% de la un înger, bonusul final va fi de +25%.**
 +
 +**Modificatorii pot sa se si scada, dar nu vor trece de 0%. Spre exemplu, dacă un jucător are bonus +10% și primește -12%, bonusul sau va deveni 0%.**
 +
 +**Dacă un jucător avea INIȚIAL bonus de 0%, el nu va primi bonusuri de la îngeri. Dar dacă ajunge pe parcurs la 0%, el va primi în continuare.**
 ==Strategii== ==Strategii==
 După cum spuneam, fiecare tip de jucător și-a dezvoltat o strategie. După cum spuneam, fiecare tip de jucător și-a dezvoltat o strategie.
Line 97: Line 103:
 Ei au considerat că în anumite cazuri ar fi mai bine să scadă din HP, dar să dea mai mult damage, sau invers. Fiecare după cum s-a gândit că e mai bine.  Ei au considerat că în anumite cazuri ar fi mai bine să scadă din HP, dar să dea mai mult damage, sau invers. Fiecare după cum s-a gândit că e mai bine. 
  
-Astfel, fiecare clasă a venit cu următoarea logica de atac, **aplicată înainte de a face următoarea mișcare**.+Astfel, fiecare clasă a venit cu următoarea logica de atac, **aplicată înainte de a face următoarea mișcare**. ​(**Strategia nu se aplică dacă eroul este incapacitat**)
  
 **Knight** **Knight**
Line 114: Line 120:
   * dacă (1/4 * MAX_LEVEL_HP) < CURRENT_HP < (1/2 * MAX_LEVEL_HP),​ el va renunța la 1/10 din HP-ul curent și va crește coeficienții cu 60%   * dacă (1/4 * MAX_LEVEL_HP) < CURRENT_HP < (1/2 * MAX_LEVEL_HP),​ el va renunța la 1/10 din HP-ul curent și va crește coeficienții cu 60%
   * dacă CURRENT_HP < (1/4 * MAX_LEVEL_HP),​ el va renunța la 20% din coeficienți și va primi 1/5 din HP-ul curent   * dacă CURRENT_HP < (1/4 * MAX_LEVEL_HP),​ el va renunța la 20% din coeficienți și va primi 1/5 din HP-ul curent
 +
 +
 +**Asemănător îngerilor, se vor aplica bonusurile de rasă și aici, incremental. Spre exemplu, dacă are bonus +10% și primește +5%, va avea, în final, +15%.**
  
 ==Marele Magician== ==Marele Magician==
Line 132: Line 141:
   * Harta nu este circulară și nu veți întâmpina cazuri în care eroul să fie nevoit să iasă din hartă.   * Harta nu este circulară și nu veți întâmpina cazuri în care eroul să fie nevoit să iasă din hartă.
   * Nu vor există cazuri în care să se lupte mai mult de două personaje în același loc.   * Nu vor există cazuri în care să se lupte mai mult de două personaje în același loc.
 +  * Rotunjirile se vor aplica după fiecare amplificator.
 +  * Toate bonusurile se vor aduna până la finalul jocului. **NU SE RESETEAZĂ LA FINAL DE RUNDĂ**.
   * Incapacitatea înseamnă doar imposibilitatea de mișcare. Campionii aflați sub influența incapacității pot în continuare să își folosească abilitățile.   * Incapacitatea înseamnă doar imposibilitatea de mișcare. Campionii aflați sub influența incapacității pot în continuare să își folosească abilitățile.
   * La abilitățile cu efect prelungit (pe mai multe runde), dacă un personaj se află deja sub efectul unei abilități prelungite și suferă de la o nouă abilitate cu efect prelungit, noul efect îl va înlocui pe cel vechi; dacă, de exemplu, un erou mai are de suferit 5 runde de pe urma unui Paralysis și un Warrior îi aplică un Slam, atunci imobilizarea lui va dura doar o rundă și nu va mai primi damage pe rundele următoare. De asemenea, damage-ul unei abilitati overtime este calculat în functie de level-ul si terenul unde a avut loc batalia si nu se modifică dacă cel afectat se mută pe un alt tip de teren sau dacă adversarul face level up.   * La abilitățile cu efect prelungit (pe mai multe runde), dacă un personaj se află deja sub efectul unei abilități prelungite și suferă de la o nouă abilitate cu efect prelungit, noul efect îl va înlocui pe cel vechi; dacă, de exemplu, un erou mai are de suferit 5 runde de pe urma unui Paralysis și un Warrior îi aplică un Slam, atunci imobilizarea lui va dura doar o rundă și nu va mai primi damage pe rundele următoare. De asemenea, damage-ul unei abilitati overtime este calculat în functie de level-ul si terenul unde a avut loc batalia si nu se modifică dacă cel afectat se mută pe un alt tip de teren sau dacă adversarul face level up.
Line 154: Line 165:
   * **Observer** pentru notificarea Marelui Magician legata de schimbari   * **Observer** pentru notificarea Marelui Magician legata de schimbari
  
 +Despre aceste patternuri puteți să vă documentați de pe paginile laboratoarelor:​ [[laboratoare:​static-final|Singleton]],​ [[laboratoare:​visitor|Visitor]],​ și [[laboratoare:​design-patterns|Factory,​ Strategy și Observer]]
 ==Exemplu input/​output== ==Exemplu input/​output==
  
Line 176: Line 188:
 1 LevelUpAngel,​0,​0 1 LevelUpAngel,​0,​0
 </​code>​ </​code>​
 +
 +**Îngerii vor ajuta sau vor lovi jucătorii. O linie din output va fi de forma: **
 +
 +**<​angel_type>​ helped/hit <​player_type>​ <​player_ID>​**
  
 Output asteptat: Output asteptat:
Line 293: Line 309:
    * etapa a două se poate trimite fără să fi trimis prima etapă a proiectului,​ insă va fi nevoie să se implementeze și functionalitătile primei etape pentru a putea primi punctajul total pe teste; în acest caz **se va primi punctaj doar pe a doua etapă** ​    * etapa a două se poate trimite fără să fi trimis prima etapă a proiectului,​ insă va fi nevoie să se implementeze și functionalitătile primei etape pentru a putea primi punctajul total pe teste; în acest caz **se va primi punctaj doar pe a doua etapă** ​
   ​   ​
 +
 +==Git==
 +
 +Va sfatuim sa folositi git pentru versionarea codului. Puteti utiliza platforma pusa la dispozitie de facultate ([[https://​gitlab.cs.pub.ro/​|Gitlab]],​ utilizand conturile de cs.curs) sau alte solutii externe ([[https://​bitbucket.org/​|Bitbucket]],​ [[https://​github.com/​|Github]]). Pentru a primi bonusul pentru utilizarea git, fiecare commit ar trebui sa reprezinte un feature al temei (asta inseamna ca un singur commit nu este de ajuns, dar nici nu ar trebui sa existe commit-uri pentru fiecare clasa pe care o adaugati). De asemenea, la incarcarea temei, **trebuie sa adaugati folder .git** in arhiva.
 +
 +<note warning>
 +Atentie!
 +
 +Repository-urile,​ indiferent de platforma pe care o alegeti, **trebuie sa fie private** !!!
 +</​note>​
 +
 +
  
 ==Punctaj== ==Punctaj==
  
 +  * 80p trecerea testelor
 +  * 30p **coding style** (vezi [[teme:​etapa2#​checkstyle|checkstyle]])
 +  * 30p design și organizare
   * 10p README clar, concis   * 10p README clar, concis
-  * TOTAL: ​ +  ​* 5p BONUS pentru folosirea GIT 
 +  ​* TOTAL: ​155p
 == Checkstyle == == Checkstyle ==
 Mai jos aveți câteva exemple de concepte de avut în vedere pentru a trece testul de coding-style/​checkstyle Mai jos aveți câteva exemple de concepte de avut în vedere pentru a trece testul de coding-style/​checkstyle
teme/proiect/etapa2.1574803762.txt.gz · Last modified: 2019/11/26 23:29 by Laurentiu Stamate