Unelte utilizator

Unelte site


17:teme:prolog-metro
Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

Both sides previous revision Versiuni anterioare
Urmatoarea versiune
Versiuni anterioare
17:teme:prolog-metro [2017/05/12 10:36]
Andrei Olaru [Prolog: Metro Board Game]
17:teme:prolog-metro [2017/05/20 22:00] (curent)
Andrei Olaru [Changelog]
Linia 2: Linia 2:
  
 * Responsabil:​ [[cs@andreiolaru.ro|Andrei Olaru]] * Responsabil:​ [[cs@andreiolaru.ro|Andrei Olaru]]
-* Deadline soft: **19.05.2017**, apoi depunctare 0.5p/ zi +* Deadline soft: **22.05.2017**, apoi depunctare 0.5p/ zi 
 * Deadline hard: __24.05.2017 ora 23.59__ * Deadline hard: __24.05.2017 ora 23.59__
 * Data publicării:​ 06.05.2017 * Data publicării:​ 06.05.2017
 * Data ultimei modificări:​ 06.05.2017 * Data ultimei modificări:​ 06.05.2017
-* Tema se va încărca pe vmchecker ​(în curând) +* Tema se va încărca pe [[http://​vmchecker.cs.pub.ro|vmchecker]] 
-* Data tester-ului: ​12.05.2017+* Data tester-ului: ​15.05.2017
 * [[http://​cs.curs.pub.ro/​2016/​mod/​forum/​view.php?​id=5772|Forum temă]] * [[http://​cs.curs.pub.ro/​2016/​mod/​forum/​view.php?​id=5772|Forum temă]]
 +* [[#​changelog]]
  
  
Linia 146: Linia 147:
   * ''​pick_move''​ -- va alege o mutare dintre mutările disponibile care implică o carte dată. **Pentru bonus** predicatul va alege mutarea conform cu o euristică, în ideea obținerii unui scor cât mai mare (trasee cât mai lungi).   * ''​pick_move''​ -- va alege o mutare dintre mutările disponibile care implică o carte dată. **Pentru bonus** predicatul va alege mutarea conform cu o euristică, în ideea obținerii unui scor cât mai mare (trasee cât mai lungi).
   * ''​play_game''​ -- desfășoară un joc complet, pornind de la starea inițială a jocului. Pentru a obține o carte care să fie plasată, se va folosi obligatoriu predicatul ''​next_tile(+Time,​ -TID)'',​ în apelul căruia primul argument va fi legat la numărul de mutări realizate până la momentul curent (pentru obținerea primei cărți va fi 0, pentru obținerea celei de-a doua va fi 1, etc).   * ''​play_game''​ -- desfășoară un joc complet, pornind de la starea inițială a jocului. Pentru a obține o carte care să fie plasată, se va folosi obligatoriu predicatul ''​next_tile(+Time,​ -TID)'',​ în apelul căruia primul argument va fi legat la numărul de mutări realizate până la momentul curent (pentru obținerea primei cărți va fi 0, pentru obținerea celei de-a doua va fi 1, etc).
 +    * ''​next_tile''​ poate fi apelat doar pentru momentul de timp la care s-a ajuns; de exemplu, inițial se va putea apela ''​next_tile(0,​ T0)'',​ apoi pentru următoarea carte din teancul de cărți se va apela ''​next_tile(1,​ T1)'',​ etc;
 +      * pentru ajutor la testare, folosiți predicatele ''​tt_reset_stack/​0''​ pentru a reseta teancul de cărți și ''​tt_set_tile_range/​1''​ pentru a da lista de identificatori de cărți din care ''​next_tile''​ va întoarce cărți;
 +    * ''​play_game''​ trebuie să reușească întotdeauna;​ dacă nu se mai poate realiza nicio mișcare, ''​play_game''​ se va întoarce, obținând starea jocului la care s-a ajuns.
  
  
Linia 160: Linia 164:
   * **Atenție!** Lucrați doar în fișierul ''​T3.pl''​   * **Atenție!** Lucrați doar în fișierul ''​T3.pl''​
   * Imediat după descărcarea arhivei, editați fișierul și scrieți-vă pe prima linie numele, prenumele și grupa.   * Imediat după descărcarea arhivei, editați fișierul și scrieți-vă pe prima linie numele, prenumele și grupa.
 +
 +
 +  * În versiunea trimisă de fișier, nu lăsați variabile de tip singleton (Prolog vă dă warning pentru ele).
 +  * Pentru debugging, puteți include trace / notrace și în fișierul de testare, pentru a vă fi mai ușor să porniți trace-ul exact acolo unde este util. Însă când trimiteți nu uitați că
 +    * la testare se va folosi fișierul de testare original;
 +    * trebuie să eliminați orice element de debugging (trace, debug) din fișierul sursă.
 +
 +
   * {{:​17:​teme:​metro-start.zip|Arhiva de pornire}}   * {{:​17:​teme:​metro-start.zip|Arhiva de pornire}}
  
Linia 172: Linia 184:
   * 6.05 -- Publicare temă.   * 6.05 -- Publicare temă.
   * 9.05 (noaptea) -- Adăugare tester pentru primele 80 de puncte   * 9.05 (noaptea) -- Adăugare tester pentru primele 80 de puncte
 +  * 12.05 11:00 -- Actualizare tester, pentru primele 100 de puncte
 +    * corecția numărului corect de mutări disponibile în testele 41/1 și 41/2.
 +    * adăugarea de câteva [[#​precizări]].
 +    * adăugarea observațiilor legate de predicatul [[#​desfasurarea-jocului1|''​play_game''​]].
 +  * 15.05 -- Actualizare tester, configurare vmchecker.
 +  * 20.05 -- Testele de bonus și în arhiva de pe wiki, cu scuze.
17/teme/prolog-metro.1494574613.txt.gz · Ultima modificare: 2017/05/12 10:36 de către Andrei Olaru