Acest proiect este unul didactic, gratuit și open-source. Scopul său principal nu este produsul în sine, ci cunoștiințele acumulate în decursul dezvoltării sale.
Participarea la acest proiect da ocazia celor interesați să vadă cum e să dezvolți un produs software într-o echipă organizată, cum e să nu conteze doar executabilul rezultat, ci și codul în sine, și cum e să trebuiască să interacționezi cu ceva scris de o altă persoană și să știi că ceea ce scrii la rândul tău va trebui fi înțeles și folosit și de altcineva.
Cei vizați sunt în principiu elevii și stundenții, care până acum n-au fost obișnuiți decât să transpună diverși algoritmi; însă oricine poate participa.
Am ales dezvoltarea unui joc deoarece majoritatea am visat cândva, tineri programatori în devenire fiind, să dezvoltăm un joc.
Am ales dezvoltarea unui joc de cărți deoarece este simplu de realizat din punct de vedere grafic.
Am ales jocul de Cruce pentru a promova ceva și de pe meleagurile noastre.
Prima întrebare pe care mulți o vor adresa este: Ce limbaj de programare vom folosi? Răspunsul la aceasta este: C
.
Motivarea alegerii este foarte simplă:
Din cadrul limbajului C, se poate spune că o persoană este pregătită să lucreze la acest proiect dacă:
.c
) și un header (.h
).c
Dezvoltarea acestui joc poate apărea ca un șoc pentru cei obișnuiți doar să creeze un fișier .c
în care trântesc niște cod apoi dau Run ... și merge.
În realitate lucrurile sunt mult mai simple decât par la prima vedere:
printf
, scanf
. De ce? Deoarece această biblioteca nu știe (și nici nu o interesează) cum sunt afișate datele, sau de unde sunt citite. Astfel funcțiile vor primi toate informațiile necesare prin intermediul parametriilor, ex. struct Team *team_createTeam()
adună
, apelată cu parametrii 2
și 3
, returnează rezultatul 5
) este: verifica_adevarat(5, aduna(2,3));
gcc
), ci folosind un set de utilitare denumite autotools
. Acestea prezintă avantajul că necesită doar o ușoară configurare, iar apoi generează scripturi care se ocupă de tot, de la găsirea locației compilatorului, la compilarea codului și execuția testelor.autotools
sunt la ele acasă sub Unix/Linux, am scris un https://github.com/danij/CruceGame/blob/develop/docs/windows.md "ghid pentru Windows", astfel încât doritorii ce folosesc acest sistem de operare să nu se simtă descurajați.Un aspect foarte important atunci când se lucrează în echipă este partajarea codului. Codul nu va fi trimis pur și simplu prin email de la o persoană la alta, ci se va folosi aplicația git
alături de serviciul gratuit de hosting github
. Un tutorial fain se găseste la adresa: http://git-scm.com/book/en/Getting-Started iar informații specifice acestui proiect se găasesc în documenție.
Primul pas care trebuie urmat e citirea în întregime a documentației proiectului. Aceasta se găsește în folderul docs/ și este actualizată în permanență. Documentația prezintă pașii următori și cuprinde inclusiv regulile jocului (pentru cei ce nu le știu).
Deoarece pot participa programatori din orice colț al lumii, limba oficială pentru dezvoltare și comunicare este engleza.