Sunteți pe pagina 1din 22

Acаdemiа de Studii Economice а Moldovei

Fаcultаteа Tehnologii Informаționаle și Stаtistică Economică


Departamentul Informatică și Managementul informației

PROIECT DE AN
Tema: Elaborarea aplicației „X și O”
(joc intelectual)

Autor: Studentul gr INFа – 161FR,


învățământ cu frecvență redusă
Gîrbu Nicolаe
_________________
(semnătura)

Conducător științific:
Boris Delimаrschi
_________________
(semnătura)

Chișinău 2019
Cuprinsul lucrării
Introducere .................................................................................................................... 3
I. NOȚIUNI GENERALE PRIVIND JOCURILE VIDEO INTELECTUALE ........... 4
1. Jocuri video ................................................................................................ 4
2. Genuri jocuri video .................................................................................... 4
3. Jocurile intelectuale.................................................................................... 6
4. Analiza produselor informatice similare .................................................... 7
5. Determinarea si argumentarea alegerii mediului de elaborare .................. 9
II.PROIECTAREA ȘI ELABORAREA APLICAȚIEI .............................................. 13
1. Determinarea cerintelor catre proiect....................................................... 13
2. Proiectarea aplicației ................................................................................ 13
3. Proiectare algoritm logic de lucru al aplicației ........................................ 20

2
Introducere

Lucrarea de faţă işi propune să prezinte principalele aspecte teoretice şi practice în analiza
desfășurată a proiectului, proiectarea, dezvoltarea și exploatarea unei aplicații mobile.

Dispozitivele mobile sunt dovada progresului nostru tehnologic. Dispozitivele mobile au


devenit parte din viața noastră de zi cu zi, este imposibil să ne desfășurăm treburile zilnice fără
dispozitivele noastre. Aceste dispozitive ne oferă o gamă largă de aplicații și unelte înecpând de la
comunicare și până la divertisment.

Această lucrare prezintă o aplicație mobilă de divertisment din categoria jocuri intelectuale.

În acest sens primul capitol abordează aspectele teoretice cu privire la conceptele aplicațiilor
mobile, clasificarea aplicațiilor mobile, tipologia jocurilor și analiza produselor informatice
similare.

În capitolul al-II-lea este realizată o prezentare succintă a părții practice și descrierea


aplicației în sine. În acest capitol este prezentată descrierea procedurilor de poriectare a acestei
aplicații. Alt punct prezentat în acest capitol este determinarea principalelor funcționalități ale
aplicației. La sfârșitul acestui capitol este demonstrat procesul de elaborare a aplicației și sunt
descrise uneltele și mediul în care a fost dezvoltată aeastă aplicație.

3
I. NOȚIUNI GENERALE PRIVIND JOCURILE VIDEO
INTELECTUALE

1. Jocuri video
Un joc video este un joc electronic în care se interacționează cu o interfață grafică pentru a
genera răspuns vizual pe un ecran. Jocurile video în general au un sistem de recompensare a
utilizatorului, de obicei se ține scorul, acest sistem depinzând de îndeplinirea unor anumite
obiective în joc.

Termenul joc pe calculator sau "joc pe PC" se referă la un joc care este jucat pe un PC, unde
monitorul este principalul mijloc de feedback și care folosește ca dispozitiv de control un periferic
de intrare, de obicei butonarea unui joystick (jocuri din arcade-uri), o combinație tastatură &
maus/trackball sau un controller, ori o combinație dintre cele de mai sus. Jocuri pe calculator sunt
denumite și jocurile în mod text sau jocuri care folosesc și alte metode care includ sunetul sau
vibrația ca principalul mijloc de feedback, dar in momentul actual apar prea puține jocuri noi care
intră în aceste categorii. (https://ro.wikipedia.org/wiki/Joc_video).

2. Genuri jocuri video


Jocurile video sunt clasificate după genul lor. Deși nu există un criteriu universal acceptat,
clasificarea jocurilor nu este întotdeauna consistentă sau schematică și câteodată arbitrară
depinzând de surse. Urmează o clasificare a celor mai întâlnite genuri de joc video cu o scurtă
descriere și exemple. Multe dintre jocuri se întâlnesc în mai multe categorii din cauza naturii
subiective a multor genuri. De exemplu seria de jocuri Legend of Zelda are elemente de acțiune,
aventură și RPG. Acest fapt devine din ce în ce mai pronunțat pentru că multe dintre jocurile ce se
produc în zilele noastre sunt concepute deja să fie hibride, combinând elemente caracteristice unora
sau mai multor stiluri (de exemplu, jocuri RPG de acțiune ca Diablo, Vagrant Story, și Baldur's
Gate: Dark Alliance). Câteodată motivele din jocuri pot determina un gen.
(https://ro.wikipedia.org/wiki/Genuri_de_jocuri_video)

 Acțiune
o Stealth-based
o Acțiune-aventură
o Supraviețuire

4
 Jocuri video de aventură
o Grafică
o Text
 Ocazional
 Lupte
 Platformă
 Puzzle
 Curse
 Role-Playing (RPG)
 Simulare
 Sport
 Strategie
o Real-time (RTS)
o Turn-based
 Shooter-e
o First Person (FPS)
o Third Person (TPS)
o Scrolling Shooter
o Shooting (SHMUPS)
 Multiplayer
 Online
o MMO

Figura 1. Mahjong (joc intelectual grafic)

5
Figura 2. Șah (joc intelectual grafic)

3. Jocurile intelectuale
Jocurile intelectuale sunt, fără îndoială, preferate de persoane care sunt relativ inteligente
și care au o profunzime de cunoștințe sau o bună rezolvare a problemelor și abilități creative.
Acest lucru nu înseamnă că trebuie să fii un geniu pentru a juca jocuri intelectuale, deoarece
jocul poate fi conceput pentru intelectul mediu al oricărui public țintă dat, inclusiv copiii.
Jocurile intelectuale pot fi, prin urmare, o modalitate bună de a face distracția învățării. Jocurile
de cunoștințe pot fi, de asemenea, personalizate pentru anumite domenii, cu subiecte variind de
la știință la sporturi la drame TV.
Jocurile intelectuale se joacă în special pentru nevoile de excitare cognitivă , de noutate și
de stimulare , fără de care oamenii inteligenți se plictisesc repede.
Testele de inteligență sau orice examen academic pot fi văzute ca o formă de joc,
deoarece pun întrebări încurcate care pot crea bucurie, în timp ce jucătorul descoperă
răspunsurile.
Jocurile intelectuale sunt un bun ajutător în luarea deciziilor. Dat fiind faptului că
majoritatea necesită un timp scurt de gândire şi acţiune, jucătorii tind să dobândească rapid
abilitatea de a lua decizii cât mai prompt. De asemenea, datorită sarcinilor multiple oferite
jucătorului spre a fi rezolvate, jocurile video dezvoltă abilitatea de coordonare şi orientare
spaţială, precum şi atenţia distributivă, ca urmare a multiplelor „probleme” care se întâmplă
simultan şi trebuie rezolvate.
6
4. Analiza produselor informatice similare

1) Sudoku
Sudoku (din japoneză 数, sû - cifră și 独, doku - unică), este un joc în formă de grilă
inventat în 1979 și inspirat de pătratul latin și de problema celor 36 ofițeri a lui Leonhard Euler.
Scopul jocului este de a umple această grilă cu cifrele de la 1 la 9 respectând anumite condiții, cu
unele cifre fiind de la început dispuse în grilă.
Grila jocului este un pătrat de nouă pe nouă căsuțe, subdivizat în tot atâtea pătrate
identice, numite regiuni (Figura 3). Regula jocului este simplă: fiecare rând, coloană sau regiune
nu trebuie să conțină decât o dată cifrele de la unu la nouă. Formulat altfel, fiecare ansamblu
trebuie să conțină cifrele de la unu la nouă o singură dată. (https://ro.wikipedia.org/wiki/Sudoku)

Figura 3 Sudoku (joc intelectual)

Grilele publicate menționează deseori gradul de dificultate. Acesta este calculat în funcție
de ușurința de rezolvare printr-o metodă logică. Surprinzător, numărul căsuțelor precompletate
nu are aproape nici o legătură cu dificultatea unei grile. Grilele cu un mic număr de cifre pot fi
ușor de rezolvat, pe când altele care conțin un număr mai mare de căsuțe precompletate decât de
obicei pot fi foarte greu de rezolvat.

7
2) Cuvinte încrucișate
Cuvintele încrucișate reprezintă una dintre cele mai răspândite variante de exerciții
mentale din lume.
Forma de prezentare este în general o grilă pătrată sau dreptunghiulară de căsuțe albe și
negre; scopul urmărit este completarea spațiilor albe cu litere, astfel încât pe liniile orizontale și
pe cele verticale să se formeze cuvinte (sau alte construcții, ca de exemplu porțiuni formate din
mai multe cuvinte cuvinte consecutive din fraze celebre), despărțite de punctele negre. Pentru
aceasta, sunt oferite definițiile cuvintelor care trebuie descoperite.(Figura 4).

Figura 4. Cuvinte încrucișate(joc intelectual)

Careurile de cuvinte încrucișate au numerotate liniile și coloanele grilei (începând cu 1) și


oferă, separat, lista de definiții ale cuvintelor din liniile orizontale și verticale, utilizând numerele
acestora(Figura 5). Integramele includ definițiile în interiorul grilei, oferind pentru fiecare
definiție o săgeată ce arată direcția pe care se află amplasat cuvântul corespunzător(Figura 6).

8
Figura 5. Careu de cuvinte

Figura 6. Integrame

Cuvintele încrucișate sunt populare în multe limbi, limbi care se folosesc de alfabete
diverse. Alfabetele și regulile în care se scriu limbile impun diferențe la compunerea și
prezentarea careurilor de cuvinte încrucișate - de exemplu, în limba ebraică direcția scrisului e de
la dreapta la stânga și cuvintele sunt scrise fără majoritatea vocalelor. Lipsa vocalelor duce la
cuvinte mai scurte, într-un careu cu cuvinte mai scurte e mai important să fie cât mai puține litere
închise (o literă închisă participă la formarea unui singur cuvânt, orizontal sau vertical - literele
deschise participă la formare de două cuvinte, unul orizontal și unul vertical), problemă care
poate fi rezolvată prin careuri fără puncte negre și fără litere închise.

5. Determinarea si argumentarea alegerii mediului de


elaborare
1) Jocul „X și O”
„X și O” își are originea în vechiul Imperiu Roman în jurul primului mileniu î.en și a fost
numit Terni Lapilli. Regulile jocului diferă deoarece fiecare jucător a avut doar trei piese, se
deplasează în jurul spațiilor goale pentru a continua să joace. Potrivit www.sweetoothdesign.com
prima referință tipărită a jocului apare în Marea Britanie cu numele "Noughts and Crosses" în
1864. Denumirea "tic-tac-toe" este redenumită din "Noughts and Crosses" în secolul al XX-lea
din SUA și este cea mai veche joc cunoscut pentru afișarea imaginilor pe un monitor video. Deși
Tic-tac-toe pare să joace simplist, conține 138 de poziții de bord și 255168 de moduri posibile de
obținere a acestor poziții de bord.
Un scenariu în care jucătorul „X” câștigă este reprezentat în Figura 7.

9
Figura 7. Scenariu joc „X și O”

Jucătorii descoperă în curând că cel mai bun joc de la ambele părți conduce la egalitate .
Prin urmare, tic-tac-toe este cel mai adesea jucat de copii mici, care de multe ori nu au descoperit
încă strategia optimă. Astfel dezvoltarea aplicației mobile „X și O” are ca țintă un auditoriu mai
mare, începând de la copii și amatori până la jucătorii care descoperă strategia optimă.
Jocul clasic „X și O” se joacă pe foiae de hârtie desenând grila cu ajutorul unui stilou sau
creion, ulterior jucătorii desenează „X și O” în căsuțe. În scopul pretejării mediului înconjurător
putem economisi hârtie și să dezvoltăm aplicația pentru dispozitive mobile. Această metodă ne-
ar permite folosirea aceleași grile de nenumărate ori. Aplicația poate fi publicată gratuit pe
magazinele de aplicații ale dispozitivelor mobile, astfel utilizatorii pot juca absolut gratuit „X și
O” fără consum de foi de hârtie.

2) MIT App Inventor 2 sau Apache Cordova și PhoneGap


Inițial aplicația a fost dezvoltată până la 50% în mediul de programare „MIT App
Inventor 2”.
MIT App Inventor este un mediu de programare intuitiv, care permite tuturor - chiar și
copiilor - să construiască aplicații complet funcționale pentru telefoane inteligente și tablete. Cei
noi pentru aplicația MIT App Inventor pot avea o primă aplicație simplă în desfășurare în mai
puțin de 30 de minute. Și mai mult, instrumentul bazat pe blocuri(Figura 8) facilitează crearea de
aplicații complexe, cu impact ridicat, cu mult mai puțin timp decât mediile tradiționale de
programare.

Figura 8. Exemplu blocuri logice Mit app Inventor


10
Ulterior din cauza creșterii complexicității aplicației a fost necesar și un nivel mai înalt de
cunoștințe în această platformă, de asemenea platforma are posibilitatea redusă în stilizarea
paginilor și a elementelor.
Pentru a îndeplini toate cerințele stabilite s-a folosit mediul PhoneGap care permite
programarea aplicațiilor mobile în limbajele HTML, CSS și Javascript care sunt folosite uzual în
programarea web. Acest mediu a oferit libertatea în poziționarea elementelor pe ecran și în mod
special liberatatea de a stiliza la un nivel înalt.
Apache Cordova (fostă PhoneGap ) este un cadru de dezvoltare a aplicațiilor mobile
inițial creat de Nitobi . Adobe Systems a cumpărat Nitobi în 2011, a rebrand-o ca PhoneGap și
mai târziu a lansat o versiune open source a software-ului numit Apache Cordova. Apache
Cordova permite programatorilor software să construiască aplicații pentru dispozitive mobile
utilizând CSS3 , HTML5 și JavaScript, în loc să se bazeze pe API - uri specifice platformei, cum
ar fi cele din Android , iOS sau Windows Phone. Acesta permite împachetarea codului CSS,
HTML și JavaScript în funcție de platforma dispozitivului. Acesta extinde caracteristicile HTML
și JavaScript pentru a funcționa cu dispozitivul. Aplicațiile rezultate sunt hibride, ceea ce
înseamnă că acestea nu sunt nici o aplicație mobilă cu adevărat nativă (deoarece redarea tuturor
layout-urilor se face prin vizualizări Web în loc de cadrul UI nativ al platformei), nici pur bazate
pe Web (deoarece nu sunt doar aplicații Web, ca aplicații pentru distribuire și care au acces la
API-urile de dispozitive native). Amestecarea fragmentelor de cod native și hibride a fost
posibilă de la versiunea 1.9.Software-ul a fost numit anterior "PhoneGap", apoi "Apache
Callback". Ca software open source , Apache Cordova permite împachetarea în jurul acestuia,
cum ar fi Appery.io sau Intel XDK .PhoneGap este versiunea comercială a lui Cordova,
împreună cu ecosistemul său asociat. Multe alte instrumente și cadre sunt de asemenea construite
pe partea de sus a Cordova, aceste instrumente utilizează Cordova și nu PhoneGap pentru
instrumentele lor principale.
Apache Cordova sa născut din PhoneGap. În 2011, codul de bază PhoneGap a fost donat
Apache pentru incubație, iar proiectul a continuat să se dezvolte încă de atunci. Apache Cordova
este încă motorul care are putere PhoneGap, la fel ca WebKit este motorul care împuternicește
multe browsere web moderne.
PhoneGap Desktop este cel mai simplu mod de utilizare PhoneGap . Se folosește pentru a
crea aplicații și pentru a le difuza pe dispozitive mobile conectate. Este alternativa la utilizarea
liniei de comandă, folosind aceleași biblioteci în fundal. Deci, nu este nevoie de a memora
comenzi sau de a instala dependențe - toate acestea sunt incluse la descărcarea PhoneGap
Desktop.
Developer PhoneGap permite verificarea rapidă cum arată și funcționează aplicația
mobilă. Se dezvoltă local, apoi se vede imediat modificările de pe dispozitivul mobil conectat -
fără a fi nevoie de reconectare, pentru a se testa codul se re-compilează sau se reinstalează
aplicația. Prin testarea aplicației PhoneGap pe un dispozitiv mobil, utilizatorul are acces la API-
uri de dispozitiv care nu sunt disponibile în browserele web.
Aplicația PhoneGap Developer oferă încrederea că aplicația va funcționa așa cum este
intenționat pe dispozitivele pe care au fost vizate.
Datorită orientărilor Apple, aplicația PhoneGap Developer a fost eliminată din App
Store-ul iOS. Din acest motiv a fost ales sistemul de operare „Android”.

11
3) Sistemul de operare „Android”
Android este o platformă software și un sistem de operare pentru dispozitive și telefoane
mobile bazată pe nucleul Linux, dezvoltată inițial de compania Google, iar mai târziu de
consorțiul comercial Open Handset Alliance. Android permite dezvoltatorilor să scrie cod
gestionat în limbajul Java, controlând dispozitivul prin intermediul bibliotecilor Java dezvoltate
de Google. Aplicațiile scrise în C și în alte limbaje pot fi compilate în cod mașină ARM și
executate, dar acest model de dezvoltare nu este sprijinit oficial de către Google.
(https://ro.wikipedia.org/wiki/Android_(sistem_de_operare))
Android este un sistem open source și dezvoltatorii pot folosi gratuit codul sursă iar
aplicațiile ce pot fi instalate pe dispozitive nu necesită licență sau cheie pentru sistemul de
operare cum ar fi iOS( sistem de operare folosit de dispozitivele Apple).
SDK-ul(Software Development Kit) Android include un set complet de instrumente de
dezvoltare. Acestea includ un program de depanare, biblioteci, un emulator de dispozitiv,
documentație, mostre de cod și tutoriale. Platformele de dezvoltare sprijinite în prezent includ
calculatoare bazate pe x86 care rulează Linux (orice distribuție Linux desktop modernă), Mac
OS X 10.4.8 sau mai recent, Windows XP sau Vista. Cerințele includ, de asemenea, Java
Development Kit, Apache Ant, și Python. Mediul de dezvoltare suportat oficial este Eclipse,
utilizând plug-in-ul Android Development Tools (ADT), deși dezvoltatorii pot folosi orice editor
de text pentru a edita fișiere XML și Java și apoi să utilizeze unelte din linia de comandă pentru a
crea, să construi și depana aplicații Android.

12
II. PROIECTAREA ȘI ELABORAREA APLICAȚIEI

1. Determinarea cerintelor catre proiect


Dezvoltarea aplicațiilor mobile este un proces care necesită proiectarea corectă. Pentru a
proiecta aplicația este necesar de definit cerințele față de proiect. Astfel stabilim următoarele
funcționalități :
 Aplicația va avea o pagină de start din care se pot accesa jocul sau setările;
 Aplicația va oferi utilizatorilor posibilitatea de a alege modul de joc : un singur
jucător înpotriva adversarului virtual sau jocul cu un prieten la același dispozitiv;
 Aplicația va oferi utilizatorilor posibilitatea de a seta fiecărui jucător un
„Nickname”(din engleză: Poreclă);
 Aplicația va oferi utilizatorilor posibilitatea de a seta reacția adversarului virtual să
simuleze gândire realistică;
 Aplicația va salva setările utilizatorilor(reacție adversar virtual și nicknames) în
spațiul de stocare local temporar;
 Aplicația va oferi utilizatorilor o interfață comodă și ușor utilizabilă
 În urma jocului aplicația va anunța utilizatorii în cazul câștigului, egalității sau
pierderii;
 Aplicația va permite resetarea jocului și de a începe un alt joc din nou;
 Aplicația va permite reînoarcerea la pagina principală.
 Aplicația trebuie să fie în format .apk pentru a se putea instala pe dispozitivele mobile
cu sistemul de operare „Android”

2. Proiectarea aplicației

1) Strategie
Primul jucător, care va fi desemnat "X", are 3 poziții posibile pentru a marca în timpul
primului tur. În mod superficial, s-ar părea că există 9 poziții posibile, corespunzătoare celor 9
pătrate din grilă. Cu toate acestea, prin rotirea grilei, vom constata că, în primul rând, fiecare
marcă de colț este echivalentă strategic cu orice alt semn de colț. Același lucru este valabil
pentru fiecare margine (margine mijlocie). Din punct de vedere strategic, există, prin urmare,
numai trei prime primele: colț, margine sau centru. Jucătorul X poate câștiga sau forța o remiză
de la oricare dintre aceste note de pornire; totuși, jocul în colț oferă adversarului cea mai mică
alegere de pătrate care trebuie jucate pentru a evita pierderea. Acest lucru ar putea sugera că
colțul este cea mai bună mișcare de deschidere pentru X, dar un alt studiu arată că, dacă jucătorii
nu sunt perfecți, o mișcare de deschidere în centru este cea mai bună pentru X.
Cel de-al doilea jucător, care va fi desemnat "O", trebuie să răspundă la marca de
deschidere a lui X, astfel încât să se evite victoria forțată. Jucătorul O trebuie să răspundă
întotdeauna la o deschidere de colț cu un marcaj central și la o deschidere centrală cu un colț. O
deschidere de margine trebuie să fie răspunsă fie cu un marcaj central, fie cu un semn de colț de
lângă X, fie cu un margine de margine vizavi de X. Orice alte răspunsuri vor permite lui X să
forțeze victoria. Odată ce deschiderea este finalizată, sarcina O este de a urmări lista de priorități
13
de mai sus pentru a forța tragerea la sorți sau altfel pentru a câștiga o victorie dacă X face un joc
slab.

Figura 9. Grila jocului „X și O”

2) Combinații câștigătoare și de egalitate


Conform celor 9 poziții numerotate în Figura 8 avem următoarele cazuri de joc:
Când X joacă 1 ca mișcare de deschidere, atunci O ar trebui să ia 5. Atunci X ia 9 (în
această situație, O nu ar trebui să ia 3 sau 7, O ar trebui să ia 2, 4, 6 sau 8):
 X1 → O5 → X9 → O2 → X8 → O7 → X3 → O6 → X4, acest joc va fi o remiză.
Sau 6 (în această situație, O nu trebuie să ia 4 sau 7, O ar trebui să ia 2, 3, 8 sau 9. De fapt,
luarea lui 9 este cea mai bună mișcare, deoarece un jucător non-perfect X poate lua 4, ia 7 pentru
a câștiga).
 X1 → O5 → X6 → O2 → X8, atunci O nu ar trebui să ia 3, sau X poate lua 7 pentru a
câștiga, iar O nu ar trebui să ia 4, sau X poate lua 9 pentru a câștiga, O ar trebui să ia 7 sau 9.
 X1 → O5 → X6 → O2 → X8 → O7 → X3 → O9 → X4, acest joc va fi o remiză.
 X1 → O5 → X6 → O2 → X8 → O9 → X4 (7) → O7 (4) → X3, acest joc va fi o remiză.
 X1 → O5 → X6 → O3 → X7 → O4 → X8 (9) → O9 (8) → X2, acest joc va fi o remiză.
 X1 → O5 → X6 → O8 → X2 → O3 → X7 → O4 → X9, acest joc va fi o remiză.
 X1 → O5 → X6 → O9, atunci X nu ar trebui să ia 4, sau O poate lua 7 pentru a câștiga, X ar
trebui să ia 2, 3, 7 sau 8.
 X1 → O5 → X6 → O9 → X2 → O3 → X7 → O4 → X8, acest joc va fi o remiză.
 X1 → O5 → X6 → O9 → X3 → O2 → X8 → O4 (7) → X7 (4), acest joc va fi o remiză.
 X1 → O5 → X6 → O9 → X7 → O4 → X2 (3) → O3 (2) → X8, acest joc va fi o remiză.

14
 X1 → O5 → X6 → O9 → X8 → O2 (3, 4, 7) → X4 / 7 (4/7, 2/3, 2/3) → O7 / 4 (7/4, 3/2, 3 /
2) → X3 (2, 7, 4), acest joc va fi o remiză.
În ambele situații (X ia 9 sau 6 ca a doua mișcare), X are un 1/ cu 3 proprietăți pentru a
câștiga.
Dacă X nu este un jucător perfect, X poate lua 2 sau 3 ca a doua mișcare. Atunci acest joc va
fi o remiză, X nu poate câștiga.

 X1 → O5 → X2 → O3 → X7 → O4 → X6 → O8 (9) → X9 (8), acest joc va fi o remiză.


 X1 → O5 → X3 → O2 → X8 → O4 (6) → X6 (4) → O9 (7) → X7 (9), acest joc va fi o
remiză.
Dacă X joacă 1 mișcare de deschidere și O nu este un jucător perfect, se pot întâmpla
următoarele:
Deși O ia singura poziție bună (5) ca prima mișcare, dar O ia o poziție nepotrivită ca a doua
mișcare:
 X1 → O5 → X9 → O3 → X7, atunci X poate lua 4 sau 8 pentru a câștiga.
 X1 → O5 → X6 → O4 → X3, atunci X poate lua 2 sau 9 pentru a câștiga.
 X1 → O5 → X6 → O7 → X3, atunci X poate lua 2 sau 9 pentru a câștiga.
Deși O ocupă poziții bune ca primele două mișcări, O ia o poziție rea ca a treia mișcare:
 X1 → O5 → X6 → O2 → X8 → O3 → X7, atunci X poate lua 4 sau 9 pentru a câștiga.
 X1 → O5 → X6 → O2 → X8 → O4 → X9, atunci X poate lua 3 sau 7 pentru a câștiga.
ocupă o poziție proastă ca prima mișcare (cu excepția a 5, toate celelalte poziții sunt rele):
 X1 → O3 → X7 → O4 → X9, atunci X poate lua 5 sau 8 pentru a câștiga.
 X1 → O9 → X3 → O2 → X7, atunci X poate lua 4 sau 5 pentru a câștiga.
 X1 → O2 → X5 → O9 → X7, atunci X poate lua 3 sau 4 pentru a câștiga.
 X1 → O6 → X5 → O9 → X3, atunci X poate lua 2 sau 7 pentru a câștiga.

3. Proiectarea interfeței grafice


Interfața grafică (în engleză: Graphical User Interface sau GUI) este o interfață cu
utilizatorul bazată pe un sistem de afișaj ce utilizează elemente grafice. Interfața grafică este
numit sistemul de afișaj grafic-vizual pe un ecran, situat funcțional între utilizator și dispozitive
electronice cum ar fi computere, dispozitive personale de tip hand-held (playere MP3, playere
media portabile, dispozitive de jucat), aparate electrocasnice și unele echipamente de birou.
Pentru a prezenta toate informațile și acțiunile disponibile, un GUI oferă pictograme și indicatori
vizuali, în contrast cu interfețele bazate pe text, care oferă doar nume de comenzi (care trebuie
tastate) sau navigația text.
(https://ro.wikipedia.org/wiki/Interfa%C8%9B%C4%83_grafic%C4%83)
Interfața grafică a aplicației are 3 pagini și anume:
1. Pagina de start

15
2. Pagina singleplayer(un jucător)
3. Pagina multiplayer(doi jucători la același dispozitiv)

1) Pagina de start
Pagina de start are ca rol prezentarea aplicației, inițierea activității și modificarea setărilor
înainte de joc.
Pe pagina de start au fost amplasate mai multe elemente grafice și anume:
 Logo-ul aplicației (Figura 13)
 Butonul de lansare a unui popup (element grafic ce suprapune integral sau parțial pagina
fără a o închide) cu setări în formă de iconiță (Figura 13)
 Popup-ul cu cu setări (Figura 14)
 Butonul de pornire a jocului în mod „Un jucător” (Figura 13)
 Butonul de pornire a jocului în mod „Doi jucători” (Figura 13)
 Popup-ul cu introducere a nickname-urilor (Figura 15)

Figura 10. Pagina de start a aplicației

Figura 11.Popup cu setările jocului


16
Figura 12. Popup cu nickname-urile jucătorilor
Butonul „setări”
Butonul setări deschide popup-ul cu setări.
Butonul „Un jucător”
Butonu „Un jucător” deschide pagina mod joc „Un jucător”
Butonul „Doi jucători”
Butonu „Doi jucători” deschide pagina mod joc „Doi jucători”
Popup-ul cu setări
În popup-ul cu setări utilizatorul are posibilitatea de a alege ca adversarul virtual să
reacționeze momentan când e rândul lui sau să simuleze o gândire realistică, pentru cazuri când
la acest dispozitiv se joacă alte persoane în setări a fost adăugate cîmpurile de editare a
nickname-urilor. La atingerea butonului „Închide” setările nu se v-or salva și popup-ul se
închide, iar la atingere butonului „Salvare modificări” setările se salvează și popup-ul se închide.

Popup-ul cu introducere a nickname-urilor


Popup-ul cu introducere a nickname-urilor apare atunci când nici un nickname nu a fost
introdus și pentru comoditatea jocului în doi aplicația propune utilizatorului să introducă
nickname-uri fiecărui jucător. După click pe „OK” utilizatorul este redirecționat către pagina
mod joc „dio jucători”.

2) Pagina mod joc „un jucător”


Pagina mod joc „un jucător” oferă utilizatorului o zonă de joc cu adversar virtual în care este
înștiințat prin mesaje starea jocului(pierdere, câștig, egalitate, adversarul se gândește sau că e
rândul jucătorului).

17
Figura 13. Pagina mod joc „un jucător”

Buton spre pagina de pornire


Butonul spre pagina de pornire este reprezentat grafic ca iconiță în forma unei case și
deschide pagina de pornire
Buton „Resetează”
Butonul „Resetează” golește celulele în grilă și resetează mesajul
Zona unde se afișează mesajele
În timpul jocului jucătorul primește anumite mesaje de ghidaj în această zonă și anume:
 Ne pare rău, ai pierdut!
 Felicitări, ai câștigat!
 E rândul tău!
 Egalitate!

18
3) Pagina mod joc „doi jucători”
Pagina mod joc „doi jucător” oferă utilizatorului o zonă de joc cu adversar fizic în care
jucătorii sunt înștiințați prin mesaje starea jocului(pierdere, câștig, egalitate și rândul a cărui
jucător).

Figura 14. Pagina mod joc „doi jucători”

Buton spre pagina de pornire


Butonul spre pagina de pornire este reprezentat grafic ca iconiță în forma unei case și
deschide pagina de pornire
Buton „Resetează”
Butonul „Resetează” golește celulele în grilă și resetează mesajul
Zona unde se afișează mesajele
În timpul jocului jucători primesc anumite mesaje de ghidaj în această zonă și anume:
 Jucătorul ... a câștigat!
 Rândul jucătorului: ... !
 Egalitate!

19
4. Proiectare algoritm logic de lucru al aplicației

 Structura datelor din grilă


Grila este reprezentată ca un tabel cu 3 rânduri și 3 coloane. Elemntele grilei sunt:
 Celulă goală(Figura 9)
 "X" reprezentând playerul X(Figura 10)
 "O" reprezentând playerul O(Figura 11)

Figura 15. Celule goale

Figura 16. Celula cu iconița ce reprezintă jucătorul „X”

Figura 17. Celula cu iconița ce reprezintă jucătorul „O”

20
 Functia ce returnează rezultatul
Stabilim urmăoarele posibilie evenimente finale:
 Jucătorul X a câștigat
 Jucătorul O a câștigat
 Egaliatate
Funcția verifică după fiecare mișcare dacă valorile din grilă sunt egale cu una din
combinațiile câștigătoare, în cazul unei câștig funcția returnează ultimul jucător care a introdus
valoare și îl afișează ca câștigător sau ân caz contrar returnează egalitate.

21
Bibliografie
https://www.w3schools.com/html/default.asp
https://www.w3schools.com/css/default.asp
https://www.w3schools.com/js/default.asp
https://www.w3schools.com/jquery/default.asp
https://www.w3schools.com/bootstrap4/default.asp

https://getbootstrap.com/docs/4.2/getting-started/introduction/
http://docs.phonegap.com/
https://cordova.apache.org/docs/en/latest/
https://en.wikipedia.org/wiki/Android_application_package

https://tobiasahlin.com/spinkit/
https://feathericons.com/
https://ro.wikipedia.org/wiki/X_%C8%99i_0
https://ro.wikipedia.org/wiki/Android_(sistem_de_operare)

22

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