User Tools

Site Tools


Problem constructing authldap
teme:tema1
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
Next revision Both sides next revision
teme:tema1 [2018/10/25 02:02]
Alexandru Rotaru [Resurse]
teme:tema1 [2018/11/01 13:01]
Andrei Ene [Bonus]
Line 3: Line 3:
  
 * Responsabili:​ [[4ndreiene@gmail.com|Andrei Ene]], [[veronicaa.radu@gmail.com|Veronica Radu]],​[[rotarualexandruandrei94@gmail.com|Alexandru Rotaru]] * Responsabili:​ [[4ndreiene@gmail.com|Andrei Ene]], [[veronicaa.radu@gmail.com|Veronica Radu]],​[[rotarualexandruandrei94@gmail.com|Alexandru Rotaru]]
-* Deadline: ​04.11.2018+* Deadline: ​06.11.2018
 * Data publicării:​ 21.10.2018 * Data publicării:​ 21.10.2018
-* Data ultimei modificări: ​23.10.2018 +* Data ultimei modificări: ​25.10.2018
-* Data tester-ului:​ TODO+
  
  
Line 71: Line 70:
 === Descrierea strategiilor === === Descrierea strategiilor ===
  
-Fiecare jucător va avea o strategie proprie de joc (atât ca șerif, cât și pentru rolul de comerciant). ​+Fiecare jucător va avea o strategie proprie de joc (ca șerif, cât și pentru rolul de comerciant). ​
  
 ==== Jucătorul de bază (Base Strategy) ==== ==== Jucătorul de bază (Base Strategy) ====
-În rolul de **comerciant**,​ el este jucătorul onest, corect, care //spune mereu adevărul//​. În funcție de cărțile pe care le are în mână, el va cauta tipul de cărți **cel mai frecvent**. Dacă vor exista mai multe tipuri de cărți cu aceeași frecvență,​ va selecta tipul de carte care i-ar aduce un profit mai mare. Dacă are doar cărți ilegale, el va aduce în sacul său o singura carte, încercând să își minimizeze fapta ilegala (va adăuga totuși cartea care îi aduce cel mai mare profit și va declara că în sac se află **mere**)+În rolul de **comerciant**,​ el este jucătorul onest, corect, care //spune mereu adevărul//​. În funcție de cărțile pe care le are în mână, el va cauta tipul de cărți **cel mai frecvent**. Dacă vor exista mai multe tipuri de cărți cu aceeași frecvență,​ va selecta tipul de carte care i-ar aduce un profit mai mare. In cazul in care sunt mai multe bunuri cu aceeasi frecventa si acelasi profit se alege primul bun din mana. Dacă are doar cărți ilegale, el va aduce în sacul său o singura carte, încercând să își minimizeze fapta ilegala (va adăuga totuși cartea care îi aduce cel mai mare profit și va declara că în sac se află **mere**)
 Ca **șerif**, el //va controla toți ceilalți jucători//,​ la fiecare rundă, nu va accepta bani de la ceilalți comercianți și deși va risca să rămână fără bani, el va încerca sa împiedice toate bunurile ilegale care ar putea fi aduse în Nottingham. Ca **șerif**, el //va controla toți ceilalți jucători//,​ la fiecare rundă, nu va accepta bani de la ceilalți comercianți și deși va risca să rămână fără bani, el va încerca sa împiedice toate bunurile ilegale care ar putea fi aduse în Nottingham.
 ====Jucatorul lacom (Greedy Strategy) ==== ====Jucatorul lacom (Greedy Strategy) ====
-Este un **jucător de bază** însă care atunci când este **șerif** este ușor de mituit, //​acceptând mită de fiecare data când se oferă//. Când este în rolul de **comerciant** el //nu oferă mită//, deși** în rundele pare**, după ce aplică **strategia de bază**, el adaugă în sacul său (dacă nu are deja 5 bunuri în sac) un **bun ilegal**, alegând bineînțeles cartea ilegală cu profitul cel mai mare. Dacă în runda respectivă el nu are nicio astfel de carte, el va juca doar strategia de bază. Prima rundă se consideră impară.+Este un **jucător de bază** însă care atunci când este **șerif** este ușor de mituit. El inspectează toțcomercianții,​ mai puțin pe cei care îi oferă ​mită 
 +Când este în rolul de **comerciant** el //nu oferă mită//, deși** în rundele pare**, după ce aplică **strategia de bază**, el adaugă în sacul său (dacă nu are deja 5 bunuri în sac) un **bun ilegal**, alegând bineînțeles cartea ilegală cu profitul cel mai mare. Dacă în runda respectivă el nu are nicio astfel de carte, el va juca doar strategia de bază. Prima rundă se consideră impară.
 ==== Jucătorul care mituiește (Bribe Strategy) ==== ==== Jucătorul care mituiește (Bribe Strategy) ====
 Jucătorul care mituiește este cel care încearcă să îi păcălească pe ceilalți, dar care la un moment dat riscă să se păcălească pe sine. În rolul de **comerciant**,​ el //va da mită// cât timp venitul îi va permite și va încerca mereu sa pună cat mai multe cărți ilegale (maxim 5, cele ce profitul cel mai mare), după următoarele reguli: Jucătorul care mituiește este cel care încearcă să îi păcălească pe ceilalți, dar care la un moment dat riscă să se păcălească pe sine. În rolul de **comerciant**,​ el //va da mită// cât timp venitul îi va permite și va încerca mereu sa pună cat mai multe cărți ilegale (maxim 5, cele ce profitul cel mai mare), după următoarele reguli:
Line 113: Line 113:
     BRIBED: 91     BRIBED: 91
     GREEDY: 90     GREEDY: 90
 +
 +**Clasamentul se va afisa pe consola.**
  
 ==== Calcul scor final ==== ==== Calcul scor final ====
Line 135: Line 137:
     [Barrel, Silk, Barrel, Pepper, Bread, Bread, Silk, Apple, Cheese, Cheese, Cheese, Chicken, Bread, Apple, Bread, Pepper, Bread, Silk, Chicken, Apple, Bread, Cheese, Apple, Pepper, Chicken, Silk, Apple, Apple, Barrel, Cheese, Apple, Bread, Cheese, Barrel, Apple, Cheese, Pepper, Apple, Barrel, Bread, Pepper, Bread, Cheese, Bread, Cheese, …. ]     [Barrel, Silk, Barrel, Pepper, Bread, Bread, Silk, Apple, Cheese, Cheese, Cheese, Chicken, Bread, Apple, Bread, Pepper, Bread, Silk, Chicken, Apple, Bread, Cheese, Apple, Pepper, Chicken, Silk, Apple, Apple, Barrel, Cheese, Apple, Bread, Cheese, Barrel, Apple, Cheese, Pepper, Apple, Barrel, Bread, Pepper, Bread, Cheese, Bread, Cheese, …. ]
  
-Un exemplu de desfășurare a rundelor: {{:teme:exemplu_sheriff_of_nottingham.pdf|}}+Un exemplu de desfășurare a rundelor: {{:teme:exemplu_sheriff_of_nottingham1.pdf|exemplu_sheriff_of_nottingham}}
  
 == Tutorial colecții == == Tutorial colecții ==
Line 213: Line 215:
 ["​bribed",​ "​basic",​ "​wizard",​ "​greedy"​] ["​bribed",​ "​basic",​ "​wizard",​ "​greedy"​]
 </​code>​ </​code>​
 +
 +====Corectarea bonusului====
 +Testele de input de la bonus for fi doar cu 2 jucatori: unul de la bonus ("​wizard"​) si altul la alegere din cei 3 ("​x"​)*. Si pentru acelasi pachet de carti avem doua teste: primul cu ordinea:​["​wizard",​ "​x"​] si al doilea cu ordinea: ["​x",​ "​wizard"​]. ​
 +Vom calcula pentru primul test: test1Rez = scorWizard - scorX si pentru al doilea test la fel: test2Rez = scorWizard - scorX.
 +Acordam bonusul daca: test1Rez + test2Rez > 0. Ceea ce inseamna ca pentru acelasi set de carti "​wizard"​ s-a descurcat mai bine fata de jucatorul "​x"​.
 +
 +
 +* "​x"​ va fi unul dintre: "​basic",​ "​greedy",​ "​bribed"​
  
 Va puteti folosit de strategia Royal: Va puteti folosit de strategia Royal:
Line 235: Line 245:
  
 În rolul de **șerif**, un astfel de jucător consideră că sunt suspecți sacii care conțin cel puțin **patru** bunuri și de aceea îi va verifica mereu. În rolul de **șerif**, un astfel de jucător consideră că sunt suspecți sacii care conțin cel puțin **patru** bunuri și de aceea îi va verifica mereu.
- 
 ==Punctaj== ==Punctaj==
  
Line 277: Line 286:
  
 == Resurse == == Resurse ==
-{{{{:​teme:​archive2.zip|Arhiva}} conține ​un set teste și un schelet de cod care face parsarea din fișierul de intrare.+Pe git gasiti ​un set de teste și un schelet de cod care face parsarea din fișierul de intrare
 +[[https://​github.com/​oop-pub/​teme/​tree/​master/​tema1/​]] 
 + 
 +== Actualizari == 
 +* 26.10.2018 actualizarea testelor datarita faptului ca anumite referinte nu aveau aceasi versiune ca testele oferite.
  
 == Referințe == == Referințe ==