Obțineți puncte din proiecte pentru o tabără gratuită
1. Puncte din proiecte
Elevii care vor obține cele mai multe puncte în cadrul cercului de informatică „Programare cu răbdare” vor beneficia la vară de o tabără gratuită.
Punctele se pot obține prin prezență normală (1p), prin participarea la activități deosebite (0,5p), prin participarea la concursuri (3p), prin premii obținute la concursuri (1p-3p), precum și prin realizarea de proiecte în echipe (3-5 membri).
Proiectele realizate se punctează cu 5 puncte – 10 puncte. Toate proiectele reprezintă implementarea în C/C++, folosind Code::Blocks, biblioteca grafică WinBGIm etc. a unui joc din următoarea listă. Proiectele se vor realiza de către elevi la cerc sau acasă, dar trebuie să fie prezentate la cerc, de cel puțin 4 ori.
Pentru a obține 5 puncte, jocul trebuie să fie funcțional în sensul că poate fi jucat între doi jucători (de unul singur acolo unde este cazul).
Jocurile care au și interfață grafică pot obține 6 puncte.
Pentru a obține 7 puncte, 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 pot obține 8 puncte.
Se pot obține 9 puncte 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 10 puncte, trebuie ca:
- să fie scris folosind cod curat;
- proiectul să fi fost realizat printr-o colaborare foarte bună a membrilor echipei.
2. 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:
- Un mic programel care ilustreaza utilizarea mouse-ului si graficii: click aici! Acesta nu are o matrice asociata tablei jocului.
- Un mic programel care ilustreaza utilizarea mouse-ului si graficii: click aici! Acesta are o matrice asociata tablei jocului.
- Un exemplu de meniu pt. jocul Cinci cifre (poate fi făcut ceva similar şi la alte jocuri): https://www.youtube.com/watch?v=mtW79a0sXXE&feature=share&fbclid=IwAR11IrlFoCewoiXytJhpDdufAFiNrn8g3eP95ppIlWSFQbQkDy7LxOV073U
- Puteţi folosi şi grafica în mod text, aşa cum a făcut un student de-al meu, realizând interfaţa pentru un joc de şah: https://www.edusoft.ro/fisiere/joc_sah_dragos.mp4
- Pentru cei care doresc să dezvolte jocul în reţea între două calculatoare (pe unul rulând programul server, iar pe celălalt programul client)
- puteţi folosi acest exemplu realizat de un student de-al meu (Radu Tudorică). Exemplul a fost testat pe Linux. Pentru ca exemplul să compileze trebuie adăugat la CodeBlocks, la Settings->Compiler->Linker settings->Other linker settings, următoarele:
-lws2_32 -lmswsock -ladvapi32
- Pentru a putea rula codul corect, trebuie compilat şi rulat test_server.cpp mai întâi pentru a deschide server-ul, iar apoi test_client.cpp pentru a conecta client-ul la server, functiile din functii_socket.cpp pot fi incluse in alte proiecte doar prin a da #include „functii_socket.cpp”.
- puteţi folosi acest exemplu realizat de un student de-al meu (Radu Tudorică). Exemplul a fost testat pe Linux. Pentru ca exemplul să compileze trebuie adăugat la CodeBlocks, la Settings->Compiler->Linker settings->Other linker settings, următoarele:
- Descrierea functiilor grafice din C: https://www.programmingsimplified.com/c/graphics.h
- Pentru a desena linii de o anumita culoare: setcolor si line
- Pentru a desena un cerc de o anumita culoare: setcolor si circle
- Pentru a desena un disc de o anumita culoare (cerc sau elipsa plina): setcolor, setfillstyle, fillellypse
- Pentru linii mai groase / subtiri: setlinestyle
- Pentru un dreptunghi umplut: setfillstyle si bar
- Pentru a afisa texte: settextstyle, setcolor si outtextxy
- Culorile: BLACK=0, BLUE=1, GREEN=2, CYAN=3, RED=4, MAGENTA=5, BROWN=6, LIGHTGRAY=7, DARKGRAY=8, LIGHTBLUE=9, LIGHTGREEN=10, LIGHTCYAN=11, LIGHTRED=12, LIGHTMAGENTA=13, YELLOW=14, WHITE=15
- Cartea „Olimpiada jocurilor rationale” de Nicolae Oprisiu
- Cartea Nicolae Oprisiu – Mai in gluma, mai in serios
- Cartea
- Cartea FLEX – 50 jocuri : http://www.boardgames-blog.ro/fisiere/FLEX-Regulament_scanat_low.pdf
- Cartea Martin Gardner-Alte-Amuzamente-Matematice
- Cartea Martin Gardner – The Second Scientifc American Book of Mathematical Puzzles and Diversions
- Cartea 536 Puzzles & Curious Problems by Henry Ernest Dudeney
- Alte carti utile pot fi gasite aici.
- Sam Loyd’s Cyclopedia of 5000 Puzzles, Tricks, and Conundrums (With Answers)
- Challenging Mathematical Problems With Elementary Solutions, Vol. 1.pdf
3. Lista de proiecte
Mai jos sunt date proiectele ce pot fi alese de către voi. Pentru fiecare proiect sunt precizate câteva elemente simple, descrierea completă a proiectului facându-se verbal la întâlnirile de la cerc.
1: Bridg-It
Proiectul constă în implementarea unui joc de strategie „Bridg-It”, așa după cum este descris acesta în cartea Martin Gardner – Entertaining Mathematical Puzzles, incepand cu pagina 71:
2: Î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: 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: 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 un student de-al meu: https://www.youtube.com/watch?v=Z80G_TZnvIc&fbclid=IwAR3ts8IrD_OYB0UnUxMrbGKmR1iXqmV7jGhv27msx0Pd91E3Ws2QVJna3Zs
5: 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
7: 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: 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: 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:
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: 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 Dame: https://ro.wikipedia.org/wiki/Dame
Iata ce a facut un student de-al meu, 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: 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: 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: 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: 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: 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
4. Chestiuni generale despre realizarea proiectelor
- Acest mod de repartizare a echipelor si are urmatoarele scopuri:
- elevii vor fi obisnuiti cu felul in care vor lucra in companiile IT;
- elevii 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;
- se va incuraja crearea de noi legaturi de colaborare intre participanții la cercul „Programare și răbdare”.
- 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/
9 Comments
JamesCor
- 27/01/2023 at 04:57https://over-the-counter-drug.com/# best over the counter cold medicine
ses
- 23/02/2023 at 04:22The post you have posted to blog very create absolutely useful.
everygame casino review
viggo casino
- 28/02/2023 at 05:56The article you posted very create very informative.
free online casino games win real money no deposit
gateio
- 07/03/2023 at 02:20I have read your article carefully and I agree with you very much. So, do you allow me to do this? I want to share your article link to my website: gateio
seo plan for ecommerce website
cheap seo services india
- 20/04/2023 at 06:50fuhqbgnjo dbpsd dsmoojh esii hfnzbstgvwpubup
passive income investments
Baashast
- 16/05/2023 at 15:35what darknet markets are available how to order from dark web
Log in
- 26/05/2023 at 12:24The point of view of your article has taught me a lot, and I already know how to improve the paper on gate.oi, thank you. https://www.gate.io/zh/signup/XwNAU