Crearea Unui Joc de Blackjack In Labview

Labview: Blackjack

Pentru a crea un joc de blackjack in Labview s-au facut urmatoarele ajustari ale regulilor oficiale:

cartiile se vor alege la intamplare de la 1 la 11

jucatorul nu poate sa decida daca valoarea cartii AS este 1 sau 11

nu exista optiuni de split sau double

in caz de caștig valoarea pariului este returnata de doua ori

dealer-ul nu isi va afisa prima carte

jocul este destinat pentru un singur jucator

Avand stabilite aceste lucruri se începe construcția jocului prin crearea panoul frontal. Pentru acesta s-au folosit:

1 x Flat Box (aflat sub “Decorations”)

2 x File Path Control (“Express -> Text Controls” )

5 x Numeric Indicator (“Numeric”)

2 x Numeric Control (“Numeric”)

1 x 2D Picture (“Classic ->Classic Graph->Controls”)

1 x Horizontal Pointer Slide (“Numeric”)

1 x Push Button (“Boolean”)

4 x OK Button (“Boolean”)

2 x String Indicator (“String”)

1 x Round LED (“Boolean”)

1 x Horizontal Graduated Bar (“Numeric”)

*optional* 1 x Label (“Decorations”)

*optional* 1 x Free Frame (“Decorations”)

*optional* – utilizat doar pentru a oferi un aspect mai frumos

Rolul Flat Box-ului este de a mentine pozitia butoanelor si a celorlalte controalelor chiar si dupa inchiderea programului, astfel toate celelalte controale vor fi pozitionate in interiorul acesteia. Pentru a redimensiona Flat Box-ul se va face clic pe patratelul albastru din colt care apare odata ce se amplaseaza cursorul deasupra acestuia.

f

Fig 1.0 <Redimensionare Flat Box>

In cazul <File Path Control> singura modificare a fost modificarea etichetei (“Label”) care se face prin dublu clic pe aceasta. Acelasi lucru se va face si pentru cele 5 Numeric Indicator. (Pentru numele conferite verificati fig 1.9)

Fig 1.1 <Redenumire Label>

Pentru <Numeric Control> pe langa redenumirea etichetei se va seta si tipul de date utilizat precum si limitele admise. Pentru asta se face clic dreapta pe unul dintre Numeric Control -> Representation -> U64 (Unsigned Quad) iar pentru cel de al doilea se va alege U32 (Unsigned Long). Pentru a seta limitele de introducere a datelor se va face clic dreapta din nou -> Properties -> Data Entry dupa care se vor seta minimul,maximul si valoare cu care se face incrementarea. Pentru acest exemplu sau utilizat, pentru vi-ul cu U32: 17,21,1, iar pentru cel cu U64: 500,15000,50.

Fig 1.2 & 1.3 <Setarea tipului de date si a limitelor de introducere a datelor>

Pentru <2d Picture> nu sunt necesare modificari (dimensiunea acestuia poate fi modificata deoarece se va asigura redimensionarea imaginii in cadrul diagramei bloc) insa pentru un aspect frumos am ascuns eticheta (“Label”) facand: clic dreapta -> Properties->Appearance ->sub “Label” exista un buton visible pe care l-am debifat. Pentru<Horizontal Pointer Slide> pe langa nume va trebui setat si limitele de selectie prin dublu clic pe valoarea care doriti sa o modificati (nota: nu trebuie modificate decat valorile din capete, Labview ajustand mai apoi valorile intermediare).Mai trebuie setat si tipul de date utilizat pe U8 (Unsigned Byte <vezi fig 1.2>). Se seteaza si U16 petru <Horizontal Graduated Bar>.Tot aici Properties->Scale->Scale Range(min: 50 max:500).

Fig 1.4 & 1.5 & 1.6 <Ascundere Label,setare date selectie pentru er si setare Scale Range>

La <Push Button> este necesara modificarea “Mechanical Action” (Modului de functionare a butonului) astfel incat acesta sa fie “Switch when Pressed”. Pentru aceasta: clic dreapta pe buton-> Mechanical Action. Acelasi lucru va fi realizat si pentru cele 4 x <Ok button> cu mentiunea ca aici se va selecta “Latch when released”.

Fig 1.7 <Alegerea modului de actionare>

O ultima modificare consta din setarea textului afisat pe butoane. Se va face clic dreapta -> Properties -> Appearance sub Show Boolean Text. Acesta modificare se va realiza pentru cele 4 <OK button>, optional modificand din acelasi meniu culoarea textului pentru unul dintre butoane (care serveste ca si buton Quit).

Fig 1.8 <Setare text butoane>

Aspectul final si numele toturor controlelor este (dreptughiurile rosii sunt folosite pentru cenzura):

Fig 1.9 <Aspect panou frontal>

Pentru a incepe sa cream diagram block se va face clic pe meniul Window-> Show Block Diagram sau se va apasa tastele Ctrl+E. Controalele din front panel vor aparea si aici. Pentru moment amplasatile undeva unde sa nu va incomodeze si ignoratile. In total vor exista 4 sectiuni. Testarea pe parcurs nu este recomandata.

Pentru prima sectiune se vor insera:

1 x numeric Constant (“Numeric”)

2 x String Constant (“String”)

1 x Empty string Constant (“String”)

1 x Play Sound File (“Programming->Graphics&Sound->Sound->Output”)

11 x Property Node (“Programming->Aplication Control”)

2 x Unboundle by Name (“Programming->Cluster,Class&Variant”)

1 x False si 1 x True Constant (“Boolean”)

2 x Divide (“Numeric”)

1 x Search and Replace String (“String”)

Path-ul de la Background Music (cel din Front Panel)

1 x String Concatenation (“String”)

1 x Min & Max (“Comparation”)

1 x Path to String (“Programming->File I/O->Advance File Functions”)

1 x String to Path (“Programming->File I/O->Advance File Functions”)

1 x read PNG File (“Programming->Graphics&Sound->Graphic Formats”)

1 x Draw Flattened Pixmap (“Programming->Graphics&Sound->Picture functions”)

Pentru a conecta <Property Node> se face clic dreapta pe ele ->link to->pane->se alege controlul dorit. Propietatea dorita se alege din: clic dreapta->Select Property, iar pentru a seta intre modul read/write se face clic dreapta->Change All to Read/Write Mode (in funtie de modul in care va aflati).

Fig 2.1 & 2.2 <Schimbare mode pentru property node si link Property Node>

Fig 2.3 <Selectare propietate>

In cazul <Unboundle by Name> pentru a selecta ce urmeaza sa fie unboundle: dupa conectarea modulului se va face clic stanga pe propietate. Pentru a mai adauga un camp sa va trage de dreptunghiul din mijloc.

Fig 2.4 & 2.5 <Selectare date Unboundle by Name si adaugare de campuri>

Fig 2.6 <Conexiuni

prima sextiune>

Conectat

la sectiunea 4

Pentru cea de-a doua sectiune se vor folosi

3 x Case Structure (“Structures”)

1 x While/Event Structure (“Structures”)

Property Node (“Programming->Aplication Control”)

Multiply/Random Number/Round Towards +Infinity (“Numeric”)

Add/Devide (“Numeric”)

Less or equal/Equal/Greater (“Comparation”)

And/Or/Not (“Boolean”)

True Constant/Boolean to (0,1) (“Boolean”)

1 x Search and Replace String (“String”)

Current Card/Total/Hit Button (din Front Panel)

1 x Concatenate Strings (“String”)

1 x Min & Max (“Comparation”)

1 x Path to String (“Programming->File I/O->Advance File Functions”)

1 x String to Path (“Programming->File I/O->Advance File Functions”)

1 x read PNG File (“Programming->Graphics&Sound->Graphic Formats”)

1 x Draw Flattened Pixmap (“Programming->Graphics&Sound->Picture functions”)

String/Empty String/Numeric Constant (“Numeric/String”)

Aceasta sectiune contine o bucla cu registry de deplasare. Pentru a crea o astfel de bucla se conecteaza o constanta la o bucla while dupa care clic dreapta pe punctul de conexiune si “Replace with Shift Register”.

In cazul structurii cu evenimente pentru a alege evenimentul dorit: clic dreapta pe event si apoi “Edit Event Handled by this case…”

Fig 2.7 si 2.8<Creare bucla cu registry de deplasare si editare eveniment>

Conexiunile acestei sectiuni sunt:

*nota: vi-urile incercuite sunt amplasate aici pentru a nu le pierde.Ele nu sunt conectate*

Fig 2.9.1 <Conexiuni sectiune 2>

Fig 2.9.2 <Conexiuni sectiune 2>

Doar 2 dintre structurile case au ambele cazuri si anume cele 2 puse una in alta:

Fig 2.9.3 <Conexiuni section 2>

Fig 2.9.4 <Conexiuni section 2>

fdsdfg

A treia sectiune contine:

Property Node (“Programming->Aplication Control”)

False/True Constant (“Boolean”)

Bucla cu registry de deplasare

Add/Substract (“Numeric”)

Case/Event Structure (“Structure”)

Greater (“Comparation”)

Conexiunile acesteia sunt:

Fig 2.10.1 <Conexiuni sectiune 3>

Cazul False pentru structura case este:

Fig 2.10.2 <Conexiuni sectiune 3>

Cea de-a patra sectiune si ultima are o legatura cu sectiunea 1 si contine toate vi-urile mentionate mai sus la care se mai adauga:

Stop (“Programming->Aplication Control”)

Wait(ms) (“Timing”)

Modul de realizare a acestei sectiuni este:

Fig 2.11.1 <Conexiuni sectiune 4>

Fig 2.11.2 <Conexiuni sectiune 4>

Are 2 cazuri

Doar structura case marcata are 2 cazuri iar cazul True este:

Fig 2.11.3 <Conexiuni sectiune 4>

Fig 2.11.4 <Conexiuni sectiune 4>

2 cazuri

Fig 2.11.5 <Conexiuni sectiune 4>

Desi este lung programul nu este neaparat complicat. Multitudinea de componente face insa ca defectele sa fie mai greu de identificat; drept pentru care recomand utilizarea de probe pentru a elimina bug-urile din program.

Pentru a functiona inaintea simularii se va alege muzica de fundal (fisier .wav) si din cadrul unui fiser de imagini predefinit (numele sunt : 2 pana la 4 cifre + ref.png si empty.png) o imagine denumita ref.png.Denumirea imaginilor se face dupa logica: culoare,valoare carte + cifra de la 1 la 4 pentru carte 10 (10,J,Q,K au toate valoarea 10).Cartea AS va aparea de 2 ori ca si 1 dar si ca si 11. Empty.png si ref.png sunt spatele unei carti de joc respectiv o poza oarecare. Poza cu spatele unei carti va fi duplicata si pentru: 10,20,30 si 40.Toate poze au format png.

Similar Posts

  • Accidentele Nucleare

    Accidentele nucleare Despre accidentele nucleare Accidentul nuclear (Fig.1) se consideră a fi evenimentul care afectează instalația nucleară și provoacă iradierea sau contaminarea populației și mediului înconjurător peste limitele maxime admise. În funcție de riscul radiobiologic pentru populație și de intensitatea sa de acțiune, accidentul nuclear poate fi încadrat astfel: – Accidentul nuclear minor (de rutină):…

  • Contributii LA Studiul Anatomic Si Clinic AL Glandei Tiroide

    UNIVERSITATEA DE MEDICINĂ ȘI FARMACIE ”CAROL DAVILA” BUCUREȘTI FACULTATEA DE MEDICINĂ Disciplina de Anatomie LUCRARE DE DIPLOMĂ CONTRIBUȚII LA STUDIUL ANATOMIC ȘI CLINIC AL GLANDEI TIROIDE Coordonator științific: Șef Lucraări Dr. Panțu Cosmin Marian Absolvent: Obreja Maria Teodora 2016 CUPRINS PARTEA GENERALĂ Motivatia lucrarii………………………………………………………………………………..2 PARTEA GENERALĂ DEZVOLTAREA VISCEROCRANIULUI……………………………….6 DEZVOLTAREA GLANDEI TIROIDE SI A GLANDELOR PARATIROIDE…………………………………………………………………..11…

  • Managementul Resurselor Umane In Sectorul Bancar

    === 9f923c4ca36ae3e4145db566596366b7c1a8575b_326735_1 === Ϲuрrins Intrοduϲеrе…………………………………………………………………………………………………………………….4 ϹАРIТОLUL I АSРЕϹТЕ GЕΝЕRАLЕ РRIVIΝD МАΝАGЕМЕΝТUL RЕSURSЕLОR UМАΝЕ…………5 I.1 Ϲοnϲерtul dе rеsursе umɑnе………………………………………………………………………………………….5 I.2 Рrinϲiрɑlеlе ɑϲtivități ɑlе mɑnɑɡеmеntului rеsursеlοr umɑnе…………………………………………..7 I.3 Аtribuțiilе dерɑrtɑmеntului dе rеsursе umɑnе…………………………………………………………………8 ϹАРIТОLUL II ЕVАLUАRЕА/АΝАLIΖА РОSТURILОR RЕSURSЕLОR UМАΝЕ……………………………..10 II.1 Еtɑре în еvɑluɑrеɑ рοsturilοr…………………………………………………………………………………….10 II.2 Меtοdе dе еvɑluɑrе ɑ рοsturilοr…………………………………………………………………………………13 ϹАРIТОLUL III RЕϹRUТАRЕА ȘI SЕLЕϹȚIА RЕSURSЕLОR UМАΝЕ……………………………………………..14…

  • Deficientele Socioemotionale la Prescolari

    1. DEZVOLTAREA SOCIOEMOȚIONALĂ. Definitie. Dezvoltarea socială și emoțională reprezintă fundamentul relațiilor și interacțiunilor care dau semnificație experiențelor copiilor de acasă, de la grădiniță, din comunitate. Ea influențează semnificativ succesul copiilor în viață și la școală. Încă din primele clipe ale vieții copiii stabilesc interacțiuni cu părinții, alte persoane din familie, cu alți copii și adulți….

  • Marketing Pentru Dezvoltare

    Marketing pentru dezvoltare Este destul de greu, în zille noastre, să adăugăm ceva nou în piață de comunicare prin audiovizual sau print. Numeroase campanii de publicitate desfășurate în medii interactive și inovatoare au demonstrat că eficiența acestora depinde foarte mult de publicul țintă. Însă pentru o comunicare directă a unui mesaj către un public larg,…

  • Elemente Folclorice și Etnografice în Comuna Putna

    UNIVESITATEA ȘTEFAN CEL MARE SUCEAVA FACULTATEA DE LITERE ȘI ȘTIINȚE ALE COMUNICĂRII SPECIALIZAREA: LIMBĂ ȘI LITERATURĂ ENGLEZĂ- LIMBĂ ȘI LITERATURĂ ROMÂNĂ LUCRARE DE LICENȚĂ Elemente folclorice și etnografice în comuna Putna Profesor coordonator Studentă Conf. Univ. Dr. CUPRINS ARGUMENT 3 CAPITOLUL I 5 Aspecte geografice, istorice și culturale privitoare la comuna Putna I.1. Locuința ca…