This shows you the differences between two versions of the page.
poo-ca-cd:teme:tema [2022/11/13 13:40] florian_luis.micu [Scheletul de cod] |
poo-ca-cd:teme:tema [2023/11/01 14:24] (current) florian_luis.micu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | + | <hidden> | |
- | ====== Tema - GwentStone ====== | + | ====== PLACEHOLDER - Audio Player ====== |
{{:poo-ca-cd:teme:banner_poo-01.png?nolink&800|}} | {{:poo-ca-cd:teme:banner_poo-01.png?nolink&800|}} | ||
* Responsabili: [[miculuis1@gmail.com | Florian-Luis Micu]], [[rebeccastate40@gmail.com | Andreea-Rebecca State]], [[andreiotetea23@gmail.com | Andrei Oțetea]] | * Responsabili: [[miculuis1@gmail.com | Florian-Luis Micu]], [[rebeccastate40@gmail.com | Andreea-Rebecca State]], [[andreiotetea23@gmail.com | Andrei Oțetea]] | ||
- | * Deadline hard: 21 noiembrie, ora 23:59 | + | * Deadline hard: 24 noiembrie, ora 23:59 |
* Data publicării: 7 noiembrie, ora 23:15 | * Data publicării: 7 noiembrie, ora 23:15 | ||
- | * Ultima modificare a cerinței: 12 noiembrie (precizare privind tragerea cărților din pachet în cazul în care pachetul e gol, precizare atribute cărți environment și erou) | + | * Ultima modificare a cerinței: 18 noiembrie (clarificare rând și coloană pentru input) |
- | * Ultima modificare a scheletului: 9 noiembrie (fix testare specifică a unui test) | + | * Ultima modificare a scheletului: 13 noiembrie (adăugare a coordonatelor "x" si "y" pentru "getCardAtPosition") |
===== Obiective ===== | ===== Obiective ===== | ||
Line 45: | Line 45: | ||
<br> | <br> | ||
</html> | </html> | ||
+ | |||
+ | <note important>În teste anumite acțiuni necesită coordonate ale cărților de pe tablă. Acest coordonatele vă sunt date folosind parametrii "x" (rând) și "y" (coloană).</note> | ||
===== Formatul cărților de joc ===== | ===== Formatul cărților de joc ===== | ||
Line 88: | Line 90: | ||
* Cărțile cu aceste abilități pot să atace sau să își folosească abilitatea, dar nu pot să le facă pe ambele în cadrul aceluiași "turn" al jucătorului. | * Cărțile cu aceste abilități pot să atace sau să își folosească abilitatea, dar nu pot să le facă pe ambele în cadrul aceluiași "turn" al jucătorului. | ||
* **Weak Knees**, **Skyjack** și **Shapeshift** trebuie să fie aplicate doar pe o carte a adversarului. | * **Weak Knees**, **Skyjack** și **Shapeshift** trebuie să fie aplicate doar pe o carte a adversarului. | ||
+ | * **Weak Knees** aplicat pe o carte cu atacul < 2 scade până la 0 atacul(adică atacul nu poate fi negativ) | ||
* **God's Plan** se va folosi doar pe o carte a jucătorului curent. | * **God's Plan** se va folosi doar pe o carte a jucătorului curent. | ||
* **Shapeshift** aplicat pe o carte care are atacul 0 va face ca viața minionului pe care este aplicată abilitatea să devină 0, astfel cartea va fi **omorâtă**. | * **Shapeshift** aplicat pe o carte care are atacul 0 va face ca viața minionului pe care este aplicată abilitatea să devină 0, astfel cartea va fi **omorâtă**. | ||
Line 1023: | Line 1026: | ||
"x": 3, | "x": 3, | ||
"y": 0, | "y": 0, | ||
- | "output": "No card at that position." | + | "output": "No card available at that position." |
} | } | ||
</code> | </code> | ||
</spoiler> | </spoiler> | ||
- | <note important>Dacă nu există o carte la poziția dată, veți printa "No card at that position.".</note> | + | <note important>Dacă nu există o carte la poziția dată, veți printa "No card available at that position.".</note> |
Line 1194: | Line 1197: | ||
Pentru a întelege mai bine cum funcționează citirea/scrie în fișierele JSON vă recomandăm să citiți [[https://ocw.cs.pub.ro/courses/poo-ca-cd/laboratoare/tutorial-json-jackson | Json & Jackson]]. | Pentru a întelege mai bine cum funcționează citirea/scrie în fișierele JSON vă recomandăm să citiți [[https://ocw.cs.pub.ro/courses/poo-ca-cd/laboratoare/tutorial-json-jackson | Json & Jackson]]. | ||
- | <note important>Output-ul nu trebuie formatat ca în ref-uri, fiindcă se verifică conținutul obiectelor și array-urilor JSON, nu textul efectiv. Cu toate acestea, dacă folosiți Jackson, vă recomandăm să utilizați **PrettyPrinter** [[https://fasterxml.github.io/jackson-databind/javadoc/2.7/com/fasterxml/jackson/databind/ObjectMapper.html#writerWithDefaultPrettyPrinter() | Documentație PrettyPrinter]].</note> | + | <note important>Output-ul nu trebuie formatat ca în ref-uri, fiindcă se verifică conținutul obiectelor și array-urilor JSON, nu textul efectiv. Cu toate acestea, dacă folosiți Jackson, vă recomandăm să utilizați **PrettyPrinter** [[https://fasterxml.github.io/jackson-databind/javadoc/2.7/com/fasterxml/jackson/databind/ObjectMapper.html#writerWithDefaultPrettyPrinter() | Documentație PrettyPrinter]]. Totodată, pentru a înțelege cum se poate realiza **scrierea în fișierele JSON de output**, vă sugerăm să consultați [[https://attacomsian.com/blog/jackson-create-json-array|JSON Array]].</note> |
<note tip>Aveți în folder-ul **"lib"** toate dependințele necesare pentru rularea temei, mai exact bibliotecile Jackson.</note> | <note tip>Aveți în folder-ul **"lib"** toate dependințele necesare pentru rularea temei, mai exact bibliotecile Jackson.</note> | ||
Line 1216: | Line 1219: | ||
* Pentru depanarea diferențelor dintre output-ul vostru si fișierele ref, vă recomandăm [[https://www.jsondiff.com/|acest site]]. | * Pentru depanarea diferențelor dintre output-ul vostru si fișierele ref, vă recomandăm [[https://www.jsondiff.com/|acest site]]. | ||
* Verificați periodic această pagină, deoarece scheletul/cerința pot suferi modificări în urma unor erori din partea noastră. | * Verificați periodic această pagină, deoarece scheletul/cerința pot suferi modificări în urma unor erori din partea noastră. | ||
- | * Pentru a înțelege cum se poate realiza **scrierea în fișierele JSON de output**, vă sugerăm să consultați [[https://attacomsian.com/blog/jackson-create-json-array|JSON Array]]. | ||
===== Evaluare ===== | ===== Evaluare ===== | ||
Line 1225: | Line 1227: | ||
* 5p README clar, concis, explicații axate pe design (flow, interacțiuni) | * 5p README clar, concis, explicații axate pe design (flow, interacțiuni) | ||
* 5p folosire git pentru versionarea temei | * 5p folosire git pentru versionarea temei | ||
+ | |||
+ | <note tip>Pentru folosirea tool-ului **Git** vă punem la dispoziție un tutorial actualizat și amplu despre el la acest [[poo-ca-cd:resurse-utile:tutorial-git|link]] și aveți de asemenea și un tutorial despre comenzile pe care puteți să le dați din IntelliJ la acest [[poo-ca-cd:resurse-utile:tutorial-intellij-git|link]].</note> | ||
<note important>Pe pagina [[poo-ca-cd:administrativ:barem_teme|Indicații pentru teme]] găsiți indicații despre scrierea readme-ului și | <note important>Pe pagina [[poo-ca-cd:administrativ:barem_teme|Indicații pentru teme]] găsiți indicații despre scrierea readme-ului și | ||
Line 1237: | Line 1241: | ||
<note warning> | <note warning> | ||
- | Temele vor fi testate împotriva plagiatului. Orice tentativă de copiere va duce la **anularea punctajului** de pe parcursul semestrului şi **repetarea materiei** atât pentru sursă(e) cât şi pentru destinație(ii), fără excepție. | + | * Temele vor fi testate împotriva plagiatului. Orice tentativă de copiere va duce la **anularea punctajului** de pe parcursul semestrului şi **repetarea materiei** atât pentru sursă(e) cât şi pentru destinație(ii), fără excepție. |
+ | * **Aveți grijă să nu puneți pe Vmchecker fișiere .idea sau .iml**. | ||
</note> | </note> | ||
Line 1287: | Line 1292: | ||
* [[poo-ca-cd:administrativ:coding_style_ide|Recomandări coding style & javadoc]] | * [[poo-ca-cd:administrativ:coding_style_ide|Recomandări coding style & javadoc]] | ||
+ | </hidden> | ||