0% au considerat acest document util (0 voturi)
22 vizualizări12 pagini

Atestat Info

Acest cod C++ implementează parțial un program de șah, concentrându-se pe manipularea intrărilor și inițializarea tablei de șah. Include funcții pentru a marca mutările posibile ale nebunului, calului, turnului și damei pe tabla de șah 8x8.

Încărcat de

Harlly Quintem
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
22 vizualizări12 pagini

Atestat Info

Acest cod C++ implementează parțial un program de șah, concentrându-se pe manipularea intrărilor și inițializarea tablei de șah. Include funcții pentru a marca mutările posibile ale nebunului, calului, turnului și damei pe tabla de șah 8x8.

Încărcat de

Harlly Quintem
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 12

PROIECT PENTRU OBŢINEREA ATESTĂRII

PROFESIONALE ÎN INFORMATICĂ

TITLUL LUCRĂRII:

Șah
Cuprins

1. Motivatie

2. Generalitati despre limbajul C++

3. Cerinte hardware si software

4. Structura si continutul proiectului

5. Bibliografie
Motivatie
Un program de șah este o aplicație de calculator concepută pentru a simula
jocul de șah, permițând jucătorilor să se angajeze în meciuri împotriva
calculatorului sau a altor jucători online. Șahul este adesea venerat ca un joc
minunat din mai multe motive. În primul rând, este un joc de strategie și
tactici profunde, care necesită jucători să se gândească la mai multe mișcări
înainte, luând în considerare diferite posibilități și contra-mutări. Acest aspect
provoacă abilitățile analitice ale jucătorilor și încurajează gândirea critică.

În plus, șahul este un joc de posibilități nesfârșite, în ciuda faptului că are un


număr finit de piese și poziții de masă. Această complexitate infinită rezultă
din numărul mare de mișcări potențiale și consecințele acestora, făcând
fiecare joc unic și oferind oportunități nesfârșite de învățare și îmbunătățire.

Totodată, șahul transcende barierele lingvistice și culturale, servind ca un


limbaj universal care aduce oamenii împreună din toate categoriile sociale.
Încurajează respectul, disciplina și sportivitatea în rândul jucătorilor.

Mai mult, șahul oferă numeroase beneficii cognitive, inclusiv îmbunătățirea


memoriei, a concentrării și a abilităților de rezolvare a problemelor. Studiile
au arătat că practica regulată a șahului poate îmbunătăți performanța
academică și funcția cognitivă generală, făcându-l un instrument educațional
excelent pentru persoanele de toate vârstele.

În general, un program de șah oferă o platformă pentru ca indivizii să


se angajeze în acest joc atemporal, culegând recompensele sale intelectuale,
sociale și culturale.
Generalitati despre limbajul C++

C++ este un limbaj general, de nivel mediu, care a fost inițial dezvoltat de către informaticianul
danez Bjarne Stroustrup în 1979 la Bell Laboratories SUA. După cum mulți dintre voi trebuie să
știți, un limbaj de programare de nivel mediu este o combinație de limbaje de programare de
nivel scăzut și de nivel înalt. Limbajul C++ a fost inițial conceput ca o extensie a limbajului C,
care a fost utilizat pe scară largă în programarea sistemului și OS bazat pe Unix. De asemenea, C
a fost dezvoltat în 1970 de Dennis Ritchie în timp ce se afla la Bell Labs (fostul AT & T Bell
Labs).

De-a lungul anilor, C++ a devenit unul dintre cele mai utilizate limbaje de programare și are o
varietate de aplicații în domenii precum jocurile, robotica, finanțele și calculul științific.
Dezvoltatorii au introdus, de asemenea, mai multe versiuni noi ale limbajului, cu schimbări
considerabile în spiritul de a rămâne la curent și de a concura cu alte limbaje de programare
moderne. Deci, să aruncăm o privire la cronologia și istoricul versiunilor C++.

Importanta limbajul C++


Mai jos sunt enumerate câteva puncte care subliniază importanța C++:

C++ este unul dintre cele mai populare și importante limbaje de programare
din lume, cu o gamă largă de aplicații în multe industrii diferite.

Este utilizat pe scară largă pentru programarea sistemelor, jocuri, finanțe,


calcul științific și robotică, printre alte domenii. Tâmplăria este utilă în
special în construirea de sisteme software complexe, în care performanța,
eficiența și fiabilitatea sunt esențiale.

Una dintre caracteristicile sale cele mai valoroase este capacitatea sa de a


oferi acces la nivel scăzut la resursele hardware. Acest lucru îl face un limbaj
ideal pentru dezvoltarea de software la nivel de sistem, cum ar fi drivere de
dispozitiv, sisteme de operare și sisteme încorporate.

Este, de asemenea, o alegere foarte populară pentru calculul științific și este


utilizată pentru a construi biblioteci numerice de înaltă performanță și
instrumente de simulare.

Pentru ce se foloseste C++ ?


Pentru ce se utilizează C plus-plus?

De-a lungul timpului, C++ a devenit un limbaj de alegere pentru construirea


de software rapid și de încredere. Versatilitatea sa îl face o potrivire excelentă
pentru aplicații complexe, sisteme încorporate și dispozitive internet of things
(IoT). Câteva dintre cele mai frecvente cazuri de utilizare sunt următoarele:

Inginerie software. Câteva aplicații pe care le-ați putea folosi zilnic, care au
fost create cu C plus-plus includ Netflix și Amazon.

Dezvoltarea sistemului de operare (OS). Exemple de OS care au fost create


cu C++ includ Microsoft Windows, Mac OS X și iOS.

Interfețe grafice pentru utilizatori. C++ este adesea recomandat pentru


designul interfeței grafice cu utilizatorul sau, GUI.

Realitate virtuală (VR). C++ poate fi un limbaj excelent de învățat dacă doriți
să dezvoltați aplicații VR.

Tehnologia blockchain. Bine-cunoscuta criptomonedă Bitcoin a fost


dezvoltată în C++. De asemenea, poate fi folosit pentru a crea contracte
inteligente.

Dezvoltarea jocului. Puteți dezvolta jocuri și console de jocuri cu C++.


De exemplu, jocul World of Warcraft și consola Xbox.

Cerinte hardware si software


Cerințe Hardware:

Computer: Orice calculator modern ar trebui să fie suficient, inclusiv


desktop-uri, laptop-uri, sau chiar anumite dispozitive mobile.

Procesor (CPU): Un procesor capabil să ruleze sistemul de operare pe care


intenționați să îl utilizați. Cele mai multe procesoare moderne sunt potrivite
pentru rularea programelor C++.

Memorie (RAM): RAM adecvat pentru a sprijini sistemul de operare și


instrumentele de dezvoltare. Cel puțin 4GB de RAM este recomandat pentru
o funcționare lină.

Stocare: Spațiu suficient pe disc pentru instalarea instrumentelor software


necesare și stocarea fișierelor de cod sursă. De obicei, câțiva gigaocteți de
spațiu liber ar trebui să fie suficienți.

Dispozitive de intrare: O tastatură și un mouse (sau dispozitive alternative de


intrare) pentru interacțiunea cu computerul și scrierea codului.

Cerințe Software:

Sistem de operare: Dezvoltarea C++ poate fi făcută pe diferite sisteme de


operare, inclusiv Windows, macOS și Linux. Alegeți un sistem de operare cu
care vă simțiți confortabil și care acceptă instrumentele de dezvoltare pe care
intenționați să le utilizați.

Text Editor sau Integrated Development Environment (IDE): Veți avea


nevoie de un editor de text sau de un IDE pentru a scrie, edita și gestiona
codul C++. Printre opțiunile populare se numără Visual Studio Code, Xcode,
Eclipse și Code::Blocks.

Compilator: Un compilator C++ este necesar pentru a traduce codul sursă în


cod binar care poate fi citit de mașină. Unele compilatoare C++ comune
includ GCC (GNU Compiler Collection), Clang și Microsoft Visual C++
Compiler.

Instrumente de compilare: Este posibil să aveți nevoie de instrumente


suplimentare de construire, cum ar fi GNU Make sau CMake, pentru a
automatiza procesul de compilare și conectare a programelor C++.

Debugger: Un instrument de depanare vă ajută să identificați și să remediați


erorile din cod în timpul dezvoltării. Cele mai multe IDE-uri vin cu
capabilități de depanare încorporate.

Structura si continutul proiectului


Acest cod C++ are ca scop calcularea și afișarea posibilelor mișcări
pentru un nebun, un cal, un turn si o damă pe o tablă de șah 8x8. Citește
pozițiile de intrare pentru toate piesele dintr-un fișier numit „date.in”.
Funcțiile mutari_nebun și mutari_cal sunt destinate să marcheze posibilele
mișcări pentru nebun și cal, respectiv, pe tabla de șah. Cu toate acestea,
aceste funcții sunt incomplete și nu pun în aplicare pe deplin logica pentru
calcularea posibilelor mișcări, precum pentru pioni sau rege. Astfel, codul
este o implementare parțială a unui program de șah, concentrându-se în
primul rând pe manipularea intrărilor și inițializarea tablei de șah.

#include <bits/stdc++.h>

using namespace std;

ifstream f("date.in");
ofstream g("date.out");
const int N = 8;
int tabla[8][8];
int l_cal, c_cal, l_nebun, c_nebun, c_dama, l_dama, l_turn, c_turn;

void init_tabla (int tabla[8][8])


{
int row, col;

for (row = 1; row <= N; row++)


for (col = 1; col <= N; col++)
tabla[row][col] = 0;

void afiseaza_tabla(int tabla[8][8]) {


for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
g << tabla[i][j] << " ";
}
g << endl;
}
g << endl;
}

// marcheza campurile posibile pentru turn


void mutari_turn(int tabla[8][8], int linie, int col) {
init_tabla(tabla);
for (int i = 1; i <= N; i++) {
tabla[linie][i] = 1;
tabla[i][col] = 1;
}
}

// marcheaza campurile posibile pentru nebun


void mutari_nebun(int tabla[8][8], int linie, int col) {
init_tabla(tabla);
for (int i = 1; i <= N; ++i) {
int d1 = col - linie + i;
int d2 = col + linie - i;

if (d1 >= 1 && d1 <= N) {


tabla[i][d1] = 1;
}

if (d2 >= 1 && d2 <= N) {


tabla[i][d2] = 1;
}
}
g << "Mutari posibile pentru nebun:" << endl;
afiseaza_tabla(tabla);
}

// marcheaza campurile posibile pentru dama (combina mutarile turei cu cele ale
nebunului)
void mutari_dama(int tabla[8][8], int linie, int col) {
mutari_turn(tabla, linie, col);

// marcheaza diagonale nebunului


for (int i = 1; i <= N; ++i) {
int d1 = col - linie + i;
int d2 = col + linie - i;

if (d1 >= 1 && d1 <= N) {


tabla[i][d1] = 1;
}

if (d2 >= 1 && d2 <= N) {


tabla[i][d2] = 1;
}
}
g << "Mutari posibile pentru dama:" << endl;
afiseaza_tabla(tabla);
}

// marcheaza mutarile posibile pentru cal


void mutari_cal(int tabla[8][8], int row, int col) {
init_tabla(tabla);
// mutari posibile pentru cal
int mutari[8][2] = {{-2, -1}, {-1, -2}, {1, -2}, {2, -1},
{-2, 1}, {-1, 2}, {1, 2}, {2, 1}};

for (int i = 0; i < 8; ++i) {


int newRow = row + mutari[i][0];
int newCol = col + mutari[i][1];

if (newRow >= 0 && newRow < N && newCol >= 0 && newCol < N) {
tabla[newRow][newCol] = 1;
}
}
g << "Mutari posibile pentru cal:" << endl;
afiseaza_tabla(tabla);

int main () {

f>>l_dama>>c_dama;
mutari_dama(tabla,l_dama,c_dama);
init_tabla(tabla);

f>>l_turn>>c_turn;
mutari_turn(tabla, l_turn, c_turn);
g << "Mutari posibile pentru turn:" << endl;
afiseaza_tabla(tabla);

f>>l_nebun>>c_nebun;
mutari_nebun(tabla,l_nebun,c_nebun);

f>>l_cal>>c_cal;
mutari_cal(tabla, l_cal, c_cal);

return 0;
}

Bibleografie
https://unstop.com/blog/history-of-cpp
https://www.coursera.org/articles/what-is-c-plus-plus
https://forums.unrealengine.com/t/how-to-make-a-pawn-move-properly-c/
683279

S-ar putea să vă placă și