Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Satisfactia de a face ce iti place. tutorial, lectii online, solutii simple, exmeple, programe, C++

Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
» Programarea unui joc in c++ - Proiect de Licenta


Programarea unui joc in c++ - Proiect de Licenta


UNIVERSITATEA ROMANO-AMERICANA

Facultatea Informatica Manageriala

Tema:

Programarea unui joc in c++

Proiect de Licenta

Profesor indrumator:

INTRODUCERE

Aparitia si evolutia limbajului C

Aparitia limbajului C a fost precedata si anuntata de diverse incercari de a construi un limbaj care sa corespunda cerintelor aparute o data cu dezvoltarea calculatoarelor: portabilitate, usurinta in folosire, libertate de exprimare, text sursa compact etc. Motorul cercetarilor a fost dezvoltarea unui nou sistem de operare: UNIX. Evolutia limbajului si a sistemului de operare a avut loc in paralel, fiecare impulsionand dezvoltarea celuilalt. Se considera ca C a fost creat special pentru sistemele de operare din familia UNIX. De fapt C este un rezultat al experientei acumulate in aceste cercetari, chiar daca este considerat un limbaj de autor.

In 1969 a fost lansat limbajul BCPL (Basic Combined Programming Language), conceput la Universitatea Cambridge. Era un limbaj dependent de structura masinii pe care era folosit si nu avea conceptul de tip de data – datele se reprezentau binar, pe cuvinte de memorie. In multe cercuri anul 1969 este considerat anul aparitiei limbajului C.

In 1970 a aparut o forma mai avansata, limbajul B, utilizat sub sistemul de operare al calculatoarelor DEC PDP. Numele limbajului este o prescurtare a acronimului BCPL.

In 1978 Dennis Ritchie si Brian Kernighan si-au finalizat cercetarile publicand The C Programming Language (Limbajul de programare C), care este limbajul cunoscut astazi. Limbajul a fost denumit astfel pentru ca C este litera care urmeaza dupa B. Lucrarea lui Kernighan si Ritchie este considerata momentul oficial al aparitiei limbajului C.

Dupa aparitia limbajului C au existat incercari de imbunatatire, dar fara ca vreuna sa produca un impact asemanator. Dennis Ritchie a propus diverse variante, mulate pe noile versiuni de UNIX (intre acestea K&R C, creat pentru sistemul UNIX de pe masinile DEC PDP).

In perioada urmatoare, pornind de la specificatiile limbajului, s-au creat numeroase compilatoare C, fiecare aducand propriile diferente fata de limbajul initial, ajungandu-se la variante foarte mult diferite unele fata de altele. In acest fel s-a pus in pericol ideea initiala de portabilitate. Ca urmare, in 1988 Comitetul pentru limbajul C al Institutului National de Standardizare al SUA (ANSI) a impus un standard cunoscut drept ANSI C. Acesta este implementat in toate versiunile de compilatoare ulterioare. O data cu acest standard legatura implicita cu sistemul UNIX a disparut, limbajul fiind disponibil pe orice platforma.

In paralel cu activitatea comitetului ANSI C, au existat si alte dezvoltari. Bjarne Stroustrup de la AT&T a propus extensia C++ (C imbunatatit, extinzand semnificatia operatorului de incrementare ++ din C). Impactul extensiei este aproape la fel de mare ca al limbajului initial, astfel incat ea a devenit cea mai populara forma a limbajului, fiind prezenta in toate implementarile curente. Pornind de la C++ s-au incercat si alte extensii. Joel E. Richardson, Michael J. Carrey si Daniel T. Schuh de la Universitatea Wisconsin Madison au propus limbajul E. Acesta este proiectat pentru crearea de programe de sistem, in general, si de sisteme de gestiune a bazelor de date, in particular. Una din facilitati este crearea si utilizarea obiectelor persistente.

Bell Laboratories a propus in paralel limbajul O, echivalent limbajului E. Pentru a veni in intampinarea solutiilor de calcul distribuit, a fost creat limbajul Avalon/C++. Aventura dezvoltarii limbajelor de programare continua.

Desi multi il considera mai mult un limbaj de asamblare independent de masina decat un limbaj de nivel inalt, legatura sa stransa cu sistemul de operare UNIX, raspandirea de care se bucura si standardizarea sa de catre ANSI (American National Standards Institute) au facut ca el sa se apropie cel mai mult, probabil, de obiectivul unui limbaj de programare standard pe piata microcalculatoarelor si a statiilor de lucru. C este un limbaj compilat care contine un mic set de functii incorporate, dependente de masina. Celelalte functii sunt independente de masina si sunt incluse in librarii accesibil din programe. Programele scrise in C sunt alcatuite din una sau mai multe functii definite de programator; astfel, C este un limbaj de programare structurat.

C este un limbaj de programare popular, utilizat de multe ori pentru a scrie compilatoare si sisteme de operare. Aproape toate aplicatiile proiectate pentru a usura comunicatiile pe Internet sunt scrise in C. Intr-adevar, atat sistemul de operare UNIX (care este structura de baza a Internetului), cit si TCP/IP (suita de protocoale folosita pentru transportul datelor pe Internet) au fost dezvoltate in C. Nu este nici o exagerare sa spunem ca, daca limbajul C nu ar fi aparut, nu ar fi aparut nici Internetul, asa cum il stim acum.

Pentru majoritatea utilizatorilor fara inclinatii tehnice, limbajele de programare reprezinta lucruri complexe si ciudate. Totusi, limbajele de programare (si programatorii) sunt insasi instrumente cu ajutorul carora se construiesc programele de calculatoare (cunoscute de obicei sub numele de aplicatii). Poate veti gasi interesant sa aflati ca, daca folositi un calculator personal sau o statie de lucru, mai mult de jumatate dintre aplicatiile utilizate au fost scrise in C. (Acest lucru este adevarat pentru toate platformele larg raspandite, inclusiv Macintosh). In acest articol, doresc sa discut pe scurt despre C si sa aduc un omagiu celor care au ajutat la dezvoltarea sa. Aceste persoane, impreuna cu Paul Baran, Ken Thompson si cativa altii, sunt 'bunicii' Internetului. C a fost creat la inceputul anilor '70 de Dennis M. Richie si Brain W. Kernighan. Acestia sunt responsabili pentru majoritatea tehnicilor avansate care au dus la formarea Internetului modern.

C a fost de-a lungul anilor folosit pentru a creea toate tipurile de programe pentru o gama larga de platforme. Multe aplicatii Microsoft Windows au fost scrise in C. In mod asemanator, asa cum voi explica mai tarziu in acest capitol, aproape toate utilitarele UNIX de baza sunt scrise in C.

Pentru a genera programe scrise in C, trebuie sa aveti un compilator C. Compilatoarele C sunt disponibile pentru majoritatea platformelor. Unele dintre acestea sunt produse comerciale, iar altele sunt gratuite.

Un avantaj principal al limbajului C este acela ca este mai mic decat multe alte limbaje de programare. O persoana cu pregatire medie poate invata C intr-o perioada de timp rezonabila. Un alt avantaj este acela ca C a devenit acum un standard national. Astfel, un programator poate invata C si apoi isi poate aplica cunostintele pe orice platforma, oriunde in tara (N.T. Chiar si oriunde in lume)

Limbajul C are o legatura directa cu dezvoltarea Internetului. Asa cum am explicat, majoritatea implementarilor moderne de TCP/IP sunt scrise in C, iar acest set de protocoale sta la baza transportului de date pe Internet. Mai mult, limbajul C a fost folosit la scrierea sistemului de operare UNIX, care a reprezentat, de multi ani, cel mai folosit sistem de operare in Internet.

C are si alte avantaje: unul dintre ele este portabilitatea. Poate ati mai intalnit pe Internet texte care anunta ca un program sau altul a fost portat pe un alt sistem de operare sau pe alta platforma si probabil ca multi dintre dumneavoastra nu stiu exact intelesul acestui termen. Portabilitatea se refera la capacitatea unui program de a fi reconstruit pentru a functiona pe o alta platforma decat cea pentru care a fost initial construit (de exemplu, posibilitatea de a lua un program scris pentru Microsoft Windows si a-l porta pe o platforma Macintosh). Acest aspect al portabilitatii este foarte important, mai ales intr-un mediu cum este Internetul, deoarece in Internet functioneaza mai multe tipuri de sisteme. Pentru ca un programator sa poata functiona oriunde in retea, acesta trebuie sa se poata adapta usor pe toate platformele.

Spre deosebire de programarea in alte limbaje, codul C este foarte portabil. Ganditi-va de exemplu la Visual Basic. Visual Basic este un minunat instrument pentru dezvoltarea rapida de aplicatii (N.T. RAD – Rapid Application Development), cu care se pot construi programe ce ruleaza pe orice platforma Microsoft. Totusi, cam aceasta este tot ceea ce poate sa faca. Nu puteti lua codul sursa al unei aplicatii VB si sa il recompilati pe o masina Macintosh sau pe un Sun SPARCStation.

In schimb, programele C pot fi portate pe numeroase platforme. Astfel, programele C disponibile pe Internet sunt aproape intotdeauna distribuite sub forma de sursa (cu alte cuvinte, ele sunt distribuite sub forma de text clar, intr-o forma inca necompilata). Aceasta permite utilizatorului sa-si compileze programul pentru propriul sistem de operare.

In ciuda acestor minunate caracteristici, C are anumite limitari. De exemplu, C nu este un limbaj orientat spre obiecte. Administrarea unor programe foarte mari in C (in care codul depaseste 100.000 de linii) poate fi foarte dificila. Din acest motiv, a fost creat C++. C++ isi are radacinile in C, insa functioneaza diferit. Trebuie sa retineti ca C++ este inclus ca optiune in majoritatea compilatoarelor C moderne.

C++ este o versiune orientata spre obiecte a limbajului de programare C, elaborata de Bjarne Stroustrup la inceputul anilor 1980 la Bell Laboratories si adoptata de mai multi producatori, printre care si Apple Computer si Sun Microsystems, Inc.

C++ este un limbaj de programare extrem de puternic, care a condus la schimbari radicale in ceea ce priveste modul de programare. C++ permite incapsularea functiilor complexe in entitati denumite obiecte. Aceste obiecte permit un control si o organizare mai usoara in cazul unor programe mari si complexe.

Despre jocuri

Jocurile pentru computer constituie o categorie de aplicatii software care este destinata distractiei. De la aparitia acestora, in lumea computerelor, in anii 1970, pana astazi, industria a evoluat, astfel ca putem vorbi cu usurinta de multe evenimente de prezentare a jocurilor, cum ar fi E3 sau CeBit la nivel mondial sau CERF in Romania, precum si de cateva organizatii de jucatori profesionisti.

Exista mai multe tipuri de jocuri pe calculator:

  • RTS (Real Time Strategy - Strategie in timp real)
  • RTT (Real Time Tactics)
  • RPG (Role Playing Game)
  • TBS (Turn Based Strategy)
  • Simulatoare
  • Action
  • Adventure (aventura)
  • FPS (First Person Shooter)
  • TPS (Third Person Shooter)
  • MMO (Massive Multiplayer Online Game)
  • Arcade
  • Board/Card Games (Joc de carti sau masa)

La unele tipuri de jocuri se poate adauga prefixul 'MMO', care inseamna 'Massively Multiplayer Online', reprezentand un joc care se poate juca numai online, in care sute de mii de jucatori joaca in acelasi timp, in aceeasi lume. Cele mai multe MMO-uri sunt MMORPG-uri

Un joc video este un joc electronic in care se interactioneaza cu o interfata grafica pentru a genera raspuns vizual pe un ecran. Jocurile video in general au un sistem de recompensare a utilizatorului, de obicei se tine scorul, acest sistem depinzand de indeplinirea unor anumite obiective in joc.

Jocul Pac-Man conceput de firma Namco a fost un hit si a devenit un adevarat fenomen cultural. Jocul a lansat un desen animat si cantece pop, devenind unul dintre cele mai copiate jocuri din toate timpurile

Fig. 1 : Jocul Pac-Man conceput de firma Namco a fost un hit si a devenit un adevarat fenomen cultural. Jocul a lansat un desen animat si cantece pop, devenind unul dintre cele mai copiate jocuri din toate timpurile

Termenul joc pe calculator sau 'joc pe PC' se refera la un joc care este jucat pe un PC, unde monitorul este principalul mijloc de feedback si care foloseste dispozitiv de control un periferic de intrare, de obicei butonarea unui joystick (jocuri din arcade-uri), o combinatie tastatura & maus/trackball sau un controller, ori o combinatie dintre cele de mai sus. Jocuri pe calculator sunt denumite si jocurile in mod text sau jocuri care folosesc si alte metode care includ sunetul sau vibratia ca principalul mijloc de feedback, dar in momentul actual apar prea putine jocuri noi care intra in aceste categorii.

Termenul 'Joc pentru consola' se refera la un joc care este jucat pe un sistem conceput special pentru aceasta, sistem care poate fi conectat la un televizor sau la un monitor. Denumirea de 'joc video' poate fi folosita si pentru a descrie software facut si pentru alte dispozitive: telefoanele mobile, PDA, calculatoare stiintifice performante, ceasuri electronice, camere video digitale, aparate foto digitale, MP3 playere.

Primele jocuri video au fost realizate intre anii 1950 si 1960 de Jon Snell si rulau pe platforme cum ar fi osciloscopul, sau computere EDSAC. Cel mai vechi joc pe calculator, o simulare de rachete, a fost creat in 1947 de catre Thomas T. Goldsmith Jr. si de Estle Ray Mann. O cerere pentru acordarea de drepturi de autor a fost facuta pe 25 Ianuarie 1947 si patentata ca U.S. Patent #2,455,992 din data de 14 decembrie 1948. Mai tarziu in 1952, o versiune a jocului X si 0 numita „Noughts and Crosses a fost creata de A. S. Douglas ca parte a disertatiei de doctorat la Universitatea din Cambridge. Jocul rula pe un computer al universitatii numit Electronic Delay Storage Automatic Calculator (EDSAC). In 1958 William Higinbotham - care a ajutat sa se construiasca prima bomba atomica - a creat Tennis For Two in laboratoarele nationale din Brookhaven, situate in Upton, New York, pentru a distra vizitatorii laboratorului. In 1962 Steve Russel a creat jocul Spacewar!, un joc de simulare spatiala. Programul rula pe un DEC PDP-1 si este considerat de multi specialisti atat primul joc pentru calculator cat si printre cele mai importante realizate vreodata. Jocul s-a raspandit rapid la universitati si laboratoare de cercetare din tara. In 1968 Ralph Baer, care va fi cunoscut mai tarziu si ca Parintele Jocurilor Video, a patentat o versiune a unei console de jocuri numita Television Gaming and Training Apparatus. In 1967, Baer a creat un joc gen ping-pong pentru consola care semana cu Tennis for Two (si cu viitorul joc arcade Pong). A lucrat cu Magnavox si a creat in 1972 prima consola, numita Magnavox Odyssey.

Jocurile Arcade au fost dezvoltate in anii '70 si datorita usurintei utilizarii au capatat o popularitate imensa ceea ce a dus la perioada de aproximativ un deceniu numita si epoca de aur a jocurilor Arcade. Primul joc arcade coin-operated (functiona doar cu bani) a fost Computer Space, creat in 1971 de Nolan Bushnell. In acele timpuri, inainte de aparitia salilor de jocuri (numite arcade-uri), jocurile electronice erau puse in baruri si taverne. Gradul ridicat de complexitate si faptul ca jocul necesita ca utilizatorul sa citeasca un set de instructiuni inainte sa se joace, a dus la o popularitate foarte scazuta in aceste locatii, asa ca Nolan s-a vazut nevoit sa caute noi idei.

Pong a adus jocurile video in viata de zi cu zi

Fig. 2 : Pong a adus jocurile video in viata de zi cu zi

In primavara lui 1972, Bushnell a fost prezent la o demonstratie a sistemului Magnavox Odyssey in California si a jucat jocul de ping-pong al lui Baer pentru prima data. La putin timp dupa aceasta el si cu inca un prieten, Ted Dabney, au format o companie numita Atari (prietenul a fost acelasi care a avut ideea pentru restaurantele Chuck. E. Cheese) apoi au angajat un inginer electronist pe nume Al Alcorn ca designer principal. Initial Al trebuia sa lucreze la un joc de curse dar din cauza complexitatii Nolan a decis ca Acorn sa construiasca un joc de ping-pong, o copie dupa jocul Tenis al consolei Odyssey. Jocul era asa de distractiv incat Nolan a decis ca sa il comercializeze, dar din cauza ca dispozitivul avea numele Ping-Pong care era deja folosit, s-au multumit sa il numeasca PONG. Interfata intuitiva a dus la succesul in baruri a jocului si a initiat era jocurilor arcade.

In anii '70 a avut loc lansarea primei console de jocuri. Patentul pentru Magnavox Odyssey creata de Baer a fost acordat in 1972 si a batatorit calea pe care o vor urma consolele urmatoare. Pentru o vreme companiile cu produse similare (inclusiv Atari) au fost nevoite sa plateasca licenta. Odata cu aparitia versiunii de acasa a PONG (la inceput sub egida Sears Tele-Games), in preajma Craciunului anului 1975, popularitatea jocurile video a crescut. Succesul jocului PONG a facut sa apara sute de clone.

La primele console, codul masina pentru unul sau mai multe jocuri se facea cu ajutorul logicii discrete si era codat direct in microcipuri, așa ca alte jocuri aditionale nu puteau fi rulate. In anii '70 jocurile au inceput sa fie distribuite si cu ajutorul casetelor. Programele erau stocate pe chip-uri ROM care erau montate in casete de plastic, acestea putand fi introduse in sloturile de pe console. Atunci cand casetele erau introduse, microprocesoarele din console citeau din memoria casetei apoi rulau programul stocat.

Trei sisteme au dominat era consolelor de a doua generatie in America de Nord, acestea avand vanzari cu mult mai mari ca acele ale produselor rivale:

  • In 1977, Atari a lansat consola pe baza de caseta: Video Computer System (VCS), ulterior denumita Atari 2600. Noua jocuri au fost lansate pentru sezonul sarbatorilor, multumita acestora ajunge sa fie una dintre cele mai populare console a primelor generatii.
  • Intellivision, a firmei Mattel, lansata in 1980. Desi cronologic parte a ceea ce se numeste era pe 8 biti, Intellivison avea un procesor unic, cu instructiuni pe 10 biti  (odata cu marirea numarului de biti se ajungea la o viteza sporita si exista o varietate mai mare de instructiuni) si registrii pe 16 biti. Sistemul avea o grafica superioara consolei de la Atari, acest lucru ajutand Intellivion sa devina foarte populara.
  • Colecovision, o consola si mai puternica decat restul sistemelor disponibile a aparut pe piața in 1982. Vanzarile sistemului au crescut, dar din cauza prezentei a trei mari console pe piata si aparitia unei multitudini de jocuri de calitate scazuta ce aveau sa umple pana la refuz rafturile magazinelor, piata se va prabusi la numai un an dupa lansare.

In 1979, compania Activision a fost creata de fosti programatori de la Atari, nemultumiti de politica firmei. A fost prima companie dezvoltatoare de jocuri.

In 1983 a avut loc o scadere brusca a popularitatii jocurilor numita si video game crash of 1983 care a fost provocata de suprasaturarea pietei din cauza calitatii foarte proaste a jocurilor oferite de terti, in special cele pentru sistemele Atari.

Consola Nintendo Entertainment System (NES) al firmei Nintendo a ajuns in America de Nord in 1985 si de una singura a adus in prim plan piata de consum pentru acasa. Sega a lansat imediat dupa, consola proprie numita Sega Master System, dar acest sistem nefiind capabil sa ajunga la nivelul de popularitate al NES. Nintendo a continuat si a creat unele dintre cele mai cunoscute personaje din jocuri cum ar fi Mario Bros. sau Wario si alte francize, multe dintre ele inca pastrandu-si popularitatea chiar si in ziua de astazi. Unul dintre factorii majori ai notorietatii a fost ca Nintendo a restrictionat suportul pentru terti, limitand numarul de jocuri pe care le puteau ei produce (numai 5 jocuri pe an). Nintendo a creat un Sigiliu de Aprobare (Seal of Approval), pentru a ajuta jucatorii sa aleaga jocurile ce indeplinesc standardul impus de Nintendo.

Ultimele doua decenii de istorie a jocurilor video au fost marcate de piete separate pentru jocuri pe consola, PC si pentru console portabile. In 1989, Nintendo a lansat Game Boy, prima consola portabila si au distribuit jocul de puzzle Tetris impreuna cu sistemul, pentru ca Nintendo a crezut ca un joc de puzzle va aduce mai multi consumatori. Aproape in acelasi timp au aparut alte console portabile, printre care Sega Game Gear si Atari Lynx, care desi mai performante, aveau o durata a bateriei redusa si mai putine jocuri decat Game Boy. In timp ce productia altor sisteme portabile a ramas activa pana la mijlocul anilor '90, Game Boy a ramas in topul vanzarilor de-a lungul vietii sale.

Piata nord americana a fost dominata  de Sega Genesis imediat dupa debutul ei in 1989. Sistemul SNES s-a dovedit a fi un rival foarte puternic inca de la aparitia lui in 1991. TurboGrafx 16 al NEC a fost primul sistem pe 16 biti comercializat in America de Nord, dar din cauza lipsei unei game variate de jocuri in limba engleza si a strategiei de marketing excelente a celor de la Sega,nu a avut succes la publicul american. In Japonia s-a intamplat exact contrariul, Turbografx 16 (in Japonia era consola era numita PC Engine) a avut mai mult succes ca Famicom (SNES) sau ca Mega Drive (Genesis).PC Engine a pierdut intr-un final pozitia de lider in fata Super Famicom dar datorita numarului mare de utilizatori fideli, producatorii au continuat sa lanseze jocuri pana la sfarsitul anilor 90.

Mortal Kombat,lansat pe SNES si Genesis in acelasi timp, a devenit una dintre cele mai populare francize ale tuturor timpurilor

Fig. 3 : Mortal Kombat,lansat pe SNES si Genesis in acelasi timp, a devenit una dintre cele mai populare francize ale tuturor timpurilor

Unitatile CD-ROM au aparut prima data pentru aceasta generatie de console, iar apoi pentru Mega Drive in 1991. Grafica 3D a aparut pentru prima data pe aceste console si era posibila doar cu ajutorul unor procesoare aditionale aflate in casetele cu jocuri.

Neo-Geo a fost cea mai scumpa consola la lansarea ei in 1990. Un atu al ei a fost o redare foarte buna a sunetului si o grafica 2D de inalta calitate, mult mai avansata decat a competitorilor, acest lucru datorandu-se hardware-ului care era acelasi ce se gasea in jocurile arcade ale firmei SNK.

In 1994-1995, Sega a lansat Sega Saturn si Sony a debutat  pe scena jocurilor video cu PlayStation. Ambele console foloseau tehnologia pe 32 de biti. Usa pentru dezvoltarea jocurilor 3D era deschisa. Dupa multe amanari, Nintendo a lansat consola pe 64 de biti, Nintendo 64 in 1996, vanzand mai mult de 1,5 milioane de unitati in doar trei luni. Jocul Super Mario 64 a devenit definitoriu pentru jocurile 3D de platforma. In 1996 avandu-si debutul pe PlayStation, PaRappa the Rapper a facut popular un nou gen de jocuri in Japonia, jocurile video muzicale, Dance Dance Revolution si Beatmania urmandu-i si devenind atractii omniprezente in arcade-urile Japoneze. Au fost cunoscute sub numele de jocuri Bemani, nume derivat din Beatmania.

Super Mario 64 a devenit definitoriu pentru jocurile 3D de platforma

Fig. 4 : Super Mario 64 a devenit definitoriu pentru jocurile 3D de platforma

Alte jocuri memorabile ale erei includ: GoldenEye 007 (1997) de pe Nintendo 64 care a fost aclamat de critici pentru inovatiile aduse si pentru ca a fost primul First Person Shooter (FPS) de succes pentru o consola. Trecerea seriei The Legend of Zelda de la 2D la 3D s-a facut prin jocul The Legend of Zelda: Ocarina of Time (1998), considerat unul dintre cele mai bune jocuri facute vreodata. Unul dintre jocurile populare de pe PlayStation a fost Metal Gear Solid (1998) care a pus bazele jocurilor de tip stealth.Pana la sfarsitul anilor 90, Sony a devenit un competitor de temut pe piata jocurilor video.

Sega Dreamcast, lansata in 1998 avut succes in Japonia dar a avut vanzari dezamagitoare in America de Nord, constrangand Sega sa se retraga de pe piata consolelor. PlayStation 2 aparuta in anul 2000 a fost a doua consola din generatia pe 128 biti care s-a lansat apoi urmandu-i in 2001 Nintendo GameCube si Microsoft Xbox. Aceasta generatie de console s-a remarcat prin controversele majore pe care le-a provocat din cauza jocurilor cu continut mare de sex, crima, violenta, consum de droguri, propaganda sociala, cat si subiecte divergente de genul religiei, politicii, feminismului si economiei.

111.25 milioane de exemplare de Playstation 2 au fost vandute in intreaga lume

Fig. 5 : 111.25 milioane de exemplare de Playstation 2 au fost vandute in intreaga lume

1998

           Dance Dance Revolution este lansat in Japonia.

           Nintendo lanseaza Game Boy Color.

           Connectix Corporation lanseaza Virtual Game Station, un emulator de PlayStation. Sony a pierdut procesul lansat contra firmei Connectix. Compania Bleem lanseaza Bleem!, un alt emulator de PlayStation.

2000

           Sony lanseaza PlayStation 2.

           The Sims a fost lansat. A fost un hit instant si a devenit cel mai bine vandut joc pe calculator al tuturor timpurilor, depasind Myst.

2001

           Nintendo lanseaza GameCube si succesorul Game Boy Color, handheld-ulGame Boy Advance.

Fig. 6 : Xbox, tichetul de intrare a firmei Microsoft pe piata consolelor.

Xbox, tichetul de intrare a firmei Microsoft pe piata consolelor.

           Microsoft intra in industria jocurilor video lansand consola Xbox. Jocul de capatai, Halo, este disponibil la lansarea sistemului.

           Sega anunta ca nu vor mai fabrica hardware si discontinua consola Dreamcast. Cu toate acestea pe Dreamcast au continuat sa se publice jocuri destinate gamerilor inraiti ca shootere arcade, aventuri grafice sau software homebrew.

           Grand Theft Auto III este lansat.

2002

           Sega devine dezvoltator tert si lanseaza jocuri pentru toate celelalte console si pentru PC.

2003

           Infogrames, firma ce detinea proprietatea intelectuala companiei Atari isi schimba numele in Atari.

           Nintendo lanseaza mult imbunatatitul Game Boy Advance SP in Martie.

           Nokia intra pe piata consolelor handheld cu hibridul consola-telefon N-Gage, pe 7 Octombrie.

           PS2 Linux Kit este lansat

2004

           Halo 2 devine cel mai bine vandut joc pe consola Xbox.

2005

           Resident Evil 4 pentru Nintendo GameCube este considerat de critici cel mai bun joc al anului

2006

           Sony anunta oprirea fabricarii PSOne in Martie

           Reggie Fils-Aime devine presedintele firmei Nintendo of America pe 25 Mai, 2006

           PlayStation ajunge sa fie prima consola care se vinde in 103 milioane de exemplare

Prezent

Pe primul loc in topul vanzarilor din actuala generatie de console este Nintendo Wii care a revolutionat gaming-ul datorita controller-ului neobisnuit in forma de o telecomanda dotat cu senzori de miscare. Noua consola de la Sony: PlayStation 3 are un atribut valoros prin optiunea de instalare a unei distributii de Linux ca sistem de operare, acest lucru fiind exploatat de comunitatea de gameri prin emularea mult mai simla a consolelor mai vechi. Xbox360, consola fabricata de Microsoft are ca avantaj ca a fost lansata inaintea celor de mai sus, astfel detinand o gama variata de jocuri.


CAPITOLUL   I

Analiza sistemului existent in cadrul
SC RAMDYNAMIC CONSULTING SRL (RaM)

1.1 Prezentarea societatii

            RaM a aparut ca o necesitate pe piata IT, deoarece nu multe sunt firmele care ofera solutii la cheie si, in special, conforme cu necesitatile clientilor. Este bine stiut faptul ca fiecare societate care se dezvolta are nevoie de un sistem informatic pentru a-si putea dezvolta activitatea in conditii optime de munca si profit.

            Chiar daca este o firma nou infiintata, octombrie 2007, RaM a reusit sa se impuna pe piata locala prin lucrari bine executate, livrate la timp si in stare buna de functionare. Impresionant este faptul ca, in ciuda faptului ca nu este un nume cunoscut, RaM, este si va fi un pion important in dezvoltarea aplicatiilor la cheie.

           

            Un raport prezentat de catre o companie,in care erau analizate cateva proiecte si stadiile lor de finalizare, a constatat ca:

l      2% din sistemele software contractate au functionat de la predare

l      3% din sistemele software au putut functiona dupa cateva modificari

l      29% au fost predate, dar n-au functionat niciodata

l      19% au fost folosite dar au fost abandonate

l      47% au fost platite dar niciodata predate.

            RaM se incadreaza, in mod cert in cei 3%, si nu spun asta doar ca lauda, ci o pot confirma si beneficiarii aplicatiilor livrate de RaM in cele cateva luni de existenta.

            RaM isi desfasoara activitatea in domeniul IT si are pana in prezent un numar de 5 persoane angajate cu carte de munca, 7 colaboratori part-time si 3 firme in parteneriat.

1.2                       Obiectul de activitate al societatii

RaM insoteste intotdeauna vorbele cu faptele, iata cateva dintre elementele menite sa ne recomande drept un partener de incredere:

-          Consultanta gratuita pentru alegerea solutiei potrivite pentru afacerea fiecaruia ;

-          Proiectele oferite sunt utile, functionale si intuitive ;

-          Avem o echipa de web designeri, programatori cu experienta in domeniu si studii de specialitate ;

-          Originalitatea lucrarilor oferite, fiecare proiect va fi ales de client din propunerile de design nou;

-          Capacitatea de a onora comenzile la termenele stabilite ;

-          Tehnologiile pe care le folosim :

§         Web: Html, CSS, JavaScript, Dreamweaver, Fireworks, Flash, Photoshop, ActionScript, XML, Corel Draw, Php, MySql, 3D MAX

§         Programare :  JAVA, Delphi, C #, J Builder

            RaM vrea sa isi impuna stilul pe piata IT prin crearea de aplicatii Workstation si Server, destinate firmelor mici si mijlocii, care sa usureze munca si dezvoltarea afacerii.

            Aplicatiile de tip CRM sunt la mare cautare si  prezinta un real interes in randul tinerilor patroni dornici de o dezvoltare rapida si sigura a afaceriilor.

            Oricat de multe firme de IT ar exista, mai e loc pentru una in  plus. Ceea ce va face diferenta in viitor sunt : perseverenta, calitatea, simplitatea si detaliul. Da, “simplitatea si detaliul” nu e o prostie ci e un vis devenit realitate. Cu cat mai simplu este de utilizat un soft cu atat este mai atractiv, cu cat are mai multe detalii cu atat el devine mai iubit, si asta isi propune RaM in viitorul apropiat: sa creeze softuri pe care utilizatorii sa le iubeasca.

                       

            Plecand de la sloganul : ”Noi iti dam ideea !” RaM vrea sa fie iubit in randul utilizatorilor de PC.

            Achizitiile de inceput ale lui RaM au fost un spatiu de 50 mp, 2 masini, 3 laptopuri performante si 2 desktopuri, totul pentru o buna desfasurare a activitatii de creatie.

            In cel mai scurt timp urmeaza dezvoltarea personalului si imbunatatirea cunostintelor acestora prin promovarea unor cursuri de aprofundare in domeniu.

            Oferta de servicii a lui RaM este:

            -   Publicitate online

            -   Pagini Web

            -   Brand Identitate (creatie)

            -   Media

            -   Print (Design)

            -   Aplicatii CRM, ERP, PDM

            -   Jocuri JAVA

            Bineinteles ca nu toate activitatile sunt desfasurate in cadrul firmei sau de catre firma, dar reteaua de colaboratori e foarte buna si in continua dezvoltare, asta pentru a satisface toate dorintele clientilor pretentiosi sau a celor care duc lipsa echipamentelor de specialitate.

            Iata cativa din colaboratorii lui RaM:

-          Firma de publicitate online, care preia site-ul firmei careia RaM i-a creat aplicatiile si ii face o promovare astfel incat site-ul sa aduca de la sine beneficii si lui RaM si firmei posesoare de soft realizat de RaM .

-           Ce ofera o astfel ce colaborare:

§         Cea mai rapida si accesibila metoda de promovare a afacerii

§         Confera o vizibilitate ridicata, conducand la cresterea numarului de clienti

§         Compania Dvs. poate intra pe piete noi la un cost mult mai mic fata de cel al metodelor de marketing traditionale

§         Targetare foarte buna pe segmentele de utilizatori vizati - ex.: se poate alege zona geografica in care vor aparea reclamele (pe tari)

§         Eficienta

§         Costuri scazute

§         Se platesc fie afisarile, fie click-urile

§         Obtinerea unui feedback rapid

§         Campaniile sunt online imediat ce a fost configurata campania.

§         Control

§         Clientul poate stabili suma maxima pe care vrea sa o aloce (zilnic, lunar)

§         Transparenta

§         Suma de plata se poate vedea pe rapoartele generate

§         Instrument de cercetare marketing

§         Posibilitatea masurarii exacte a rezultatelor, pe toata durata campaniilor - ex: numarul de utilizatori care cauta zilnic cuvintele cheie din domeniul respectiv

§         Obtinerea de rapoarte si clasamente pe cautari, click-uri

-          Firma de service care asigura echipamentele HARDWARE atat lui RaM cat si clientilor acestuia, clienti care fie vor sa-si dezvolte/innoiasca echipamentele, fie nu poseda sisteme performante care sa poata rula in conditii optime aplicatiile furnizate de RaM.

-          Firma de intretinere care asigura service-ul soft-ului furnizat de RaM , chiar daca pare o activitate care intra in atributiile lui RaM, ei bine, s-a dovedit in studii de piata ca e mai productiva munca in parteneriate de acest fel. Se creeaza in acest fel dependenta intre firme si automat se poate asigura si un flux mai mare de munca, astfel incat afacerea sa se dezvolte benefic tuturor partilor implicate.

            Colaboratorii pe diverse domenii de activitate au un rol important, in special in domeniul graficii acolo unde nu este la fel de munca ca si crearea in sine a aplicatiei. Se stie foarte bine ca,  web design-ul induce programarea si realizarea site-ului web; acelasi mecanism se foloseste si la reaplicarea programelor CRM, dar nu se aplica si la JOCURI.

            La jocuri problema este ca, odata ce se intampina dificultati in dezvoltarea jocului designer-ul are un rol la fel de mare ca programatorul, unul fara celalalt nu duce la nimic bun, ci din contra poate duce la blocarea dezvoltarii jocului, ceea ce ar produce imense pierderi firmei.

 

1.3. Studiul sistemului de conducere

1.3.1 Organizarea societatii beneficiare

            In cadrul RaM este usor de vorbit de organizarea societatii la nivelul conducerii. Trebuie mentionat faptul ca toti membrii firmei au varsta sub 30 de ani si chiar daca sunt doar 5 persoane angajate cu carte de munca, exista urmatoarea structura departamentala:

-          Domeniul Administrativ

-          Departamentul Economic/Vanzari

-          Departamentul Tehnic

o       Design

o       Programare

o       Testare/Finalizare

Pentru o mai simpla intelegere urmariti diagrama urmatoare:

cu      .     .    am marcat structura ierarhica a responsabilitatilor

cu            .    am marcat nivelele de comunicare interdepartamentala


1.3.2 Studiul sistemului de conducere

Conducerea firmei este reprezentata de Administratorul firmei care asigura politica economica si comerciala a firmei si care decide asupra activitatii societatii.

In general fiecare angajat cu carte de munca are si o fisa a postului anexata , conform modelului din Anexa 1.

Atributiile si obligatiile pentru personalul de conducere sunt:

Directorul General

-          verifica activitatea desfasurata de membrii firmei si analizeaza rezultatele acestora

-          studiaza piata si propune campanii de publicitate in conformitate cu cerintele pietei

-          dispune angajarea noului personal, desemneaza persoanele responsabile de anumite departamente;

-          impreuna cu sefii depatamentelor imediat inferioare anunta si executa inspectii

Director De Departament Economic / Vanzari

-          informeaza Directorul General de realizarea si de rezultatele analizelor economice

-          raspunde de organizarea si coordonarea activitatilor in domeniul financiar-contabil, desfasurate in cadrul societatii

-          raspunde de elaborarea proiectului bugetului de venituri si cheltuieli pentru anul care incepe

-          urmareste si asigura realizarea bugetului de venituri si cheltuieli aprobat, colaborand cu ceilaiti directori si cu sefii de departamente din cadrul firmei

-          coordoneaza si raspunde de aplicarea sistemului actual de evidenta contabila stabilit prin legislatia in vigoare

-          raspunde de depunerea in termen a documentelor necesare pentru eliberarea sumelor reprezentand salariile, recompensele si stimulentele banesti ale personalului societatii, acordate in limitele prevederilor legale

-          asigura intocmirea statelor pentru plata salariilor, stimulentelor si recompenselor catre angajatii si colaboratorii societatii, precum si efectuarea in sistem confidential al platii acestora

-          organizeaza si asigura evidenta veniturilor banesti realizate lunar din salarii si recompense, de fiecare angajat si colaborator, precum si a eventualelor debite ale acestora catre societate

-          raspunde de asigurarea gestionarii si securitatii mijloacelor banesti preluate la nivelul societatii, precum si de respectarea plafonului de casa in numerar, potrivit reglementarilor existente

-          verifica si asigura legalitatea actelor de banca si a operatiunilor de casa.

-          intretine relatia cu clientii prin informarea periodica in legatura cu modificarile intervenite in costul pachetului software pe care il dezvolta fima

-          indeplineste orice alte atributii stabilite in sarcina sa de catre Directorul General, prin fisa postului de munca

                                                                    

Directorul Departament Tehnic

-          controleaza personalul angajat cu privire la respectarea cadrului legal si a regulamentului de organizare si functionare;

-          aproba proiectele de sisteme de alarmare;

-          controleaza modul de executie a lucrarilor;

-          conduce activitatea de pregatire profesionala a personalului;

-          controleaza pastrarea confidentialitatii datelor detinute de personalul angajat cu privire la sistemele instalate.

-          asigura folosirea de echipamente certificate calitativ;

-          verifica si controleaza respectarea de catre personalul angajat  a proiectelor avizate, normativelor si standardelor profesionale din domeniu;

-          verifica proiectele aplicatiilor de sisteme;

-          verifica respectarea proiectelor aprobate de politie, cu ocazia montajului;

-          verifica calitatea executiei lucrarilor si conexiunilor echipamentelor componente pentru a asigura functiunile proiectate

-          executa cu responsabilitate lucrarile de verificare si testare a echipamentelor componente ale sistemelor in cadrul reviziilor periodice;

-          sa detina legitimatia de serviciu in obiectivele unde desfasoara activitati;

-          consemneaza in documentele specifice

1.3.3 Studiul sistemului condus

Personalul condus al firmei RaM este angajat de catre Directorul General in calitate de Manager (are in plus si functii administrative), si este reprezentat de un colectiv alcatuit din  5 angajati .

Structura personalului:

- pe grupe de varsta:

§         21-30 de ani - 5 persoane

- pe sexe:

§         femei   - 2 persoane

§         barbati - 3 persoane

- dupa pregatirea profesionala

§         cu studii superioare - 5 persoane

- pe grupe de profesiuni:

§         economisti - 1 persoane

§         tehnicieni nivel local - 2 persoane

§         soferi - 3 persoane

§         consultanti juridici - 1 persoane

§         secretare - 1 persoane

§         agenti de vanzari - 3 persoane

1.4 Analiza sistemului informational si a fluxurilor de date existente

1.4.1 Fluxul documentelor

  1. Lansarea unei oferte pe piata va aduce una sau mai multe comenzi, dar exista si posibilitatea de a nu aduce nici un client si atunci pentru a avea costurile cat mai scazute ofertele se lanseaza pe email si/sau fluturasi tipariti

  1. Pe baza unei comenzi efectuate pentru realizarea unei aplicatii IT, dupa care departamentul tehnic va calcula costurile necesare realizarii fie indoor fie outdoor.

  1. Clientul este anuntat, acesta fiind nevoit sa se prezinte la unul din punctele de lucru sau la sediu principal al firmei RaM.

  1. La sediul respectiv clientului ii este prezentata lista completa a serviciilor oferite de RaM, acesta putand sa isi aleaga unul sau mai multe aplicatii.

  1. Dupa discutiile pe care clientul le are cu unul din reprezentantii RaM  i se comunica calculul preliminar, se emite o factura fiscala si o  chitanta fiscala atasate intre ele care vor insoti un exemplar al contractului de realizare al aplicatiei IT, contract care se completeaza in doua exemplare, unul ramanand la client si unul la RaM.

  1. Dupa finalizarea aplicatiei si a incasarii integrale a sumei afisate, expira valabilitatea contractului si intra in vigoare contractul de intretinere.

  1. Se inregistreaza Facturile fiscale in contabilitatea societatii impreuna cu toate documentele emise.

1.4.2 Descrierea documentelor

          In cadrul firmei RaM circula urmatoarele tipuri de documente:

v     CONTRACT – document legal incheiat de comun acord intre 2 parti, prin care se stabileste obiectul contractului, conditiile si perioada pentru care este valabil contractul; (Anexa 2)

v     OFERTA – lista a produselor detinute de o persoana juridica si    destinate comercializarii, in care se specifica preturile aferente unei unitati de produs, descrierea produsului, conditiile de livrare si de plata; (Anexa 3)

v    FACTURA - document fiscal intocmit in trei exemplare (pentru cumparator, inregistrare in contabilitate si arhivare) la vanzarea sau cumpararea unor produse, specificand produsele, unitatea de masura, cantitatea, pretul unitar, valoarea si valoarea TVA; (Anexa 4)

v    CHITANTA FISCALA - este un document justificativ cu regim special de numerotare si inseriere emis de Ministerul Finantelor. Este documentul cu care se justifica incasarile si platile in numerar ; sta la baza inregistrarilor in Registrul de casa si se intocmeste in doua exemplare :

    primul se inmaneaza clientului platitor;

                            al doilea ramane la chitantier.

                 Tin sa mentionez ca firma RaM beneficiaza de o varianta a softului SAGA  C  (vezi www.sagasoft.ro) care permite tiparirea facturilor in regim propriu ,ele neavand elemente de identificare deosebite. Chitantele suporta si ele acelasi regim. Conform legilor in viguare din Romania este posibil acest lucru,  de valabilitatea facturilor si a chitantelor raspunzand institutiile abilitate in acest domeniu.


CAPITOULU L  II

PROIECTAREA DE ANSAMBLU A NOULUI SISTEM INFORMATIC

 

2.1     Definirea obiectivelor sistemului informatic

Obiectivele sistemului informatic sunt stabilite in urma unor investigatii complexe a starii si comportamentului sistemului economic printr-o analiza ce trebuie efectuata impreuna cu factorii de decizie de la toate nivelurile ierarhice ale unitatii.

In urma acestei investigatii pertinente si foarte realiste se vor identifica: punctele slabe si forte ale societatii, rezervele interne, precum si semnalarea eventualelor necorelari si contradictii care ar putea fi eliminate sau diminuate prin implementarea acestui sistem informatic.

Obiectivul prioritar pentru SC RAMDYNAMIC CONSULTING SRL ( RaM )  este acela al proiectarii si realizarii jocurilor pe calculator prin care:

1.      sa dezvolte imaginatia utilizatorilor;

2.      sa dezvolte abilitatile motrice ale utilizatorilor, prin implicarea realizarii mai multor actiuni simultane

3.      sa cucereasca piata utilizatorilor tineri si dornici de noutati in acest domeniu

4.      sa elimine pe cat posibil brutalitatea vizuala si de exprimare si sa creeze un joc intuitiv bazat pe cunostinte, agilitate si perspicacitate;

5.      sa creeze un joc superior celor anterioare si sa cuprinda multe elemente din realitatea inconjuratoare

2.2 Estimarea necesarului de resurse

Resurse hardware:

·         configuratia calculatoarelor (marimea memoriei interne, numarul si tipul de echipamente periferice si/sau terminale) si reteaua de calculatoare vor ramane aceleasi, deoarece noul sistem informatic nu necesita memorie interna suplimentara, fiind un real beneficiu minimalizand costurile noul sistem informatic

Resurse software:



·         noul sistem va fi integrat pe calculatoare ca software separat

·         in retea se va folosi acelai sistem de operare Windows Xp

Detalii:

-   2 servere. Specificatii:

Procesor: Intel Xeon

FSB: 1066MHz

Memorie: 2GB

Hdd: 2x146GB 10k SFF-SAS

Video: SA200i/128M

                  -   4 sisteme desktop. Specificatii:

                        Procesor INTEL, Core2Duo(1.86GHz, 4MB, FSB 1066)

Memorie: 1GB, DDR2/667

Hdd: 250GB, 7200rpm

Video: Integrated ATI RadeonŽ X1300 Graphics

      -   4 notebook. Specificatii:

            Dell Inspiron 1520 Black 1

            Display: 15.4'

            Tip Display: WXGA

            Rezolutie: 1280 x 800

            Procesor: INTEL Core 2 Duo T5250 1.5 Ghz

            Memorie: 1GB DDRII/667

            Hdd: 160GB 5400rpm SATA

            Frecventa FSB: 667 Mhz

            Video: nVidia GeForce Go 8400M GS 128MB

            Baterie: 6cell

            Webcam , Bluetooth , OMN

       -   2 Multifunctionale HP LaserJet

            Functii: Scanare/Imprimare/Copiator

            Format: A3

            Tehnologie: Laser

            Rezolutie optica scan: 600x600 DPI

Resurse umane:

·         2 programatori

·         2 designeri

·         1 scenarist

·         1 regizor

·         numarul de angajati va ramane acelasi dar se va mari numarul de colaboratori

·         personalul  departamentului Tehnic pentru intretinerea programului.

Resurse financiare:

·         se estimeaza la suma de 5000 euro pentru realizarea sistemului

·         cheltuielile lunare cu personalul existent pentru exploatarea sistemului informatic vor creste cu 100 euro pe persoana, necesari pentru situatii neprevazute.

2.3. Alegerea tehnologiilor de prelucrare

In functie de calitatea si dimensiunile resurselor alocate si a modului in care aceste resurse alocate sunt utilizate pentru satisfacerea cerintelor sistemului informatic, se va face alegerea tehnologiilor de prelucrare.

2.3.1.Caracteristicile unei  proiectari corecte

l      Rezultatele fazei de proiectare

l      Un model al codului care arata cum este implementat sistemul

l      O diagrama a dependentelor dintre module, care arata cum va fi divizat in module sistemul si cum interactioneaza acestea

l      Pentru module mai dificile, se includ specificatii speciale

l      Proprietati cheie pentru masurarea calitatii proiectarii

l      Extensibilitatea

l      Siguranta

l      Eficienta

2.3.2. Extensibilitatea

l      Proiectarea trebuie sa poata suporta noi functii

l      Modelul problemei trebuie sa reflecte caracteristicile generale ale problemei

l      Proiectarea trebuie sa fie localizata; modulele trebuie decuplate cat mai mult

2.3.3. Siguranta

l      Sistemul trebuie sa aiba un comportament sigur, care nu presupune doar lipsa „prabusirilor” sau a pierderii datelor, ci si faptul ca trebuie sa ruleze corect, asa cum se asteapta utilizatorul

l      Pentru sistemele distribuite, este importanta disponibilitatea

l      Pentru sisteme de timp real, este importanta sincronizarea

l      Siguranta nu poate fi introdusa usor intr-un sistem existent; cheia realizarii de produse sigure este modelarea si dezvoltarea atenta pe parcursul intregului ciclu de viata al produsului

2.3.4. Eficienta

l      Sistemul trebuie sa consume resurse in limite rezonabile

l      O proiectare mai economica poate fi preferabila uneia care indeplineste toate matricile de calitate dar este mai scumpa

l      Puncte cheie

l      Modelarea obiectelor (greu de modificat)

l      Evitarea tendentiozitatii (prin detalii de implementare)

l      Optimizarea (nu trebuie facuta scazand claritatea structurii)

Dupa ce s-au rezolvat, prin discutii si analize toate cele de mai sus urmeaza alegerea celei mai bune metode de dezvoltare a jocului. In cele ce urmeaza voi prezenta cateva din cele mai bune metode de dezvoltare a jocurilor.

            2.3.5.  Interfata jocului cu utilizatorul

Interfata grafica a unei aplicatii informatice trebuie sa indeplineasca urmatoarele conditii:

a) sa fie consistenta

cantitatea de informatie din interfata trebuie sa contina foarte multe detalii astfel jocul va fi atractiv, dar nu trebuie cazut in capcana: prea multe informatii prost distribuite poate conduce utilizatorul catre o confuzie majora, ceea ce va dauna mult in viitor

b) sa fie intuitive

daca a fost stabilita consistenta informaiilor care va fi afisata in interfata, design-erii i programatorii gandesc structura interfetei din punct de vedere intuitiv. Astfel elementele prezentate trebuie sa fie:

·         clare

·         la vedere

·         bine delimitate

·         explicite

·         cu elemente grafice care sa se regaseasca in joc

c) sa fie extensibila

in mod automat, interfata utilizatorului trebuie sa poate fi personalizata si acest lucru sa se pastreze in timp. Nu are succes un joc cu o interfata in care utilizatorul nu poate aduce “in fata” elementele care il intereseaza in mod deosebit cum ar fi: detaliile grafice, colorit, sonorizare, chiar si tipul de joc: stand alone, multiplayer sau networking.

       Meniul principal si submeniuri:

            Meniul jocurilor se supune catorva reguli clare:

·         are putine optiuni initiale

·         respecta grafica jocului

·         ocupa o zona nu mai mare de 10% din interfata

·         nu-si schimba pozitia din interfata

·         are continut explicit legat de submeniul pe care il genereaza

Meniul in general la un joc nu este customizabil, pe cand optiunile din submeniuri pot aparea in interfata in zonele libere, fara a se interpune cu meniul principal si fara a avea caracteristici care sa creeze confuzie cu elemente predefinite ale interfetei.

De asemenea optiuni din submeniuri trebuiesc actionate in mod foarte rapid din interiorul jocului fara comenzi prea ample.

Pentru a fi mai explicit voi descrie urmatoarea situatie: un joc are ca personaj principal un soldat (care face parte dintr-o echipa) : are nevoie de o bara de butoane pentru schimbarea armamentului din dotare, dar in aceeasi masura are nevoie de controlul sunetului cu cei din echipa. Este de la sine inteles ca pozita celor doua elemente grafice trebuie sa fie diferita, prin urmare utilizatorul isi configureaza interfata cu elemente din submeniuri pentru ca barele utilitare sa le poata utiliza rapid si fara miscari ample.

Cu cat gestionarea acestor elemente ( in general de grafica) este mai usoara jocul devine mai placut, mai accesibil si mai iubit de utilizatori.

Din nou suntem predispusi unei capcane: daca lasam foarte multa libertate utilizatorului in customizarea interfetei si a submeniurilor putem ajunge sa asistam la o discutie intre 2 utilizatori ai aceluiasi joc, din descrierile carora sa se inteleaga ca ei joaca jocuri diferite. Ar fi dezastruos impactul unei astfel de greseli in randul utilizatorilor de jocuri.

2.4.  Dezvoltarea aplicatiei

2.4.1. Etapele dezvoltarii aplicatiilor

Dezvoltarea aplicatiei cuprinde urmatorii pasi:

    • Intelegerea clara a cerintelor
    • Un set de metode si instrumente de lucru
    • Un plan de actiune = Metodologie de dezvoltare
    • Analiza cerintelor (ce vrea clientul)
    • Proiectarea arhitecturala (divizarea sistemului in module)
    • Proiectarea detaliata (proiectarea modulelor)
    • Scrierea codului
    • Integrarea componentelor (model “big-bang” vs. incremental)
    • Validarea (construim produsul corect?)
    • Verificarea (construim corect produsul?)
    • Intretinerea

Cate metodologii exista?

Unele companii folosesc propriile metodologii

Altele folosesc metodologii comerciale

Fara o metodologie adecvata, dezvoltarea produsului este haotica

Metodologia potrivita

Alegerea unei metodologii de dezvoltare trebuie sa tina seama de natura fiecarui proiect:

Bugetul

Marimea echipei

Tehnologia utilizata

Instrumentele si metodele

Termenele limita

Procesele existente deja

2.4.2.1. Abordarea „codeaza si repara”

Cea mai des intalnita metodologie

Cea mai rapida si mai putin eficienta metoda de dezvoltare a aplicatiilor

Nu exista reguli stabilite

Deseori intalnita in companii mici, la inceput, cu putini programatori

2.4.2.2. Metodologia secventiala cascada

In metodologia secventiala, cunoscuta si sub numele de metodologia „cascada”, are loc mai intai faza de analiza, apoi cea de proiectare, urmata de cea de implementare, iar in final se realizeaza testarea.

Echipele care se ocupa de fiecare faza pot fi diferite, iar la fiecare tranzitie de faza poate fi necesara o decizie manageriala.

2.4.2.3. Metodologia ciclica spirala

Procesul „curge” de la etapa la etapa, ca apa intr-o cascada. Modelul cascada cu feedback propune remedierea problemelor descoperite in pasul precedent .

Avantaje

            Metodologia secventiala este potrivita cand complexitatea sistemului este mica iar cerintele sunt statice.

Forteaza mentinerea unei discipline de lucru care evita presiunea scrierii codului inainte de a cunoaste precis ce produs va trebui de fapt construit.

Dezavantaje

Acorda o foarte mare importanta fazei de analiza.

Comunicarea dintre echipe este limitata; modul principal de comunicare sunt documentele realizate de o echipa si trimise urmatoarei echipe cu foarte putin feedback. Clientul obtine o viziune practica asupra produsului doar in momentul terminarii procesului de dezvoltare. Inghetarea prematura a cerintelor conduce la obtinerea unui produs prost structurat si care nu executa ceea ce doreste utilizatorul.

2.4.2.4. Metodologia hibrida ecluza

In fiecare faza se consuma un timp mai scurt, dupa care urmeaza mai multe iteratii prin toate fazele. Ideea este de fapt urmatoarea: gandeste un pic, planifica un pic, implementeaza un pic, testeaza un pic i apoi ia-o de la capat.

Pe masura ce procesul inainteaza, sunt generate din ce in ce mai multe detalii.

In final, dupa cateva cicluri, sistemul este complet i gata de lansare.

Procesul poate insa continua pentru lansarea mai multor versiuni ale produsului.

2.4.2.5. Metodologia ciclica spirala

Preia natura iterativa a metodologiei spirala, la care adauga progresul sigur al metodologiei cascada.

Avantaje

Recunoaste faptul ca oamenii fac greseli si ca nici o decizie nu trebuie sa fie absoluta. Echipele nu sunt blocate intr-o serie de cerinte sau intr-o arhitectura imobila care se pot dovedi mai tarziu inadecvate sau chiar gresite. Pentru respectarea termenelor limita, impune date de inghetare a unor faze. Se pune mare accent pe comunicarea intre echipe, ceea ce reduce cantitatea de cod inutil la care ar trebui sa se renunte in mod normal. Incearca sa mute toate erorile la nceputul procesului, unde corectarea, sau chiar reinceperea de la zero a lucrului, nu sunt foarte costisitoare.

Dezavantaje

Presupune asumarea unor responsabilitati privind delimitarea etapelor si inghetarea succesiva a fazelor de dezvoltare. Presupune crearea unui mediu de lucru in care acceptarea responsabilitatii pentru o decizie care se dovedeste mai tarziu gresita sa nu se repercuteze in mod negativ asupra individului. Se doreste de asemenea schimbarea atitudinii echipelor fata de testare, care are loc inca de la inceput, si fata de comunicarea continua, care poate fi dificila, intrucat cele patru faze reprezinta perspective diferite asupra realizarii produsului.

2.4.2.6. Metodologia de dezvoltare Offshore

Companiile considera  outsourcing- ul pentru functiile care pot fi dezvoltate mai ieftin in alta tara

Venituri din outsourcing IT in 2004:

India – 43%

Canada – 32%

China – 5%

Europa de Est – 5%

Motive pentru outsourcing

Reducerea costurilor

Cresterea eficientei

Concentrarea asupra obiectivelor critice ale proiectului

Accesarea flexibila a unor resurse care altfel nu ar fi accesibile (de ex. personal inalt

calificat)

Dimensiunea mare a proiectului

Etape

Initierea proiectului (local)

Analiza cerintelor (local)

Proiectarea de nivel inalt (local)

Proiectarea detaliata (offshore)

Implementarea (offshore)

Testarea (offshore sau local)

Livrarea (local)

Carta drepturilor dezvoltatorului

o       Ai dreptul sa stii ceea ce se cere, prin cerinte clare, cu declaratii clare de prioritate

o       Ai dreptul sa spui cat iti va lua sa implementezi fiecare cerinta, si sa iti revizuiesti estimarile in functie de experienta

o       Ai dreptul sa iti accepti responsabilitatile, in loc ca acestea sa-ti fie atribuite

o       Ai dreptul sa faci treaba de calitate in orice moment

o       Ai dreptul la liniste, distractie si la munca productiva si placuta

Carta drepturilor clientului

o       Ai dreptul la un plan general, sa stii ce poate fi facut, cand, si la ce pret.

o       Ai dreptul sa vezi progresul intr-un sistem care ruleaza si care se dovedeste ca functioneaza trecand teste repetabile pe care le specifici tu

o       Ai dreptul sa te razgandesti, sa inlocuiesti functionalitati si sa schimbi prioritatile

o       Ai dreptul sa fii informat de schimbarile in estimari, suficient de devreme pentru a putea reduce cerintele astfel ca munca sa se termine la data prestabilita.

o       Poti chiar sa te opresti la un moment dat si sa ramai cu un sistem folositor care sa reflecte investitia pana la acea data

Caracteristici

o       Echipa de dezvoltare nu are o structura ierarhica; fiecare contribuie la proiect folosind maximul din cunostintele sale

o       Proiectul este in mintea tuturor programatorilor din echipa, nu in documentatii, modele sau rapoarte

o       Cerintele clientului sunt exprimate ca scenarii sau povestiri (“user stories”)

o       Acestea sunt scrise pe biletele iar echipa de dezvoltare le imparte in sarcini de implementare (care stau la baza planificarii orarului de lucru si a estimarii costurilor)

o       La orice moment, un reprezentant al clientului este disponibil pentru clarificarea cerintelor

o       Scrierea de cod este activitatea cea mai importanta

o       La fiecare pas se face numai ce este absolut necesar in momentul urmator

o       Codul se scrie cat mai simplu si se optimizeaza (refactoring) de cate ori e posibil

o       Se scrie mai intai cod de test

o       Daca apare necesitatea rescrierii sau eliminarii codului, aceasta se face fara mila

o       Modificarile aduse codului sunt integrate continuu (de cateva ori pe zi)

o       Se programeaza in echipa (programare in perechi); echipele se schimba la sfarsitul unei iteratii (1-2 saptamani)

o       Se lucreaza 40 de ore pe saptamana, fara lucru suplimentar


CAPITOLUL III

PROIECTAREA DE DETALIU A NOULUI SISTEM INFORMATIC

3.1 Metodologia utilizata

Metodologia potrivita depinde de natura fiecarui proiect, in functie de urmatorii parametrii:

1.Bugetul;

2.Marimea echipei;

3.Tehnologia utilizata;

4.Instrumentele si metodele;

5.Termenele limita;

6.Procesele existente deja

Se stabilesc si se tine seama de metodologia de dezvoltare a aplicatiei.

In consecinta am utilizat: metodologia ecluza : metoda care preia natura iterativa a metodologiei spirala, la care adauga progresul sigur al metodologiei cascada:

3.1.1.  Avantaje

Recunoaste faptul ca oamenii fac greseli si ca nici o decizie nu trebuie sa fie absoluta. Echipele nu sunt blocate intr-o serie de cerinte sau intr-o arhitectura imobila care se pot dovedi mai tarziu inadecvate sau chiar gresite

Pentru respectarea termenelor limita, impune date de inghetare a unor faze.

Se pune mare accent pe comunicarea intre echipe, ceea ce reduce cantitatea de cod inutil la care ar trebui sa se renunte in mod normal.

Incearca sa mute toate erorile la inceputul procesului, unde corectarea, sau chiar reinceperea de la zero a lucrului, nu sunt foarte costisitoare.

3.1.2.  Dezavantaje

Presupune asumarea unor responsabilitati privind delimitarea etapelor si inghetarea succesiva a fazelor de dezvoltare.

Presupune crearea unui mediu de lucru in care acceptarea responsabilitatii pentru o decizie care se dovedeste mai tarziu gresita sa nu se repercuteze in mod negativ asupra individului.

Se doreste de asemenea schimbarea atitudinii echipelor fata de testare, care are loc inca de la inceput, si fata de comunicarea continua, care poate fi dificila, intrucat cele patru faze reprezinta perspective diferite asupra realizarii produsului.

Dar sa dezvoltam putin :

  1. Bugetul – nu a fost unul care sa satisfaca nevoile firmei, dar ca dezvoltare a  protofoliului a fost un pas inainte, drept urmare bugetul a fost declarat NUL.
  2. Marimea echipei – la acest proiect, managerul de proiect a declarat suficient un numaar de 3 membri dupa cum urmeaza: 2 programatori si un designer. Bineinteles ca in functie de prioritati ,sarcinile membrilor se vor schimba pe parcursul executarii proiectului.
  3. Tehnologia utilizata – cea mai buna solutie a fost alegerea unui mediu vizual accesibil oricarui computer cu tehnologie avansata si care sa suporte minim un sistem de operare de tipul Windows XP.
    S-a decis dezvoltarea aplicatiei in sistem de operare compatibil Windows deoarece se cunoaste foarte bine gradul de raspandire a acestui sistem de operare si in consecinta vor fi mult mai multi utilizatori ai acestui joc in momentul de fata in comparatie cu utiliaztorii de pe alte sisteme de operare, si nu in ultimul rand, sistemul de operare Windows are cea mai mare compatibilitate cu jocurile.
  4. Instrumentele si metodele – medii vizuale sunt multe si ofera, fiecare in parte noi si noi facilitati. S-a urmarit si dorit dezvoltarea unei aplicatii care sa nu necesite preinstalari de softuri adiacente si deci sa ruleze indiferent de ce softuri sunt instalate pe computerul utilizatorului. Astfel s-a ajuns la concluzia ca Visual Srudio 2005 este cea mai buna solutie pentru aplicatia ce urmeaza a fi dezvoltata. Acest mediu de programare este foarte util pentru dezvoltarea aplicatiilor mici si medii. Jocul are o traditie indelungata jucandu-se initial pe hartie si care solicita in mod placut sistemul de gandire uman si cum in ultimii ani calculatorul a pus stapanire pe jocuri, merita transpus si acest joc in sistem digital.
  5. Termenele limita – au fost stabilite de comun acord cu echipa si acestea nu trebuiau sa depaseasca 45 de zile de la stabilirea metodologiei de lucru. (termen care pana la urma a fost respectat)
  6. Procesele existente deja – nu au fost procese deja existente, proiectarea jocului facandu-se de la zero.

Jocul in esenta nu este foarte complicat si drept urmare nu se asteapta realizarea unui super cod, dorindu-se de fapt realizarea unui joc atractiv, usor de utilizat si fara probleme la instalalrea acestuia ( este cunoscut faptu ca instalarea jocurilor pe calculator necesita un minim de cunostinte in domeniul informaticii )

 Dezvoltarea jocului s-a facut procedural, fiecare procedura s-a testat inainte de implementarea sa in joc. Chiar si asa au existat probleme.

Jocul a fost conceput pentru a putea fi utilizat in trei moduri :

1.                               COMPETITIE – modul in care jucatorul este in competitie cu calculatorul in descoperirea numarului generat aleator. 

2.                               RAZBOI – modul in care doi jucatori incearca sa-si descopere reciproc numerele alese la inceputul jocului.

3.                               IP-CONNECT – modul in care se joaca la distanta, dar din motive tehnice nu s-a putut raliza. Problemele intampinate au fost : proasta conexiune de tip P2P care in acest limbaj de programare necesita fluxuri suplimentare de informatii si care pe distante lungi in timp duceau la intreruperea conexiunii si deci la intreruperea jocului. S-a incercat  conexiunea cu ajutorul unui server; lucru reusit de altfel, dar care necesita din partea utilizatorului cunostinte suplimentare si s-a renuntat la dezvoltarea acestui modul.

3.2 Etapele dezvoltarii jocului

Spuneam ca dezvoltarea jocului trebuia sa nu dureze mai mult de 45 de zile, drept urmare s-a divizat dupa cum urmeaza:

a.       Analiza – 5 zile

Etapa in care s-au gandit cateva proiecte de design de interfata, modalitati de a juca (eliminandu-se pe cat posibil variantele de joc inutile) si s-a decis limbajul in care se va dezvolta aplicatia, stiind ca aceasta nu necesita compilatoare speciale.

b.      Proiectare – 10 zile

S-a stabilit interfata jocului si posibilitatea de o schimba in functie de dorintele utilizatorului.

S-au proiectat modulele care sa se dezvolte ulterior, module care trebuiau sa fie clare, concise, fara dubii si sa nu se includa unul pe altul. S-a gandit si proiectat si varianta pentru telefonul mobil, dar se pare ca limbajul folosit pentru dezvoltarea aplicatiei nu este compatibil cu multe din modelele actuale de telefon.

c.       Implementarea – 25 zile

Cea mai ampla etapa din dezvoltarea aplicatiei. Structura a fost schimbata de cateva ori, lucru care a intarziat calendarul de dezvoltare al jocului. Rescrierea procedurilor pana s-a obtinut varianta cea mai buna din punct de vedere al codului si in general cea mai scurta ca si cod.

d.      Testarea –  5 zile

Testele au fost amanuntite si orice neregula a fost semnalata echipei de programatori care au remediat-o in timpul destinat implementarii, astfel nu s-a pierdut din timpul destinat testarii.

            Echipa fiind formata din trei membri, au fost necesare trei calculatoare performante ( ~2.000 lei / buc) dotate cu softurile necesare fiecarei activitati dupa cum urmeaza:

-          2 calculatoare au avut

o       S.O. Windows XP – Professional (~400 lei/buc)

o       Visual Studio 2005 (~1250 lei/buc)

-          1 calculator a avut

o       S.O. Windows XP – Professional (~400 lei)

o       Adobe PhotoShop CS3 (~1500 lei)

Pe parcursul desfasurarii aplicatiei echipa a fost recompensata conform grilei de salarizare negociata la angajare si suplimentar fiecare membru a primit o prima egala cu 10% din valoare totala estimata a fi incasata intr-un an de zile din vanzarea acestui soft.

Faza de proiectare conceptuala a bazelor de date incepe cu crearea unui model de date conceptual al jocului, care este total independent de detaliile privind implementarea, cum ar fi elementele de software ale sistemului SG-BD tinta, programele aplicatie, limbajele de programare, platforma hardware sau orice consideratie de ordin fizic.

3.3 Entitati, relatii

 Identificarea tipurilor de entitati

In aceasta etapa obiectivul este identificarea principalelor tipuri de entitati din vederea utilizatorului asupra intreprinderii. Modelul de date conceptual local consta in definirea principalelor obiective care pot prezenta interes pentru utilizator.

Uneori, entitatile sunt greu de identificat, datorita modului in care sunt prezentate in cadrul specificatiei cerintelor utilizatorului, uneori utilizatorii se exprima prin exemple sau analogii. Nu este intotdeauna evident daca un anumit obiect este o entitate, o relatie sau un atribut.

Proiectantii de baze de date trebuie sa aiba o vedere selectiva asupra lumii si sa clasifice lucrurile legate de intreprinderea pe care le observa. Exista situatii sa nu existe un set unic de tipuri de entitati care pot fi deduse dintr-o anumita specificatie a cerintelor, dar intervale succesive ale procesorului de analiza, trebuie sa se ajunga la alegerea entitatilor care sunt cel putin adecvate pentru sistemul cerut.

Identificarea tipurilor de relatii

In aceasta etapa obiectivul este identificarea relatiilor importante care exista intre entitatile identificate. De indata ce entitatile sunt identificate, urmatoarea etapa consta in identificarea relatiilor care exista intre acestea. Atunci cand se identifica entitatile, o metoda este de a cauta substantivele in specificatia cerintelor utilizatorului, de regula, relatiile sunt indicate prin expresii verbale.

In majoritatea cazurilor relatiile sunt binare ,totusi trebuie sa se determine si relatiile complexe, care ar putea include mai mult de doua tipuri de entitati, precum si relatii recursive, care implica un singur tip de entitate. O atentie deosebita trebuie pentru a detecta toate relatiile care sunt: explicite, implicite in specificatiile utilizatorului. Totusi relatiile lipsa trebuie sa iasa la iveala cand se valideaza modelul conform tranzactiilor pe care trebuie sa le accepte.

In urma analizei algoritmului si a bazei de date utilizata in joc s-a constatat ca nu este necesara o explicitare a bazei de date deoarece entitatile nu sunt puse la dispozitia utilizatorului, ci ele sunt utilizate de joc si dezvoltate de acesta in functie de cativa parametrii de intrare.

Se poate pune problema daca nu cumva nedefinirea clara a entitatilor impiedica creearea de relatii in cadrul bazei de date. Ei bine nu, deoarece relatiile in baza de date sunt de tip 1:1 ceea ce inseamna relatii simple, clare, usor de identificat si utilizat.

In consecinta nu a existat un motiv clar pentru care sa se detalieze structura entitatior si a relatiilor, aceasta urmand a fi facuta ulterior daca dezvoltarea jocului o cere. 


CAPITOLUL IV

PROIECTAREA DE DETALIU A NOULUI SISTEM INFORMATIC

4.1. Ce e  C. & Nc.?

Jocul face parte din categoria jocurilor de divertisment cu influente de dezvoltare a gandirii logice si a intelectului.

Scopul jocului este de a descoperi un numar care fie a fost generat

aleatoriu de catre calculator, fie a fost ales de adversarul tau.

Se intelege deci, ca jocul are cel putin 2 variante : Modul Competitie, Modul Razboi (le voi detalia ulterior).

Regulament : numarul generat trebuie sa indeplineasca o singura conditie – sa  aiba toate cifrele distincte doua cate doua.

         cu cat numarul este mai lung cu atat dificultatea jocului este mai mare

Jucatorii trebuie sa tina cont de aceasta  regula atunci cand introduc numarul.

Ce inseamna CENTRAT? Ce inseamna NeCENTRAT?

Exemplu:

Numarul generat aleatoriu:      N  = 4507

Jucatorul introduce:                N1= 1702

Raspunsul dat de PC este:                  1 C si 1NC

                                                adica    1C este 0 ; 1NC este 7

De aici se inteleg urmatoarele:

         daca o cifra din numarul jucatorului se afla in numarul generat pe pozitia sa (mii, sute, zeci, unitati) atunci ea este Centrata;

         daca o cifra din numarul jucatorului se afla in numarul generat dar nu pe pozitia sa atunci ea este NeCentrata

         daca nu este indeplinita niciuna din cele doua conditii nu se va furniza niciun fel de informatie despre acele cifre.  

4.2.         Interfata

Cum se joaca ?

Interfata grafica a jocului prezinta urmatoarele elemente:

a. 3 radio butoane de selectie a modului de joc

b. 2 paneluri reprezentand 2 telefoane mobile pe ecranul carora vor fi afisate numerele introduse si rezultatul testarii

c. 4 butoane prin care se tine evidenta clasamentului, a regulamentului si ajutorul pe care il ofera jocul utilizatorilor noi.

Modul de joc este simplu : calculatorul genereaza un numar care indeplineste conditiile impuse in regulament, numar pe care Playerul si Robotul (calculatorul-jucator) trebuie sa-l ghiceasca cat mai.repede.

Numerele se introduc in zona special  rezervata - Zona A, dupa care se apasa butonul – BUT A. Ca efect al apasarii butonului se trimite numarul introdus la o functte de test si rezultatul obtinut va fi afisat in Zona B.

In momentul in care rezultatul oferit de teste este 4C – inseamna ca numarul secret a fost descoperit si astfel jocul s-a incheiat.

Rezultatul este trecut intr-o baza de date (pe care o voi descrie ulterior)

In orice mement al jocului se pot accesa butoanele meniului:

 “Top 10”, “Clasament General”, “Regulament” si “Ajutor”.

4.3. Modul Competitie

Acum se pot vedea si schimbarile de interfata care apar in momentul inceperii jocului in modul competitie.

In cazul acestui mod de joc, se va introduce in zona speciala numele jucatorului, daca nu este completat acest camp jocul nu poate incepe.

Daca sunt indeplinite toate conditile jocului se apasa  butonul START JOC care se va schimba in TERMINA JOC.

           

Calculatorul-jucator are o plaja de numere in care va genera , la intamplare , numere pentru test. Nu este implementata o fuctie care sa faca calculatorul-jucator “sa gandeasca”.

Numarul de incercari nu este limitat, nu exista mesaje de intimidare sau mesaje de urgentare a jocului.

Se poate ca jocul sa dureze la infinit daca nu se joaca corect de catre cei doi participanti.

Pentru a evita acest lucru am gandit o varianta de generare a numarului (din partea computerului-jucator) prin care jocul sa se termine intr-un numar finit de pasi, facand astfel ca jocul sa se termine, dar , din pacate, ca fiind castigat de computer.

4.4. Modul Razboi

In acest stadiu al jocului fiecare jucator are de indeplinit cateva conditii suplimentare fata de cerintele  regulamentului:

·         trebuie sa-si introduca NUMELE

·         trebuie sa-si introduca NUMARUL (numar pe care adversarul trebuie sa-l descopere).

   

In cazul in care apare vreo eroare va fi afisat un mesaj de avertizare sau  de eroare.

   

4.5. Alte modalitati de joc

Mai sunt posibile doua modalitati de joc, ambele sunt dedicate Retelelor (de calculatoare si nu au fost implementate in aplicatie).

  1. Varianta LAN - permite conectarea P2P, dar modul de gestionare si controlul numerelor se bazeaza pe un alt mecanism, mai complicat

  1. Varianta WAL (sau pe internet) – permite conectarea calculatoarelor la distanta si acest lucru este posibil daca se utilizeaza un sistem de baze de date bine pus la punct

  1. Telefonul Mobil – transpunerea jocului din modul Competitie pentru telefonul mobil poate genera un joc placut ,inteligent si usor de implementat pentru ca tot jocul utilizeaza foarte putina memorie, nu necesita seturi de instructiuni complicate si nici nu presupune o durata prea mare in timp. 


4.6. BAZELE DE DATE

      Am definit o baza de date cu 3 tabele dupa cum urmeaza:

1.      Tabela Clasament

                                                                          i.      Id – codul unic de identificare

                                                                        ii.      Numele -  numele de joc al jucatorului

                                                                      iii.      Incercari – numarul de incercari pana la castigarea jocului

                                                                      iv.      Data – inregistrarea datei si orei la care s-a jucat partida

                                                                        v.      Oponent – cu cine a jucat in momentul castigarii acestei partide

2.      Tabela DETALII

                                                                          i.      Id – codul unic de identificare ( element de legatura)

                                                                        ii.      Numele – numele real al jucatorului

                                                                      iii.      Prenumele – prenumele real al jucatorului

                                                                      iv.      Email – adresa de email frecventata

                                                                        v.      Url – adresa de web de care dispune

                                                                      vi.      Tip – tipul pe care l-a pimit de la adminstrator

                                                                    vii.      Valid – testeaza daca este un jucator activ

3.      Tabela Joc_desfasurat

                                                                          i.      Id - codul unic de identificare ( element de legatura)

                                                                        ii.      Numar_eu – numarul introdus de jucator

                                                                      iii.      Rezultat_eu – rezultatul obtinut in urma testarii

                                                                      iv.      Numar_el – numarul introdus de oponent

                                                                        v.      Rezultat_el – rezultatul obtinut in urma testarii

Modul de completare al acestor baze de date este simplu: in cazul castigarii jocului, datele despre castigator, numarul de incercari pe care le-a facut, data la care a jucat partida si oponentul se vor inregistra in mod automat in baza, urmand ca la cerere sa fie completate celelate doua tabele – DETALII si JOC_DESFASURAT.

Clasamentul general si Top10 al celor mai bune jocuri este accesibil oricand in timpul jocului.


CAPITOLUL V

EFICIENTA SI UTILITATEA SISTEMULUI INFORMATIC

Daca in secolul XXI calculatorul este o unealta indispensabila oricarui birou, daca metoda cea mai utilizata de relaxare o reprezinta jocurile, atunci este inevitabila combinatia jocuri pe calculator.

Jocurile pe calculator reprezinta:

         modalitate de divertisment

          jocuri sportive, shooter-e, concurs cu intrebari

         modalitate de invatare / predare

          jocurile educationale, in special cele facute pentru copii scolari si prescolari

         modalitate de dezvoltare intelectuala

          jocurile de strategie, trivia sau alte derivatii ale acestora

Jocul poate fi utilizat in multe domenii, deci este evident o reusita si o atractie a utilizatorilor de calculatoare, gama din care vine jocul este larga si cuprinde : “avioanele”, “barcutele”, “fotbal”, etc. jocuri care isi iau originea pe foaia de hartie si care au condus la relaxarea multor persoane din lumea intreaga.

Transpunerea jocului din modul competitie pentru telefon este o adevarata  placere si amuzament pentru toate categoriile de persoane : tineri , batrani, barbati, femei si dupa caz se poate juca interactiv intre 2 persoane. Tot jocul utilizeaza foarte putina memorie, nu necesita seturi de instructiuni complicate si nici nu presupune o durata prea mare in timp.

Tehnologia avanseaza, metodele de divertisment se multiplica dar, cu siguranta, dorinta omului de a se juca nu va disparea niciodata.







Politica de confidentialitate
C


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Adunarea in Xlininx
Supraincarcarea constructorilor
Cod VHDL pentru setul de registre - laborator
Definitii si declaratii de variabile
Clase derivate. Mosteniri
SUBIECTE C++
Introducere in c++
Descriere algoritmica pentru un contor de valori 1
Lista liniara dublu inlantuita
Registrul De 16 biti - Xilinx















 
Copyright © 2019 - Toate drepturile rezervate