Aplicatie Android Joc Mine Sweeper

Cuprins:

Sinteza lucrării

I. Introducere

II. Stadiul temei în bibliografie și realizări

III. Proiectare și implementare

III.1 Prezentare generală

III.2 Modul classic

III.2.1 Alegerea dificultății

III.2.2 Inițializare parametri

III.2.3 Definirea evenimentului de click și long-click

III.2.4 Plasarea bombelor pe suprafața de joc

III.2.5 Descoperirea suprafeței de joc

III.2.6 Descoperirea sprafețelor de joc adiacente suprafeței 0

III.2.7 Sfârșit joc – victorie

III.2.8 Sfârșit joc – joc pierdut

III.2.9 Indicii

III.3 Modul challenge

III.4 Modul versus

IV. Interfață și design

IV.1 Meniul principal

IV.1 Suprafața de joc

IV.1 Conectarea prin Bluetooth

V. Tehnologii folosite pentru realizarea proiectului

VI. Rezultate, realizări personale și concluzii

VII. Bibliografie

VIII. Anexe

Sinteza lucrării

I. Introducere

III. Proiectare și implementare

III.1 Prezentare generală

Scopul jocului Minesweeper este acela de a descoperi toată supratața de joc, fără a descoperi nici o bombă.

Jocul este pierdut atunci când se descoperă o bombă. Jocul este încheiat cu o victorie atunci când toate suprafețele adiacente bombelor sunt descoperite.

Suprafața de joc este afișată sub formă matriceală, de dimensiuni corespunzătoare dificultății alese. Fiecare buton de pe suprafața de joc este de tipul Suprafata (o clasă ce moștenește toate proprietățile și metodele clasei Button).

Inițializarea parametrilor, a suprafeței de joc și afișarea acesteia sunt prezentate în capitolele III.2.2 și III.2.3.

Butoanele ce formează suprafața de joc răspund la următoarele acțiuni: click și long-click, acțiuni explicate în capitolul III.2.3.

În momentul în care se dă click pe un buton de pe suprafața de joc, în funcție de conținutul acelui buton se pot descoperi următoarele:

– o suprafață minată – în acest caz jocul este pierdut

– o suprafață ce nu are adiacentă nici o bombă (suprafață 0) – în acest caz se execută algoritmul explicat în capitolul III.2.6

– o suprafață ce are în jurul ei 1-8 bombe – în acest caz se execută algoritmul explicat in capitolul III.2.5

La execuția acțiunii de long-click pe un buton se marchează/demarchează suprafața curentă

Proprietățile clasei Suprafata pot fi observate în figura III.1.1 și sunt următoarele:

teren_minat – poate avea valorile true/false (suprafața este/nu este minată)

teren_descoperit – poate avea valorile true/false (suprafața este/nu este descoperită)

teren_marcat – poate avea valorile true/false (suprafața este/nu este marcata ca fiind potențială suprafață minată)

nr_bombe – stochează numărul de bombe adiacente suprafeței curente

Clasa Suprafata cuprinde următoarele metode:

seteazaParametri() – setează parametrii la valorile de baza

planteazaBomba() – plantează bomba pe suprafața curentă (teren_minat = true)

esteMinat() – returnează valoarea din teren_minat

descoperaTeren() – marchează terenul ca fiind descoperit (teren_descoperit = true)

esteDescoperit() – returnează valoarea din teren_descoperit

marcheazăTeren() – marchează/demarchează suprafața ca fiind minată (teren_marcat = true)

esteMarcat() – returnează valoarea din teren_marcat

actualizareNeBombe()- incrementează valoarea din nr_bombe cu o unitate

numarBombe() – returnează valoarea din nr_bombe

marcheazaIndiciu() – marchează suprafața curentă, în urma activării unui indiciu

Dificultatea jocului diferă prin numărul de linii, numărul de coloane, numărul de bombe și numărul de indicii. În următorul tabel se pot observa parametrii corespunzători tipului de dificultate prezentat anterior.

Tabel III.1.1 – Parametrii jocului, în funcție de dificultate

Parametrii fiecărei dificultăți sunt stocați într-un vector având structura din figura III.1.2

Pe suprafața de joc se plasează bombele (numărul lor diferă în funcție de dificultate) pe coordonate alese în mod alteator. Algoritmul de plasare a bombelor este explicat în capitolul III.2.4 Plasarea bombelor pe suprafața de joc.

În cazul în care se dorește, se poate utiliza un indiciu pentru a se marca o suprafață ce nu este minată și ce nu a fost descoperită. ALGORITMUL BLA BLA

În următoarele trei subcapitole sunt explicate cele trei moduri de joc: classic (III.2 Modul CLASSIC), challenge (III.3 Modul CHALLENGE), versus (III.4 Modul VERSUS)

În capitolul INTERFATA FA APEL este descrisă interfața jocului.

III.2 Modul CLASSIC

Pentru a lansa jocul în modul ’classic’, din meniul principal se dă click pe butonul ’CLASSIC’. Selectăm dificultatea jocului, dintre următoarele: ușor, intermediar și greu.

În diagrama următoare sunt prezentați pașii parcurși pentru a lansa jocul în modul classic.

III.2.1 Alegerea dificultății

După acționarea butonului Classic din meniul aplicației, va fi afișată următoarea fereastră de dialog (figura III.2.1.1).

La alegerea unei dificultăți din cele trei se transmite indicele butonului acționat:

0 – ușor; 1 – intermediar; 2 – greu

În figura III.2.1.2 este prezentat codul Java, ce asigură afișarea ferestrei de dialog din figura III.2.1.1

Transmiterea indicelui dificultății alese are loc odată cu apelarea funcției startJocClassic(dificultate). Aceasta poate fi observată în figura de mai jos:

Funcția prezentată în figura III.2.1.3 execută următoarele instrucțiuni:

– inițializează un intent, căruia i se asociază clasa JocClassic

– transmite dificultatea ca parametru

– se lansează jocul în modul classic

În interiorul clasei JocClassic, dificultatea este preluată în modul următor:

III.2.2 Inițializare parametri

Parametrii clasei JocClassic sunt inițializați conform funcției prezentate în figura III.2.2.1 – Initializare parametri

a) în funcție de dificultatea aleasă, se inițializează numărul de linii, coloane, bombe și indicii

b) se alocă spațiu în memorie pentru matricea ce formează suprafața de joc

c) proprietățile clasei JocClassic sunt resetate la valorile de bază

d) se alege imaginea de fundal pentru Smiley (MAI MULTE DETALII BLA BLA)

III.2.3 Definirea evenimentului de click și long-click

În momentul în care se dă click pe un buton din suprafața de joc, se execută următorul algoritm:

a) se verifică dacă jocul este pierdut. Această testare are loc, deoarece în cazul în care jocul este pierdut, se mai pot descoperi suprafețe până când se câștigă jocul

b) se verifică dacă suprafața curentă este minată

– dacă este minată, jocul este pierdut (altfel, se trece la pasul c))

– se afișează mesajul ’Ai pierdut!’, în urma apelului funcției sfarsitJocPierdut()

– se afișează toate bombele de pe suprafața de joc și sunt evidențiate suprafețele marcate greșit (capitolul III.2.7)

c) se verifică dacă suprafața curentă nu a fost descoperită sau dacă nu este marcată

– suprafața trebuie demarcată înainte de a putea da click pe ea

– suprafața nu trebuie să fi fost descoperită, deoarece putem da click pe o

suprafață de mai multe ori, până când jocul este câștigat

d) dacă numărul de bombe adiacente suprafeței curente este 0

– se afișează cifra curentă (capitolul III.2.7)

– se apelează algoritmul de afișare a tuturor suprafețelor adiacente, în mod recursiv (capitolul III.2.6)

e) dacă numărul de bombe adiacente suprafeței curente este mai mare decât 0

– se afișează cifra curentă (capitolul III.2.7)

– se verifică dacă jocul a fost câștigat (capitolul III.2.8)

Acționarea unui buton prin long-click conduce la execuția următorului algoritm:

a) se verifică dacă suprafața curentă este nemarcată și nedescoperită

dacă, condiția este adevărată, se marchează suprafața cu ’!’

b) dacă suprafața este marcată, se demarchează

Nu se poate marca o suprafață ce a fost descoperită.

În figura III.2.3.4 este prezentat codul Java corespunzător definirii evenimentului discutat mai sus.

III.2.4 Plasarea bombelor pe suprafața de joc

În funcție de dificultatea jocului, numărul de bombe este calculat după următoarele formule:

ușor: nr_bombe = 10% din [nr_linii x nr_coloane] ( 70 * 0.1 = 7 bombe )

intermediar: nr_bombe = 15% din [nr_linii x nr_coloane] ( 117 * 0.15 = 18 bombe )

greu: nr_bombe = 20% din [nr_linii x nr_coloane] ( 176 * 0.2 = 35 bombe )

Pașii urmați pentru plasarea bombelor sunt:

1. Se aleg două numere (r și c) în mod aleator.

2. Dacă pe coordonata formată de (r,c) se află o bombă, ne întoarcem la pasul 1.

3. Plantăm bomba se suprafața curentă.

4. Pe o sprafața de 3×3 în jurul bombei, incrementăm numărul de bombe adiacente cu o unitate.

Cei patru parametri în funcție de care se face parcurgerea în jurul bombei sunt:

r_pornire și c_pornire – coordonata de unde începe parcurgerea

r_cautare și c_cautare – numărul de linii, respectiv coloane pe care se extinde căutarea

5. Se verifică dacă suprafața pe care a fost plasată bomba se află pe marginea suprafeței de joc și se modifică parametrii de la pasul 4 astfel:

dacă bomba se află pe prima linie:

– parcurgerea începe pe prima linie ( r_pornire = 0 )

– se parcurg primele două linii ( r_cautare = 2)

dacă bomba se află pe ultima linie:

– parcurgerea începe de pe penultima linie ( r_pornire = r-1 )

– se parcurg ultimele două linii ( r_cautare = 2 )

dacă bomba se află pe prima coloană:

– parcurgerea începe de pe prima coloană ( c_pornire = 0 )

– se parcurg primele două coloane ( c_cautare = 2 )

dacă bomba se află pe ultima coloană:

– parcurgerea începe de pe penultima coloană ( c_pornire = c-1 )

– se parcurg ultimele două coloane ( c_cautare = 2 )

6. În mod implicit, dacă bomba nu se află la marginea suprafeței de joc, parcurgerea este următoarea:

– parcurgerea începe de pe linia anterioară și coloana anterioară ( r_pornire = r-1, respectiv c_pornire = c-1 )

– parcurgerea are loc pe o suprafața de 3×3 ( r_cautare = 3, respectiv c_cautare = 3 )

În figura III.2.4.1 este prezentat codul Java pentru plasarea bombelor.

III.2.5 Descoperirea suprafeței de joc

Următorul set de instrucțiuni sunt executate după îndeplinirea condițiilor a, b, c din capitolul III.2.3 Definirea evenimentului de click și long-click

a) se marchează suprafața curentă ca fiind descoperită

teren_descoperit = true

b) dacă numărul de bombe adiacente suprafeței curente este mai mare decât 0:

– textul butonului este modificat în numărul de bombe adiacente

this.setText(”Numarul de bombe adiacente”)

– incrementăm numărul de suprafețe descoperite cu o unitate

nrDescoperite++

c) în funcție de numărul de bombe adiacente, se alege o imagine de fundal pentru buton (DE APELAT XML bla bla)

În următoarea figură (figura III.2.5.1) este prezentată verificarea doar pentru cazul în care numărul de bombe adiacente este 1 sau 2. Verificarea este efectuată pentru toate cazurile posibile ( 0 < numărul de bombe adiacente > 9)

III.2.6 Descoperirea suprafețelor de joc adiacente suprafeței 0

La activarea unei suprafețe în jurul căreia nu se află nici o bombă (nr_bombe = 0) se afișează toate suprafețele adiacente acesteia. Dacă în jurul acesteia se află o altă suprafață ce nu are nici o bombă adiacentă, funcția se reapelează în mod automat. Conform capitolului III.2.3, sunt verificați pașii a, b și c și în funcție de numărul de bombe adiacente este afișată valoarea din nr_bombe sau este apelată funcția afiseaza0() (funcție prezentată în figura III.2.6.1)

Pașii acestui algoritm sunt următorii:

a) se verifică dacă jocul este câștigat. Se elimină posibilitatea în care jocul este câștigat, dar nu sunt descoperite toate suprafețele în care valoarea din nr_bombe să fie egală cu 0. Dacă jocul este încheiat cu succes, dar se mai descoperă noi suprafețe, după fiecare suprafață descoperită se execută funcția prezentată în capitolul III.2.7, implicit se afișează pe ecran mesajul ’Ai câștigat!’ de mai multe ori.

b) folosind aceeași procedură de a parcurge suprafețele adiacente (capitolul III.2.4 Plasarea bombelor pe suprafața de joc), pe o suprafață de 3×3, se afișează toate suprafețele ce nu sunt minate.

În figura III.2.6.1 este prezentat codul Java pentru parcurgerea suprafețelor adiacente suprafeței 0. Pentru cei patru parametrii în funcție de care se face parcurgerea este afișată doar inițializarea. Ei sunt modificați în funcție de poziția suprafeței curente, la fel ca în cazul plantării bombelor din capitolul III.2.4

III.2.7 Sfârșit joc – victorie

După descoperirea fiecărei suprafețe cu nr_bombe > 0 se incrementează numărul de suprafețe descoperite (numarD) și se verifică dacă jocul este sfârșit. Jocul este câștigat dacă toate suprafețele adiacente bombelor au fost descoperite, implicit se verifică dacă numarD == numarDD

Numarul suprafețelor ce trebuiesc descoperite (numarDD) este calculat în modul următor:

– se parcurge toată suprafața de joc

– dacă suprafața de joc nu este minată

– dacă numărul de bombe adiacente suprafeței curente este mai mare decât 0

– se incrementează numarDD

! Se verifică dacă suprafața de joc este minată, deoarece în momentul în care plantăm o bombă, toate suprafețele din jur au valoarea din nr_bombe incrementată cu o unitate. Totuși, pe acea suprafață poate fi plantată o bombă și se ajunge la situația în care pe o suprafață există o bombă, dar nr_bombe este mai mare decât 0. Această suprafață nu trebuie luată în considerare atunci când calculăm numărul de suprafețe ce trebuiesc descoperite.

III.2.8 Sfârșit joc – joc pierdut

După descoperirea unei suprafețe minate, se execută următoarele instrucțiuni (prezentate în figura III.2.8.1)

Se parcurge toată suprafața de joc și se fac următoarele verificări:

a) dacă suprafața curentă nu este minată, dar este marcată

– se modifică textul acelui buton din ’!’ în ’X’

b) dacă suprafața curentă este minată și nu este marcată, se afișează bomba

Textul ultimului buton pe care a fost dat click, ce a cauzat pierderea jocului, este modificat din ’*’ în ’*’ (Bold).

III.2.9 Indicii

Utilizatorul poate opta pentru afișarea unui indiciu în cazul în care nu este decis de suprafața minată.

În momentul în care putem beneficia de un indiciu și este cerut unul, este executat următorul algoritm:

– are loc parcurgerea suprafaței de joc

– sunt salvate coordonatele suprafețelor ce îndeplinesc toate condițiile următoare:

– suprafața nu a fost descoperită

– suprafața nu este minată

– numărul de bombe adiacente este mai mare decât zero

– se alege în mod aleator o suprafață din cele salvate mai sus și se marchează indiciul

Suprafața marcată după utilizarea unui indiciu are imaginea de fundal conform fișierului suprafata_joc_indiciu.xml și poate fi vizualizată în capitolul APEL DESIGN

Nu se pot utiliza indicii dacă:

– jocul este sfârșit

– au fost utilizate toate indiciile.

III.3 Modul CHALLENGE

Modul challenge urmează aceiași pași în inițializare și implementare ca și modul classic, cu următoarele excepții:

– în cazul în care este descoperită o suprafață de joc și există bombe adiacente, nu mai este afișat numărul acestora

-imaginea de fundal pentru o suprafață descoperită este aleasă în mod aleator, conform algoritmului prezentat în figura III.3.3

Se execută următorii pași:

1. fiecarei imagine de fundal de tipul .xml îi este asociat un ID de tip integer. ID-ul fiecărui fișier este salvat într-un vector, conform figurii III.3.1

2. vectorul este amestecat conform funcției prezentate în figura III.3.2, iar în momentul în care se descoperă o suprafață, se alege imaginea de fundal precum este prezentat în figura III.3.3.

III.4 Modul VERSUS

Acest mod permite aplicației interacțiunea dintre două dispozitive, folosind tehnologia Bluetooth (APEL LA CAP BLA BLA). Rolul fiecărui jucător este bine definit, ei având rolul de a planta bombele, respectiv de a descoperi suprafața de joc.

Odată cu lansarea în execuție acestui mod, fiecare jucător trebuie să-și aleagă un rol din cele două menționate anterior.

Înainte de începerea jocului trebuie să aibă loc conectarea celor două dispozitive. Acest lucru este explicat din punct de vedere al implementării în capitolul III.4.1și III.4.2 și din punct de vedere al interfeței în capitolul APEL

III.4.1 Implementare jucător 1

În diagrama din figura III.4.1.1 sunt prezentați pașii urmați pentru a afișa suprafața de joc pentru jucătorul 1.

Figura III.4.1.1 – Lansarea modului versus

În comparație cu modul classic diferențiem următoarele caracteristici:

– în momentul lansării activității sunt inițializați doar parametrii și suprafața de joc

– este necesară conectarea prin Bluetooth la un alt dispozitiv APEL

– se așteaptă până când jucătorul 2 minează suprafața de joc

– jucătorul 2 trimite mesaj sub forma:

BOMB_RECEIVED_TOKEN + linie + coloană

– jucătorul 1 interpretează acest mesaj și plasează bomba pe suprafața de joc în același mod, prezentat în capitolul III.2.4.

– în momentul în care este primit mesajul BOMBS_PLANTED_START_GAME se afișează suprafața de joc, iar jocul poate începe. Din acest moment jocul continuă în același mod și sub aceleași reguli ca și în modul clasic.

III.4.2 Implementare jucător 2

În cazul jucătorului 2 sunt urmați aceiași pași pentru inițializare și afișare suprafață joc, cu o singură modificare:

– suprafața de joc este afișată imediat după conectare

Transmiterea coordonatelor suprafețelor minate se face în modul următor:

dacă nu au fost plasate toate bombele și dacă suprafața curentă nu este minată

se transmit coordonatele jucătorului 1

se marchează suprafața și este afișat un mesj corespunzător

dacă au fost trimite toate bombele

se va trimite un mesaj de confirmare, iar jucătorul 1 poate începe jocul

În figura III.4.2.1 poate fi observat codul Java, corespunzător evenimentului de click pe o suprafață în cazul jucătorului 2.

IV. Interfață și design

În cadrul mediului de dezvoltare Android Studio, prezentat în capitolul APEL, interfața unei activități este definită printr-un fișier .XML, în cadrul directorului layout și se inițializează în modul următor:

Fiecare element dintr-o activitate poate avea propriul său design, definit printr-un fișier .XML sau .PNG, dar în acest caz, resursele sunt salvate în directorul drawable. Se utilizează în modul următor:

În următoarele subcapitole sunt prezentate toate aspectele din cadrul proiectării interfeței, începând cu meniul principal, jocul în modul classic/challenge (împart aceeași interfață), jocul în modul versus (ambii jucători împart aceeași interfață), continuând cu, conectarea la un dispozitiv prin Bluetooth, regulile jocului, și nu în ultimul rând, imaginile folosite pentru smiley și butoanele de pe suprafața de joc.

IV.1 Meniul principal

Odată cu lansarea în execuție a aplicației suntem întampinați de meniul principal.

Structura fișierului .XML poate fi observată în ansamblu în figura IV.1.1. Codul complet al fișierului minesweeper.xml poate fi găsit la anexa APEL.

In următorul tabel pot fi observate elementele meniului:

Figura IV.1.1 – minesweeper.xml figura IV.1.2 – meniul principal

IV.2 Modul classic/challenge

Interfața asociată celor două moduri de joc este prezentată în figura IV.2.2.

Structura fișierului .XML poate fi observată în ansamblu în figura IV.2.1. Codul complet al fișierelor jocclassic.xml și jocchallenge.xml, poate fi găsit la anexa APEL.

In următorul tabel pot fi observate elementele modului de joc classic/challenge:

Butoanele ce formează suprafața de joc au interfața conform APEL

IV.3 Modul versus

În cadrul acestui mod, jucătorii împart aceeași interfață. Interfața este prezentată în figura IV.3.2.

Structura fișierului .XML poate fi observată în ansamblu în figura IV.3.1. Codul complet al fișierelor jocbluetooth1.xml și jocbluetooth2.xml, poate fi găsit la anexa APEL.

In următorul tabel pot fi observate elementele modului de joc versus

II. Tehnologii folosite pentru realizarea proiectului

II.1 Limbajul de programare Java

A fost conceput de către James Gosling, la Sun Microsystems (filială Oracle), la inceputul anilor ’90. Se bazează pe principiul „scrie o dată, rulează oriunde”.

Java este un limbaj de programare orientat pe obiect. Sintaxa limbajului este asemănătoare cu cea a C/C++, diferența fiind făcută de portabilitate.

Un program Java poate fi rulat pe orice platformă pe care este instalată o mașină virtuală Java. Acest nivel de portabilitate este posibil deoarece sursele Java sunt compilate într-un format standard numit cod de octeți, care este intermediar între codul mașină și codul sursă. Mașina virtuală Java este mediul în care se execută programele Java.

Dintre mediile de dezvolvare Java, menționăm: Eclipse, NetBeans, JCreator, BlueJ și IntelliJ IDEA (mediul de dezvoltare ce stă la baza platformei Android Studio).

Tehnologia Java poate fi clasificată sub următoarea formă:

a) Java Platform Micro Edition (Java ME) – pentru dispozitive cu resurse limitate

b) Java Platform Standard Edition (Java SE) – pentru PC-uri

c) Java Platform Enterprise Edition (Java EE) – pentru sisteme de calcul mari sau distribuite

II.2 Platforma Android Studio

Android Studio este mediul de dezvoltare oficial, pentru aplicațiile destinate sistemului de operare Android. A fost anunțat în anul 2013, înlocuind vechiul mediu de dezvoltare Eclipse Android Development Tools (ADT).

Poate fi rulat pe toate sistemele de operare principale, precum Windows, Linux și MAC.

Are la baza IntelliJ IDEA Java IDE și permite instalarea tuturor instrumentelor necesare dezvoltării de aplicații Android.

Sistemul de compilare este bazat pe tehnologia Gradle.

II.3 Tehnologia Bluetooth

Bluetooth este un set de specificații pentru o rețea personală fără fir, bazată pe unde radio. Tehnologia Bluetooth a fost creată în 1994.

’Bluetooth’ este o traducere în engleză a cuvântului scandinav ’Blåtand’, cum era supranumit regele viking Harald I al Danemarcei. El era renumir ca fiind foarte comunicativ și se pricepea să facă oamenii să comunice între ei.

Specificația Bluetooth a fost scrisă pentru prima dată de Sven Mattisson și Jaap Haartsen, la divizia de telefonie mobilă a companiei Ericsson.

Printr-o rețea Bluetooth se poate face schimb de informații între diverse aparate precum telefoane mobile, laptop-uri, imprimante, camere foto sau console video printr-o undă radio criptată și de rază mică.

Dispozitivele care dispun de Bluetooth comunică între ele atunci când se află în aceeași rază de acțiune. Ele folosesc un sistem de comunicații radio, așa că nu este nevoie să fie poziționate față în față pentru a transmite.

Istoric versiuni:

a) Bluetooth 1.0 și 1.0B – primele versiuni, dar cu multe probleme tehnice

b) Bluetooth 1.1

– suport pentru canalele necriptate

– indicator al puteri semnalului

c) Bluetooth 1.2

– viteza de transfer a fost mărită la 721 kb/s

d) Bluetooth 2.0

– viteză de transfer de 3.2 mb/s, datorită tehnologiei ’Enhanced Data Rate’

– consum de energie mai mic

– rata erorilor de transmisie mai scăzută

e) Bluetooth 3.0 și 4.0

– viteza de transfer de 24 mb/s, datorită introducerii unei legături 802.11

ANEXE

1. Meniu/background.jpg

2. Meniu principal JAVA

3. Meniu principal ICONS

Similar Posts

  • Implementarea Algoritmilor Evolutivi

    CUPRINS INTRODUCERE Conceptul de evoluție a fost propus de savantul englez Charles Darwin în 1859 în celebra sa carte “Originea speciilor prin selecție naturală”. Principala sa teză este: “Speciile evoluează prin variații aleatoare urmate de selecție naturală în care cel mai potrivit supraviețuiește” . Calculul Evolutiv (“Evolutionary computation”) reprezintă o direcție de cercetare nouă și…

  • Crearea Unui Site Web Pentru Activitatea de Distribuire a Produselor Societatii

    INTRODUCERE Societatea evoluează odată cu trecerea timpului. Oamenii încearcă să țină pasul cu schimbările care au loc în viața socială, economică, profesională și personală. Obiectivele se schimbă iar așteptările cunosc o creștere ascendentă. Individul activ poartă povara timpului și de aceea caută soluții cât mai optime pentru îndeplinirea necesităților profesionale și personale. În ajutorul său…

  • Dispozitiv Wireless Pentru Determinarea Saturatiei de Oxigen In Sange

    CUPRINS INTRODUCERE ANALIZA DISPOZITIVULUI DE DETERMINARE A NIVELULUI DE SATURAȚIE A OXIGENULUI IN SINGE Noțiuni generale Proprietatile fizice folosite in pulsoximetrie 1.3 Rolul saturatiei oxigenului in singe 1.4 Studierea si modul de functionarea a dispozitivului 1.5 Tipul si modul de amplasare a pulsoximetrului 1.6 Importanța pulsoximetriei 2 ALEGEREA COMPONENTELOR SI PROIECTAREA PULSOXIMETRULUI 2.1 Schema bloc…

  • Adrese Ip

    ADRESE IP Adresa IP reprezinta un identificator al unui calculator sau dispozitiv dintr-o retea TCP/IP. Retelele care utilizeaza suita de protocoale TCP/IP routeaza mesajele (pachetele) pe baza adresei IP de destinatie. La ora actuala se utilizeaza concomitent 2 tipuri de adrese IP (Internet Protocol): IP ver. 4 (IPv4) si IP ver. 6 (IPv6). IPv4 a…

  • Bazele de Date

    CUPRINS Introducere …………………………………………………………………….. Pagina 3 Capitolul 1: Noțiuni introductive despre bazele de date ………………… Pagina 4 1.1. Scurt istoric al bazelor de date …………………………………………….Pagina 4 1.2. Definirea bazelor de date ………………………………………………. Pagina 6 1.3. Sisteme de baze de date …………………………………………………. Pagina 7 1.4. Nivelul de organizare a datelor într-o bază de date …………………….. Pagina 8…

  • .aplicatia Cws

    Cuprins: 1. O privire de ansamblu asupra aplicatiei. 2. Modul de utilizare. 3. Instrumente necesare realizarii interfetei (GUI) pe partea de client,mod de realizare. 4. Instrumente necesare comunicatii prin retea (Sockets, Serializarea obiectelor). 5. Fire de executie. Controlul firelor de executie. 6. Arhitectura server. 6.1 Privire de ansamblu 6.2 Retea 6.3 Baza de date cu…