(TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka...
Transcript of (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka...
![Page 1: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/1.jpg)
1
Univerzitet u Novom Sadu
Tehnički fakultet ,,Mihajlo Pupin”
Zrenjanin
SEMINARSKI RAD Predmet: Programski prevodioci
Tema:
Upoređivanje gramatike programskog jezika C# i Java na primeru
objektno-orijentisane aplikacije uz primenu baze podataka
-Evidencija rezultata igrice Borilačka arena uz SQLite bazu podataka-
(TIP 5/a)
Predmetni nastavnik: Dr. Ljubica Kazi Student: Sovilj Ivana SI 10/17
Zrenjanin, 2020. godina
![Page 2: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/2.jpg)
_
2
1. Zadatak ................................................................................................................................................ 4
2. Opis poslovnog konteksta realizovanog primera ................................................................................ 5
3. Kratak opis razvojnog okruženja ......................................................................................................... 6
Java .................................................................................................................................................. 6
IntelliJ IDEA 2020 .................................................................................................................... 6
Namena alata .................................................................................................................. 6
Izgled ekrana alata .......................................................................................................... 6
Opis načina korišdenja .................................................................................................... 8
C# .................................................................................................................................................. 14
Microsoft Visual Studio 2019 ................................................................................................ 14
Namena alata ................................................................................................................ 14
Izgled ekrana alata ........................................................................................................ 14
Opis načina korišdenja .................................................................................................. 15
4. Kratak opis alata za analizu rada aplikacije ....................................................................................... 20
Java ................................................................................................................................................ 20
Namena alata ........................................................................................................................ 20
Izgled ekrana alata ................................................................................................................ 20
C# .................................................................................................................................................. 21
Namena alata ........................................................................................................................ 21
Izgled ekrana alata ................................................................................................................ 21
5. Korisničko uputstvo razvijene aplikacije ........................................................................................... 22
Namena aplikacije i osnovne funkcije ................................................................................... 22
Ekrani i način korišdenja ........................................................................................................ 22
6. Opis implementacije ......................................................................................................................... 26
Java ................................................................................................................................................ 26
Dizajn korisničkog interfejsa ................................................................................................. 26
![Page 3: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/3.jpg)
_
3
Ključni delovi programskog koda sa objašnjenjem ............................................................... 30
C# .................................................................................................................................................. 35
Dizajn korisničkog interfejsa ................................................................................................. 35
Ključni delovi programskog koda sa objašnjenjem ............................................................... 39
7. Greške porgramskog koda ................................................................................................................ 46
Java ................................................................................................................................................ 46
Segmenti programskog koda sa greškama i korekcija .......................................................... 46
C# .................................................................................................................................................. 49
Segmenti programskog koda sa greškama i korekcija .......................................................... 49
Pravila i EBNF prikaz gramatički ispravnog programskog koda .................................................... 52
8. Prikaz primene alata u detektovanju grešaka ................................................................................... 54
Java ................................................................................................................................................ 54
Ekranski prikaz izveštaja kompajlera nad neispravnim kodom i nakon popravke ................ 54
Ekranski prikaz reakcije na run-time grešku ......................................................................... 55
C# .................................................................................................................................................. 56
Ekranski prikaz izveštaja kompajlera nad neispravnim kodom i nakon popravke ................ 56
Ekranski prikaz reakcije na run-time greške ......................................................................... 57
9. Zaključak ............................................................................................................................................ 58
10. Literatura ......................................................................................................................................... 59
11. Listing .............................................................................................................................................. 60
Java ................................................................................................................................................ 60
C# .................................................................................................................................................. 65
![Page 4: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/4.jpg)
4
1. Zadatak
Uporediti gramatike 2 programska jezika. Napisati isti objektno-orjentisani programski kod
koji realizuje osnovni rad sa bazom podataka primenom 2 programska jezika. Kreirati u kodu
namerne greške 4 tipa – leksičku, sintaksnu, semantičku i run-time. Pustiti standardni
kompajler za svaki jezik da detektuje greške i prikazati izveštaj koji daje u vezi grešaka i
ispravnog rada.
![Page 5: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/5.jpg)
_
5
2. Opis poslovnog konteksta realizovanog primera
U ovom primeru realizovana je desktop aplikacija pod naziv Borilačka arena. Aplikacija-igrica
omogućava igračima da se takmiče sa izabranim protivnikom (racunarom ili kolegom).
Svaki igrač ima slobodu odabira arene u kojoj će se takmičiti, kao i igrača sa jedinstvenim
čarolijama.
Po završetku, takmičari imaju mogućnost da pogledaju rezultate meča zahvaljujući SQLite
bazi podataka koja pamti njihove poteze, sumira snagu igrača i proglašava pobednika igre.
U samom kodu, jedan igrač je jedna nit, što znači da su sinhronizovani njihovi potezi (dok
jedan igrač ne odigra svoj potez, protivnik neće započinjati svoj).
![Page 6: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/6.jpg)
_
6
3. Kratak opis razvojnog okruženja
Java
IntelliJ IDEA 2020
Namena alata
IntelliJ IDEA je alat koji prestavlja integrisano razvojno okruženje (Integrated Development
Environment - IDE) za kreiranje softvera.
Razvoj savremenih aplikacija uključuje upotrebu više jezika, alata, okvira i tehnologija.
Daje podršku za razvoj programa primenom različitih programskih jezika, pri čemu se
najčešće koristi Java.
Java kod se izvršava korišćenjem Java Virtuelne Mašine (JVM).
JVM je jezgro Jave, to je apstraktna mašina koja postoji samo u memoriji.
Java je jezik koji se prevodi i interpretira: (java izvorni kod - *.java fajl, nakon kompajliranja
(kompajlerom javac) se prevodi u bajtkod - *.class fajl, bajtkod se pomoću java interpretera
dešifruje i interpretira u izvršni kod).
Izgled ekrana alata
Na slici 1. je prikazan izgled alata IntelliJ IDEA nakon pokrenute desktop aplikacije.
U odeljku project nalaze se fajlovi sa klasama (java kod), bazom podataka, importovanim
JDBC drajverom za konekciju sa bazom podataka i ikonicama importovanim za korisnički
interfejs.
Na slici 2. je sa leve strane prikazan Toolbox zahvaljujući importovanom Scene Builder-u koji
omogućava postavljanje grafičkih kontrola, dok se sa desne strane nalaze Properties, Code i
Layout gde se podešavaju osobine aktivne grafičke kontrole.
![Page 7: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/7.jpg)
_
7
Slika 1 Izgled alata IntelliJ IDEA nakon pokrenute desktop aplikacije
Slika 2 Izgled IntelliJ IDEA sa alatima za korisnički interfejs
![Page 8: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/8.jpg)
_
8
Opis načina korišćenja
Kako bi se JavaFX desktop aplikacija mogla pokrenuti neophodno je pratiti sledeće korake:
1. Kreiranje novog projekta
Odabir JavaFX Application sa instaliranim SDK(Software Development Kit), u ovom slucaju
instalirane verzije 14.0.1.
Slika 3 Kreiranje novog projekta u smeru realizovanja JavaFX aplikacije
2. Postavljanje putanje do Main klase
Kako bi aplikacija mogla da se pokrene neophodno je kreirati fajl module-info.java u kom se
nalazi putanja do Main klase, u kojoj se nalazi statična main metoda za pokretanje aplikacije.
Što je prikazano na slici br. 4.
Slika 4 Prikaz module-info.java fajla
![Page 9: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/9.jpg)
_
9
3. Importovanje javafx biblioteka za javafx desktop aplikaciju
Klikom na file u levom gornjem uglu, a zatim klikom na Project Structure, mogu se pogledati
biblioteke koje su importovane u naš projekat, a koje su nam neophodne kako bismo koristili
JavaFX biblioteke.
Na slici 5. je lista koju čine:
Javafx-swt
Javafx.base
Javafx.controls
Javafx.fxml
Javafx.graphics
Javafx.media
Javafx.swing
Javafx.web
Slika 5 Project Structure sa importovanim bibliotekama
![Page 10: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/10.jpg)
_
10
Importovanje istih prilikom kodiranja:
Slika 6 Prikaz klase IgraController gde se vrši direktan import javafx neophodnih biblioteka
klasa
Slika 7 Uveličan prikaz slike 6
Sada je pokretanje desktop aplikacije validno.
Kako bi se JavaFX desktop aplikacija mogla povezati sam SQLite bazom podataka neophodno
je pratiti sledeće korake:
1. Otvoriti https://www.sqlite.org/download.html i uraditi download prikazan na slici br.8
ukoliko je operativni sistem Windows.
![Page 11: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/11.jpg)
_
11
Slika 8 Download sqlite .exe fajla
2. Eksportovati .zip fajl u folderu po zelji na računaru, a zatim desnim klikom na
This PC ---> Properties ---> Advanced system settings ---> Advanced ---> Environment
variables ---> PATH,
dodati putanju do .exe fajla.
3. Otvoriti https://bitbucket.org/xerial/sqlite-jdbc/downloads/ i uraditi download
sqlite-jdbc-3.27.2.1.jar drajvera.
4. Importovati jdbc drajver u svoj projekat
5. Kreirati bazu podataka
6. Sledi konekcija sa SQLite bazom podataka gde se na slici br.8. može videti putanja do
kreirane baze podataka pod nazivom Borba.db.
Slika 9 Konekcija sam SQLite bazom podataka
![Page 12: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/12.jpg)
_
12
7. Na mestu gde se nalazi klasa konekcije sa bazom podataka, neophodno je u terminalu uneti
sledeću komandu:
Umesto Connect, uneće se naziv klase gde je konekcija sa bazom.
Slika 10 Cmd komanda konekcije
8. Nakon ovog koraka dobija se potvrda o tome da li je uspešno povezana aplikacija sa
bazom podataka preko jdbc drajvera.
Neophodno je navesti u terminalu sledeću komandu i nakon toga putanju do klase gde je
uraĎena konekcija sa bazom. Naravno, u slučaju da je ista verzija skinuta kao i na slici 11.
Slika 11 Cmd komanda putanje do jdbc drajvera
Konekcija sa bazom podataka je završena.
Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz. (Slika 12. , Slika 13. , Slika 14.)
Slika 12 Kreiranje tabele
![Page 13: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/13.jpg)
_
13
Slika 13 Unošenje podataka u tabelu
Slika 14 Prikaz rezultata nakon borbe
![Page 14: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/14.jpg)
_
14
C#
Microsoft Visual Studio 2019
Namena alata
Microsoft Visual Studio 2019 je alat opšteg tipa koji predstavlja integrisano razvojno
okruženje za kreiranje softvera opšteg tipa. Daje podršku za razvoj programa primenom
različitih programskih jezika, pri čemu se najčešće koristi C#. TakoĎe, daje mogućnosti
kreiranja projekata različitih vrsta, koje se mogu kombinovati u različite softverske
arhitekture. Najčešće korišćene su desktop aplikacije, biblioteke klasa, veb servisi, veb
aplikacije, a novije verzije Visual Studio nude mogućnost i izrade mobilnih aplikacija.
Izgled ekrana alata
Na slici 15. je prikazan izgled alata Microsoft Visual Studio 2019 realizovane desktop
aplikacije. U levom delu najčešće se nalazi Toolbox koji omogućava postavljanje grafičkih
kontrola, u gornjem desnom uglu je Solution Explorer gde je dat spisak fajlova koji čine
projekat, a dole desno je odeljak Properties gde se podešavaju osobine aktivne grafičke
kontrole.
Slika 15 Izgled alata Microsoft Visual Studio 2019
![Page 15: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/15.jpg)
_
15
Opis načina korišćenja
Kako bi se desktop aplikacija mogla pokrenuti neophodno je pratiti sledeće korake:
1. Kreiranje novog projekta
Odabir Windows Forms Application (.NET Framework), kao što je prikazano na slici 16.
Slika 16 Kreiranje projekta
2. Kreiranje Windows Forms
Prilikom dodavanja Windows Forms dobijamo sledeće:
NazivKlase.Designer.cs (Slika 17.)
Upotreba: Automatski deklariše varijable koje koje su tipa: button, label i drugo ubačeno za
komunikaciju sa korisnikom.
![Page 16: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/16.jpg)
_
16
Slika 17 Heroj.Designer.cs klasa
NazivKlase.cs (Slika 18.)
Upotreba: Ukoliko se vrše odreĎene funkcije neophodno ih je obraditi u ovoj klasi (poput
prelaska na novi prozor, unos podataka i drugo)
Slika 18 Heroj.cs klasa
![Page 17: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/17.jpg)
_
17
NazivKlase.cs[Design] (Slika 19.)
Slika 19 Design klase Heroj.cs
Kako bi se desktop aplikacija mogla povezati sa SQLite bazom podataka neophodno je:
1. Kliknuti desnim klikom na Solution koji se nalazi u desnom gornjem uglu, a zatim na
Manage NuGet packages for Solution--->search(System.Data.SQLite) i uraditi downlaod, kao
što je prikazano na slici 20.
![Page 18: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/18.jpg)
_
18
Slika 20 Instalacija System.Data.SQLite
2. Uspostaviti konekciju sa bazom podataka kreiranoj u projektu pod nazivom Borba.db, kao
što je prikazano na slici 21.
Slika 21 Konekcija sa SQLite bazom podataka
![Page 19: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/19.jpg)
_
19
3. Kreiranje tabele (Slika 22.)
Slika 22 Kreiranje tabele
4. Unos pdataka u tabelu(Slika 23.)
Slika 23 Unošenje podataka u tabelu
5. Ispis rezultata- štampanje podataka (Slika 24.)
Slika 24 Prikaz rezultata igre
![Page 20: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/20.jpg)
_
20
4. Kratak opis alata za analizu rada aplikacije
Java
Namena alata
Za analizu rada (u ovom slučaju desktop) aplikacije usled grešaka, neophodno je postaviti
breakpoint na odreĎene delove koda gde želimo da ispitamo grešku i pogrenemo debug.
Debug-ovanje programa olakšava pronalaženje i uklanjanje grešaka, kao i praćenje izvršavanja
linija koda koje obeležimo.
Izgled ekrana alata
Slika 25
Na slici je prikazana izabrana Main klasa, prilikom pokretanja programa, main metoda se prva
izvršava. Desno se nalazi strelica što označava pokretanje programa(run), dok se pored desno
nalazi ikonica za debug.
Postavljanje breakpoint-a (crveni krug na pocetak linije koda):
Slika 26
Prilikom pokretanja, dobija se izveštaj o označenom delu koda:
Slika 27
![Page 21: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/21.jpg)
_
21
C#
Namena alata
Za analizu rada (u ovom slučaju desktop) aplikacije usled grešaka, neophodno je postaviti
breakpoint na odreĎene delove koda gde želimo da ispitamo grešku i pogrenemo debug.
Debug-ovanje programa olakšava pronalaženje i uklanjanje grešaka, kao i praćenje izvršavanja
linija koda koje obeležimo.
Izgled ekrana alata
Za opciju build project potrebno je odabrati opciju:
Slika 28
Postavljanje breakpoint-a (crveni krug na pocetak linije koda):
Slika 29
Prilikom pokretanja, dobija se izveštaj o označenom delu koda:
Slika 30
![Page 22: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/22.jpg)
_
22
5. Korisničko uputstvo razvijene aplikacije
Namena aplikacije i osnovne funkcije
Osnovna namena aplikacije je zabava za ljubitelje igrica. Osnovne funkcije su:
Unos podataka
Borba (izmena početnih vrednosti podataka podataka)
Prikaz rezultata pobednika
Ekrani i način korišćenja
Prikaz samo ekrana u IntelliJ IDEA (isto je i u Visual Studio-u):
Nakon pokretanja aplikacije: (Slika 25.)
Slika 31 Prikaz forme nakon pokrenute aplikacije
![Page 23: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/23.jpg)
_
23
Prelazak na formu gde se bira način borbe (Slika 26.)
Slika 26 Prikaz forme za odabir načina borbe
Prelazak na formu gde se bira heroj (Slika 27.)
Slika 27 Prkaz forme za odabir heroja
![Page 24: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/24.jpg)
_
24
Prelazak na formu gde se bira arena (Slika 28.)
Slika 28 Prikaz forme za odabir arene
Nakon odabranog:
Heroj: Ratnika
Arena: Arena ubica
Način borbe: Kompjuter
Prikazuje se borba: (Slika 29.) gde se Ratnik bori protiv Čarobnjaka(random izabrani heroj),
gde svako ima svoje čarolije kojima napada protivnika, kao i snagu, zdravlje za opstanak u
borbi.
![Page 25: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/25.jpg)
_
25
Slika 29 Prikaz forme za borbu sa unešenim odabranim karakteristikama
![Page 26: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/26.jpg)
_
26
6. Opis implementacije
Java
Dizajn korisničkog interfejsa
Scene Builder generiše izvorni kod FXML dokumenta kako se definiše grafički korisnički
interfejs za JavaFX aplikaciju.
Scene Builder omogućava da se brzo i jednostavno napravi prototip interaktivne aplikacije
koja povezuje vizuelne komponente sa logikom aplikacije.
JavaFX Scene Builder je alat za dizajniranje JavaFX aplikacija.
Omogućava jednostavno prevlačenje (drag-and-drop) i pozicioniranje komponenata
grafičkog korisničkog interfejsa na JavaFX scenu.
Kako se gradi scena, tako se automatski generiše odgovarajući FXML dokument.
Slika 30 Prikaz alata Scene Builder
![Page 27: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/27.jpg)
_
27
Na slici 30. prikazan je izgled alata Scene Builder koji se sastoji iz:
Containers, Controls, Menu, 3D, Charts, Shapes, Miscellaneous sa jedne strane
Slika 31 Prikaz alata sa leve strane slike 30.
Properties, Layouts, Code sa druge strane
Slika 32 Prikaz alata sa desne strane slike 30.
Scene Builder omogućava jednostavno prevlačenje (drag-and-drop) i pozicioniranje
komponenata grafičkog korisničkog interfejsa na JavaFX scenu.
Na slici 30. u donjem levom uglu mogu se zapaziti opcije: Scene Builder i Text.
Text: .fxml fajl
FXML je zasnovan na jeziku XML i obezbeĎuje strukturu za izgradnju grafičkog korisničkog
interfejsa odvojeno od aplikacione logike koda.
FXML nema shemu poput XML-a, ali ima osnovnu, unapred definisanu strukturu.
FXML je direktno povezan sa Javom. Iako FXML može da se koristi za kreiranje bilo kakvog
grafičkog korisničkog interfejsa, posebno je koristan za kreiranje grafičkih korisničkih
interfejsa koji imaju velike, kompleksne grafove scena, forme, unos podataka ili složene
animacije.
![Page 28: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/28.jpg)
_
28
FXML je pogodan za definisanje statičkih rasporeda kao što su forme, kontrole i tabele, ili za
dinamičke sadržaje koji uključuju skripte.
Akcije
Na slici 33. prikazan je Code odeljak gde je za button ---> postavljena akcija pod nazivom
#sledećaStrana.
Slika 33 Prikaz akcije dugmeta radi prelaska na sledeću stranu
U Text odeljku to izgleda:
Slika 34 Prikaz akcije u .fxml fajlu
FXML fajl sadrži putanju do kontrolera koji će preispitati uslove za prelazak na sledeću
stranu.(Slika 35.) - metoda sledecaStrana()
U ovom metodi ispituje se uslov (u ovom slučaju da li je korisnik u text field uneo 1, 2 ili 3 tj.
Da li je odabrao koji će heroj da bude). Samo u ova tri slučaja može preći na sledeću stranu.
![Page 29: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/29.jpg)
_
29
Slika 35 Kontroler Heroj
![Page 30: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/30.jpg)
_
30
Ključni delovi programskog koda sa objašnjenjem
Prilikom startovanja borbe odvija se ključan deo, a to je:
Startovanje niti (jedni nit(thread) - jedan heroj)
Slika 36 Startovanje tredova nakon postavljanja vrednosti moći u textfield-ove
![Page 31: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/31.jpg)
_
31
Na slici 37. nalazi se prikaz koda klase Heroj1, a na slici 38. klase Heroj2.
Ove klase nasleĎuju klasu Thread i u okviru run() metode bavljaju svoju funkciju-regulisanje
stanja igrača tokom borbe.
Slika 37 klasa Heroj1
Slika 38 Klasa Heroj2
![Page 32: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/32.jpg)
_
32
Kako bi potezi igrača bili sinhronizovani, neophodno je korišćenje semafora.
Definicija semafora nalazi se na slici broj 39.
Slika 39 Definicija semafora
Zahvaljujući metodama potezPrvogIgrača i PotezDrugogIgrača, kao i metodama: acquire() i
release(), prvi borac čeka na protivnika i obrnuto.
Slika 40 Metoda potez prvog protivnika u okviru klase Borba
![Page 33: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/33.jpg)
_
33
Slika 41 Metoda potez drugog protivnika u okviru klase Borba
Kao komunikacija izmeĎu logike igrice i korisničkog interfejsa, postoji kontroler klasa koja
refresh-uje trenutne rezultate nakon poteza boraca.
Na slici 42. vidi se funkcija metode refresh-a i korisničkog interfejsa (Slika 43.)
Slika 42 Metoda za refresh rezultata
![Page 34: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/34.jpg)
_
34
Prikaz korisničkog interfejsa nakon završene borbe(izmenjene osobine igrača ).
Slika 43 Prikaz stanja nakon završene borbe- User Interface
![Page 35: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/35.jpg)
_
35
C#
Dizajn korisničkog interfejsa
WPF (Windows Presentation Foundation) predstavlja grafički podstistem .NET Framework-a
direktno povezan sa XAML - om.
Omogućava programski model za izfradnju aplikacija i obezbeĎuje jasnu razliku izmeĎu
korisničkog interfejsa i business logike.
WPF aplikacije se mogu razvijati kao Desktop i Web aplikacije. WPF omogućava bogat dizajn,
kontorlu i razvoj vizuelnih aspekata Windows programa.
Arhitektura WPF-a obuhvata komponente koje pripadaju upravljivom i neupravljivom kodu.
Slika 44 Prikaz alata
Na slici 44. prestavljen je prikaz alata koji obuhvata:
AllWindowsForms(Slika 45. )
Properties(Slika 46. )
![Page 36: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/36.jpg)
_
36
Slika 45 Toolbox
![Page 37: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/37.jpg)
_
37
Slika 46 Properties
Prilikom dodavanja Windows Forms dobijamo sledeće:
NazivKlase.Designer.cs (Slika 47.)
Upotreba: Automatski deklariše varijable koje koje su tipa: button, label i drugo ubačeno za
komunikaciju sa korisnikom.
![Page 38: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/38.jpg)
_
38
Slika 47 Heroj.Designer.cs klasa
NazivKlase.cs (Slika 48.)
Upotreba: Ukoliko se vrše odreĎene funkcije neophodno ih je obraditi u ovoj klasi (poput
prelaska na novi prozor, unos podataka i drugo).
U primeru sa slike prelazak na sledeći prozor gde se bira arena u kojoj će se borba odvijati,
moguće je smao ukoliko se zadovolji uslov: a to da je da korisnik unese redni broj heroja kojeg
bira.
Slika 48 Heroj.cs klasa
![Page 39: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/39.jpg)
_
39
NazivKlase.cs[Design] (Slika 49.)
Slika 49 Design klase Heroj.cs
Ključni delovi programskog koda sa objašnjenjem
U programskom jeziku C# dolazi do različitosti u odnosu na ključan deo aplikacije, a to je rad
niti i njihova sinhronizacija. S obzirom na drugačije alate koje koriste, takoĎe se predstavljaju
delovi koda i korisnički interfejs u Microsoft Visual Studio-u.
Prilikom startovanja borbe odvija se ključan deo, a to je:
Startovanje niti (jedni nit(thread) - jedan heroj)
![Page 40: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/40.jpg)
_
40
Slika 50 Startovanje tredova nakon postavljanja vrednosti moći u textfield-ove
Definicija niti pozivanjem metoda run():
Slika 51 Definicija niti u programskom jeziku C#
![Page 41: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/41.jpg)
_
41
Na slici 52. nalazi se prikaz koda klase Heroj1, a na slici 53. klase Heroj2.
Ove klase ne nasleĎuju klasu Thread, kao što je to slučaj u programskom jeziku Java.
Slika 52 klasa Heroj1
Slika 53 Klasa Heroj2
![Page 42: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/42.jpg)
_
42
Kako bi potezi igrača bili sinhronizovani, neophodno je korišćenje semafora.
Definicija semafora nalazi se na slici broj 54.
Slika 54 Definicija semafora
Zahvaljujući metodama potezPrvogIgrača i PotezDrugogIgrača, kao i metodama: acquire() i
release(), prvi borac čeka na protivnika i obrnuto.
Slika 55 Metoda potez prvog igrača u okviru klase Borba
![Page 43: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/43.jpg)
_
43
Slika 56 Metoda potez drugog igrača u okviru klase Borba
Kao komunikacija izmeĎu logike igrice i korisničkog interfejsa, postoji kontroler klasa koja
refresh-uje trenutne rezultate nakon poteza boraca.
Na slici 57. vidi se funkcija metode refresh-a i korisničkog interfejsa (Slika 58.)
![Page 44: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/44.jpg)
_
44
Slika 57 Metoda za refresh rezultata
![Page 45: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/45.jpg)
_
45
Prikaz korisničkog interfejsa nakon završene borbe(izmenjene osobine igrača ).
Slika 58 Prikaz stanja nakon završene borbe- User Interface
![Page 46: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/46.jpg)
_
46
7. Greške porgramskog koda
Java
Segmenti programskog koda sa greškama i korekcija
Sintaksne greške
NEISPRAVNO
Slika 59
ISPRAVNO
Slika 60
NEISPRAVNO
Slika 61
ISPRAVNO
Slika 62
Leksičke greške
NEISPRAVNO
![Page 47: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/47.jpg)
_
47
Slika 63
ISPRAVNO
Slika 64
Semantičke greške
NEISPRAVNO
Slika 65
ISPRAVNO
Slika 66
NEISPRAVNO
Slika 67
ISPRAVNO
Slika 67
![Page 48: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/48.jpg)
_
48
Run-time greške
NEISPRAVNO
Slika 69
ISPRAVNO
Slika 70
![Page 49: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/49.jpg)
_
49
C#
Segmenti programskog koda sa greškama i korekcija
Sintaksne greške
NEISPRAVNO
Slika 71
ISPRAVNO
Slika 72
NEISPRAVNO
Slika 73
ISPRAVNO
Slika 74
![Page 50: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/50.jpg)
_
50
Leksičke greške
NEISPRAVNO
Slika 75
ISPRAVNO
Slika 76
Semantičke greške
NEISPRAVNO
Slika 77
ISPRAVNO
Slika 78
NEISPRAVNO
Slika 79
![Page 51: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/51.jpg)
_
51
ISPRAVNO
Slika 80
Run-time greške
NEISPRAVNO
Slika 81
ISPRAVNO
Slika 82
![Page 52: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/52.jpg)
_
52
Pravila i EBNF prikaz gramatički ispravnog programskog koda
Napravljene sintaksne greške
1) Pravilo:
Naredba uvek ima ; na kraju.
EBNF
<identifikator>::=<telo_naredbe>”;”
2) Pravilo:
Prilikom kreiranje objekta klase obavezno ide () - sa ili bez parametara u zavisnosti od
konstruktora, pre oznake(;).
EBNF
<identifikator> ::=<telo_naredbe>( [identifikator] )<separator>
Napravljene leksičke greške
3) Pravilo:
Prilikom poziva metode iz druge ili iste klase, neophodno je navesti tačan naziv metode.
EBNF
<identifikator1> ::=<identifikator2><naziv_metode>( [identifikator] )<separator>
Napravljene semantičke greške
4) Pravilo:
Potrebno je navesti onoliko argumenata unutar () prilikom poziva metode, koliko i ima
argumenata prilikom definisanja metode.
EBNF
![Page 53: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/53.jpg)
_
53
<identifikator> ::=<identifikator2><naziv_metode>( [identifikator] ) || ()<separator>
5) Pravilo:
Neophodno je da se prilikom definisanja promenjive navede njena vrednost tako da bude tipa
koji je deklarisan (int, string...)
EBNF
<int> <identifikator> ::= cifra{cifra}
||
<string> <promenjiva_tipa_string> ::= <vrednost>
<cifra> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
Napravljene run-time greške
6) Pravilo:
Kako bi se izbegla runtime greška, nije dozvoljeno deklarisati promenjivu tipa int i dodeliti jos
vrednost : broj podeljen nulom, kao što je prikazano na slici br. 69.
Izuzetak je „signal“ koji Java virtuelna mašina generiše ukoliko
detektuje grešku prilikom izvršavanja programa.
EBNF
<int> <identifikator> ::= cifra{cifra}
<cifra> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
7) Pravilo:
Kako bi se izbegla runtime greška, promenjivu je neophodno kastovati na ispravan način.
EBNF
<int> <identifikator> ::= <mestoZaKastovanje><identifikator><separator>
![Page 54: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/54.jpg)
_
54
8. Prikaz primene alata u detektovanju grešaka
Java
Ekranski prikaz izveštaja kompajlera nad neispravnim kodom i nakon
popravke
Greške pri neispravnom kodu:
Slika 83
Slika 84
Slika 85
Slika 86
Slika 87
![Page 55: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/55.jpg)
_
55
Nakon popravke:
Slika 88
Ekranski prikaz reakcije na run-time grešku
Slika 89
![Page 56: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/56.jpg)
_
56
C#
Ekranski prikaz izveštaja kompajlera nad neispravnim kodom i nakon
popravke
Greške pri neispravnom kodu:
Slika 90
Nakon popravke:
Slika 91
![Page 57: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/57.jpg)
_
57
Ekranski prikaz reakcije na run-time greške
Slika 92
![Page 58: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/58.jpg)
_
58
9. Zaključak
Cilj ovog rada jeste uporeĎivanje gramatike jezika Java i C#, dok je naglasak na objektno
orijentisanom programiranju uz konekciju sa bazom podataka.
Kroz realizaciju ovog seminarskog rada dolazim do zaključka da je sintaksa programskih
jezika Java i C# veoma slična, a kada je reč o semantici postoje odreĎena odstupanja.
UporeĎivanjem gramatike ova dva jezika, kao i rad u različitim okruženjima poput Visual
Studio-a i IntelliJ IDEA, dovodi do uspešnijeg i bržeg savladavanja grešaka i njihovog
prepoznavanja.
![Page 59: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/59.jpg)
_
59
10. Literatura
1) BNF I EBNF slajdovi
https://condor.depaul.edu/ichu/csc447/notes/wk3/BNF.pdf
![Page 60: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/60.jpg)
_
60
11. Listing
Java
Klasa Heroj1- logika poteza prvog igrača
Slika 93
Slika 94
![Page 61: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/61.jpg)
_
61
Slika 95
Klasa Heroj2- logika poteza drugog igrača
Slika 96
![Page 62: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/62.jpg)
_
62
Slika 97
Slika 98
![Page 63: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/63.jpg)
_
63
Slika 99
Slika 100
![Page 64: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/64.jpg)
_
64
Konekcija sa SQLite bazom podataka
Slika 101
Slika 102
Slika 103
![Page 65: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/65.jpg)
65
C#
Klasa Heroj1- logika poteza prvog igrača
Slika 104
Slika 105
![Page 66: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/66.jpg)
_
66
Slika 106
Slika 107
![Page 67: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/67.jpg)
67
Klasa Heroj2- logika poteza drugog igrača
Slika 108
Slika 109
![Page 68: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/68.jpg)
_
68
Slika 110
Slika 111
![Page 69: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/69.jpg)
_
69
Slika 112
Slika 113
![Page 70: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/70.jpg)
70
Konekcija sa SQLite bazom podataka
Slika 114
Slika 115
![Page 71: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/71.jpg)
_
71
![Page 72: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/72.jpg)
72
![Page 73: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/73.jpg)
_
73
![Page 74: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/74.jpg)
74
![Page 75: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/75.jpg)
75
![Page 76: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/76.jpg)
76
![Page 77: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/77.jpg)
77
![Page 78: (TIP 5/a) - TFZR - Index...Slika 11 Cmd komanda putanje do jdbc drajvera Konekcija sa bazom podataka je završena. Sledi kreiranje tabele i unos podataka u istu, kao i ispis-prikaz.](https://reader036.fdocument.pub/reader036/viewer/2022081403/60a5d6744638213d532c82eb/html5/thumbnails/78.jpg)
_
78