CATEGORII DOCUMENTE |
Colegiul National "Mihai Eminescu",
profilul matematica-informatica intensiv informatica
LUCRARE DE ATESTAT
- Checkers -
Cuprins
Cap I. Motivarea alegerii lucrarii Cap II. Necesitati soft si hard |
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.
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.
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.
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 |
Vizualizari: 1974
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved