PREZENTAREA PROIECTELOR:

 https://www.edusoft.ro/introp/index.php/2019/01/07/prezentarea-proiectelor/

Pentru a obține nota 5 la proiect, fiecare student trebuie să aibă cel puțin două prezențe în care să prezinte profesorului de la laborator evoluția proiectului. 

De asemenea, pentru a obține nota 5 proiectul trebuie să fie funcțional în sensul că jocul poate fi jucat între doi jucători (de unul singur acolo unde este cazul). 

Jocurile care au și interfață grafică pot obține nota 6. 

Pentru a obține nota 7, programul trebuie să permită și jocul împotriva calculatorului, calculatorul jucând aleatoriu, dar corect.

Dacă este implementată o strategie de joc pentru calculator (nu neapărat o strategie câștigătoare sau inteligență artificială), se poate obține nota 8.

Obținerea notei 9 este posibilă dacă jocul are și alte elemente, cum ar fi:

  • cronometru sau temporizator pentru mutări/joc;
  • sunete sau melodie de fundal (pentru sunete sau melodii, puteți folosi orice bibliotecă doriți);
  • istoricul mutărilor;
  • posibilitatea de a reface ultima mutare;
  • meniu cu comenzi;
  • sistem de ajutor (în limba română, eventual în engleză, rusă, arabă, franceză, spaniolă, italiană);
  • posibilitatea de a personaliza piesele, dimensiunea tablei, inclusiv opțiune pentru persoane cu dizabilități de vedere;
  • elemente de noutate, care nu se regăsesc în aceleași proiecte de la alte echipe;

Pentru a obține nota 10, trebuie ca:

  • proiectul vostru să fie printre primele 4-5 ca valoare dintre toate de același tip;
  • să fie scris folosind cod curat;
  • proiectul să fi fost realizat printr-o colaborare foarte bună a membrilor echipei.

1. Resurse generale pentru realizarea proiectelor

În dreptul fiecărui proiect vor apărea din când în când, link-uri către resurse utile. Totuşi, iată câteva resurse generale:

2. Lista de proiecte pentru anul universitar 2018-2019

Mai jos sunt date proiectele ce pot fi alese de catre studentii din anul I. Pentru fiecare proiect sunt precizate cateva elemente simple, descrierea completa a proiectului facandu-se verbal, de catre titularul de curs, catre fiecare echipa in parte. De asemenea, colaboratorii pot veni cu cerinte suplimentare privind complexitatea proiectului si modul de implementare.

Studentii reinmatriculati poti sa ia un asemenea proiect, la alegere, si sa-l realizeze individual.

1 = (2 persoane): Bridg-It

Proiectul consta in implementarea unui joc de strategie „Bridg-It”, asa cum este descris acesta in cartea Martin Gardner – Entertaining Mathematical Puzzles, incepand cu pagina 71:

2 = (2 persoane): Împărţirea careului

Implementati un joc pentru a rezolva probleme de genul celor de la pagina 121 din cartea Nicolae Oprisiu – Mai in gluma, mai in serios

3 = (2 persoane): Cinci cifre

Proiectul consta in implementarea unui joc de strategie „Cinci cifre”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„. Detalii si strategie: https://en.wikipedia.org/wiki/Mastermind_(board_game)

4 = (2 persoane): Joc oriental

Implementati un joc de strategie intre doi jucatori ca cel descris in cartea  la pagina 44 jos si continuand pe paginile urmatoare („Iată incă un joc de tip cu creionul pe hartie, prezentat de Sam Loyd intr-o problemă a sa ca fiind un joc oriental, foarte vechi”).

Jocul se mai numeste si Dots and Boxes: http://dotsandboxes.org

Iată ce a făcut până acum echipa din grupa A3: https://www.youtube.com/watch?v=Z80G_TZnvIc&fbclid=IwAR3ts8IrD_OYB0UnUxMrbGKmR1iXqmV7jGhv27msx0Pd91E3Ws2QVJna3Zs

5 = (2 persoane): Bonol

Implementati un joc de strategie intre doi jucatori, ca cel descris in cartea  la pagina 46 jos si continuand pe paginile urmatoare.

Jocul se mai numeste si L-game, vedeti aici: https://en.wikipedia.org/wiki/L_game

Vedeţi aici câteva indicaţii:

http://www.chokleong.com/2015/08/03/edward-de-bono-l-game/

https://play.google.com/store/apps/details?id=org.cocos2dx.lgame&hl=en_US

6 = (2 persoane): CuGo

Implementati un joc de strategie intre doi jucatori, ca cel descris in cartea  la pagina 59 jos si continuand pe paginile urmatoare.

7 = (2 persoane): Jocul evitării pătratelor

Implementati un joc de strategie intre doi jucatori, ca cel descris in cartea  la pagina 68 si continuand pe paginile urmatoare.

Vedeti aici descrierea jocului (jocul nr. 1 din carte): http://www.boardgames-blog.ro/fisiere/FLEX-Regulament_scanat_low.pdf

Atenţie! Pătratele sunt definite doar prin colţurile lor. Puteţi lua în considerare şi pătrate a căror colţuri formează laturi ce nu sunt neapărat paralele cu marginile ecranului.

Un exemplu de joc realizat până acum, în primă fază (cu strategie): https://www.edusoft.ro/fisiere/patrate_ramona_diana.mp4

8 = (2 persoane): Impas

Implementati un joc de strategie intre doi jucatori, ca cel descris in cartea  la pagina 71 si continuand pe paginile urmatoare.

Puteti juca online la https://ro.goobix.com/jocuri-online/fotbal-impas/

9 = (2 persoane): Solitarul

Implementati un joc de strategie intre doi jucatori, ca cel descris in cartea  la pagina 133 si continuand pe paginile urmatoare.

Urmatoarea lucrare de masterat se refera la jocul Solitarul si altele similare:

https://diglib.tugraz.at/download.php?id=5b6d297eea357&location=browse&fbclid=IwAR3FSuFUkcCTI5TKCvuhkxXWyfAScfW0Xt5lOExBmfBkhXUUGQ-dnihPNM0

Alta carte ce trateaza acest joc (vezi pagina 61):
10 = (2 persoane): Vapoare

Proiectul consta in implementarea unui joc de strategie „Vapoare”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„, incepand cu pagina 172. Atenţie! Acest joc poate fi dezvoltat doar ca aplicaţie între om şi calculator, deoarece în cazul unui joc între doi jucători, cei doi jucători şi-ar putea vedea reciproc vapoarele ascunse, de pe propria tablă de joc. Se permite dezvoltarea jocului în reţea, dacă vă pricepeţi la acest lucru.

11 = (2 persoane): Din colţ în colţ

Proiectul consta in implementarea unui joc de strategie „Din colt in colt”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„, incepand cu pagina 107.

Este similar jocului Damehttps://ro.wikipedia.org/wiki/Dame

Iata ce a facut cineva din grupa A2, pana la primul laborator (L9): https://www.youtube.com/watch?v=9Ctj3Yf0en0&feature=youtu.be&fbclid=IwAR22s-_4k8whokRADKTFw33juVjOkv_kUBxZCuIWC2et5aWLLfaGu4SHZ_w

Si cineva din grupa E2: https://www.youtube.com/watch?v=YUJ7tY5T8Tg&feature=youtu.be&fbclid=IwAR2Lqck39KLx8siMmbyCHbYl3xIuHO0M8nf3KuAF67G4dkblllc4hydoKqo

12 = (2 persoane): Război in 8

Proiectul consta in implementarea unui joc de strategie „Razboi in 8”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„, incepand cu pagina 246.

13 = (2 persoane): Segmente

Proiectul consta in implementarea unui joc de strategie „Segmente”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„.

Atenţie! Pentru a face un algoritm eficient care să testeze intersecţia a două segmente oarecare, citiţi următoarele pagini din capitolul de geometrie computaţională din lucrarea „Introducere în Algoritmi” de Thomas H. Cormen, Charles E. Leiserson și Ronald R. Rivest: https://www.edusoft.ro/fisiere/

14 = (2 persoane): Cinci în linie

Proiectul consta in implementarea unui joc de strategie „Cinci in linie”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„. Puteti vedea jocul aici: http://www.info98.ro/nanu/jocuri/riti-piti.php

15 = (2-3 persoane): Câinii şi vulpea

Proiectul consta in implementarea unui joc de strategie „Cainii si vulpea”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„, incepand cu pagina 70. Un exemplu de asemenea joc si prezentarea sa video gasiti aici: http://www.edusoft.ro/introp/video/Stefanel%20Turcu%20CAVU%20-%20IA2.mp4

Un exemplu de început făcut de cei din grupa E1: https://www.youtube.com/watch?v=r49TUD5295Q&fbclid=IwAR2K3ZSQequNUoj4mzoXLG-wURza3EKG9fyp48NVhS9K_Mce4K6natN6YfA

16 = (2 persoane): Raliu auto

Proiectul consta in implementarea unui joc de strategie „Raliu auto”, asa cum este descris acesta in cartea „Olimpiada jocurilor rationale„, incepand cu pagina 331.

Exemple de programe (in diferite stadii) pentru acest joc:

17 = (3 persoane): Moara cu noroc

Implementati un joc de strategie ca cel descris incepand cu pagina 217 in cartea Nicolae Oprisiu – Mai in gluma, mai in serios

Fiecare student din anul I poate consulta in tabelul de la adresa

……(o ştiţi voi)……………………………….

ce proiect a primit si in ce echipa este.

Doi (trei) studenti lucrează împreună dacă au alocată aceeaşi echipă de proiect în coloana L şi sunt din aceeaşi grupă.

3. Chestiuni generale despre realizarea proiectelor

  • Pentru a putea promova examenul, pe durata lucrului la proiect (săptămânile 9-12), fiecare student trebuie să fie prezent la cel puțin două laboratoare, în care să prezinte evoluția proiectului si sa raspunda la intrebarile din codul functiilor proprii, puse de profesorul de la laborator.
  • Echipele vor fi generate aleatoriu, de catre un program pe calculator. Temele vor fi alocate aleatoriu echipelor. Studentii vor fi in aceeasi echipa doar daca sunt din aceeasi grupa (oficiala, conform datelor de la secretariatul facultatii).
  • Acest mod de repartizare a echipelor si are urmatoarele scopuri:
    • studentii vor fi obisnuiti cu felul in care vor lucra in companiile IT; acolo nu iti alegi colegii, te angajezi la firma si ai colegii angajati anterior sau dupa venirea ta;
    • studentii vor fi obisnuiti cu felul in care primesc proiectele de la clientii firmei; doar cei care activeaza ca liber-profesionisti (free-lancers) pot alege ce proiecte vor dezvolta, restul trebuie sa dezvolte proiectele cerute de clienti sau propuse de echipa de management a companiei;
    • studentii vor avea sanse egale in a dezvolta proiectele, neputandu-se pregati anterior laboratorului 9 cu un proiect pe care l-au lucrat in liceu, l-au descarcat de pe Internet sau cu unul preluat de la altcineva (de exemplu, de la un student din anii mai mari);
    • se va incuraja crearea de noi legaturi de colaborare intre studenti.
  • Pentru fiecare dintre proiecte, fiecare membru al echipei poate primi oricare notă între 1 (minim) și 10 (maxim), în funcție de prezentarea proiectului, de efortul depus și demonstrat în realizarea sa, de originalitate și complexitate, de algoritmii implementați, de răspunsurile la întrebări etc. Detalii despre notare sunt in fisierul cu tabelul cu note de pe Google Drive.
  • La fiecare dintre proiecte este precizat numărul de studenți din echipele care vor primi acel proiect. Numarul de membri din echipe (precum si dificultatea temelor alese) sunt stabilite in vederea finalizarii proiectelor la timp (pana in saptamana 14), într-un regim de lucru normal.
  • Studentii pot propune proiecte cadrelor didactice, iar acestea vor fi supuse aprobarii de catre titularul de curs, impreuna cu profesorii colaboratori. Faptul de a propune un proiect nu inseamna ca echipa sau studentul respectiv va primi si acel proiect pentru a fi dezvoltat.
  • Proiectele pot fi realizate doar in Code::Blocks, DevC++, Visual C++, folosind limbajul C, cu elementele de baza de C++ (fara elemente de Programare orientata-obiect), fara biblioteci speciale (de exemplu, nu este voie sa se utilizeze STL – Standard Template Library). Se poate folosi C Standard Library, precum si urmatoarele: <windows.h>, <iomanip.h>, <iostream.h>, <conio.h>, <graphics.h> etc.
  • Pentru grafica, puteti folosi doar biblioteca grafica WinBGIm, de aici: https://www.edusoft.ro/introp/index.php/2017/11/18/biblioteca-grafica-pentru-proiecte/
  • Daca nu sunteti sigur daca aveti voie sa folositi o anumita biblioteca, puteti contacta titularul de curs prin e-mail.
  • Studentii care repeta disciplina, din anul universitar 2017-2018:
    • daca anul trecut erau in anul I si nu au facut niciun proiect, vor lucra impreuna cu studenti din acest an.
    • daca anul trecut nu erau in anul I (ci restantieri din anii anteriori), ei pot alege sa faca un proiect din cele de anul trecut. Notele vor fi intre 1 si 10, indiferent de punctajul alocat anul trecut acestor proiecte (1-15). Lisra de proiecte din anul anterior este aici: Propuneriproiecte20162017.pdf
    • In caz de neclaritati, va rog sa ma contactati personal.
  • Cursantii, studentii reinmatriculati etc vor prezenta un proiect realizat individual (sau cu un coleg), la alegere din cele din lista de mai jos (anul universitar 2017-2018) sau din lista de proiecte din anul universitar precedent: Propuneriproiecte20162017.pdf