Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Checkers -joc in C++ - LUCRARE DE ATESTAT

c



+ Font mai mare | - Font mai mic



Colegiul National "Mihai Eminescu", Oradea

profilul matematica-informatica intensiv informatica



LUCRARE     DE ATESTAT

- Checkers -

Cuprins

Cap I. Motivarea alegerii lucrarii

Am ales sa realizez lucrarea de atestat in limbajul de programare C++ deoarece l-am studiat in liceu in clasele IX-XII si sunt familiarizat cu el. Imi place sa programez si una dintre modalitatile cele mai bune de a demonstra aptitudinile de programare este prin intermediul unui joc. Astfel, am ales sa fac jocul "Dame", care in engleza poarta numele de "Checkers" deoarece a reprezentat o provocare pentru mine. Imi plac board-games-urile si in momentul in care doamna profesoara m-a intrebat cu ce program imi voi sustine atestatul am ales sa fac acest joc. Odata cu inceperea lucrarii de atestat am aprofundat functiile modului grafic din C++ si am exploatat din plin functiile de desenare si colorare.

Cap II. Necesitati soft si hard

Sistem de operare: DOS, Windows 95/98/XP

Procesor: 200 MHz (minim)

RAM: 128 MB (minim)

Placa Video: EGA / VGA 2 MB (minim)

Cap III. Descrierea lucrarii


Dupa cum ii spune si numele, Checkers sau Dame, lucrarea de atestat reprezinta bine-cunoscutul joc ce se joaca pe tabla de sah, doar cu pionii sau cu pucurile de table. Piesele, reprezentate in program prin cercuri de culori diferite, se aseaza in zig-zag, pe o singura culoare, de exemplu alb, pe primele si ultimele doua linii are tablei de sah.

Scopul jocului este ca un jucator sa ajunga cu toate piesele in locul de unde a inceput adversarul. Astfel, o piesa se poate deplasa pe diagonala cate un patratel in orice directie; in cazul in care in patratelul din fata-stanga sau fata-dreapta se afla o piesa (proprie sau a adversarului) se poate sari peste aceasta piesa cu conditia ca patratelul unde urmeaza sa aterizeze piesa sa fie liber. Intr-o mutare se pot executa maxim trei astfel de sarituri (nu permite dimensiunea tablei de sah mai mult) realizandu-se un triplu salt (se sare peste trei piese, cu doua escale intre sarituri).


Dupa fiecare partida scorul celui care castiga se incrementeaza, iar mutarea de inceput in urmatoarea partida apartine jucatorului invins.


Programul incepe cu un intro scurt urmat de aparitia unui meniu format din cinci butoane, dupa cum urmeaza:


New Game - permite inceperea unui joc nou; la apasarea butonului vor aparea alte doua butoane pentru a selecta modul de joc: jucator vs. jucator sau jucator vs. calculator; ulterior se introduce numele jucatorului/jucatorilor si se poate incepe jocul;

Options - permite schimbarea culorilor pieselor si tablei de joc; puteti alege din sase seturi de culori;



Help - explica pe scurt regulile de joc;

Credits - contine multumiri adresate celor care au contribuit in vreun fel la realizarea sau imbunatatirea jocului;

Exit - la apasarea butonului se iese din program;

Programul este realizat in limbajul de programare C++. Fata de librariile standard am inclus programul "mouse.h", primit de la d-na profesoara Erzsebet Kelemen, care permite utilizarea mouse-ului in modul grafic.

Fisierul sursa are 1300 de randuri si o dimensiune de 40 kb. Pntru utilizarea programului, pe langa fisierul checkers.exe sunt necesare urmatoarele fisiere: credits.txt, help.txt, BOLD.CHR, EGAVGA.BGI, LITT.CHR, TRIP.CHR, TSCR.CHR.

Cap IV. Descrierea functionarii subprogramului "computer


Functia "computer" este functia folosita pentru a executa mutarile calculatorului atunci cand se alege optiunea "1 Player". Primele randuri afiseaza numele jucatorilor si scorurile acestora (intotdeauna numele si scorul celui care urmeaza sa mute este evidentiat, fiind colorat in verde). Dupa aceea subprogramul ia pe rand toate piesele calculatorului si cauta mutarea cu cele mai multe sarituri cu ajutorul functiai "mutare3". In cazul in care nu se poate sari peste nici o piesa calculatorul va muta cea mai din spate piesa cu un patratel in fata-dreapta sau in fata-stanga. Daca nici aceasta mutare nu este posibila (in cazul in care adversarul a lasat o piesa in baza, iar calculatorul are restul pieselor pe pozitia finala), se va alege mutarea celei mai din spate piese cu un patratel in spate-dreapta, dupa care se reia algoritmul.

Daca jucatorul abandoneaza o pisea in baza pana ce calculatorul si-a aranjat toate piesele pe pozitia finala in afara de ultima si elibereaza locul ulterior, calculatorul isi va reordona piesele din baza astfel incat sa poata introduce si ultima piesa.

Daca este posibila sarirea peste mai multe piese calculatorul va alege intotdeauna mutarea cu cele mai multe sarituri. Mutarea pieselor se realizeaza cu ajutorul functiilor bk23, bk34 si bk35 in functie de numarul de sarituri. Tabla de joc si pozitiile pieselor sunt retinute sub forma unei matrice. Dupa fiecare mutare se verifica daca nu a ajuns calculatorul cu toate piesele in baza adversarului. In caz afirmativ partida se incheie, scorul calculatorului se incrementeaza si incepe o noua partida in care prima mutare apartine jucatorului. Daca jucatorul este cel care castiga, prima mutare o face calculatorul.

Cap V. Bibliografie

In realizarea lucrarii de atestat am folosit cursurile d-nei profesoare Erzsebet Kelemen predate la clasa si volumul I din "Limbajul C" de Liviu Negrescu, editura Albastra.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1890
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved