• Apgrejdovali smo forum na XenForo 2.1.1, ukoliko imate predloga vezanih za izgled ili funkcionalnost foruma, ili ukoliko naletite na neki problem, javite nam OVDE

    DEFINISALI SMO PRAVILA FORUMA. Pročitajte ih, pojaviće se automatski kada krenete da čitate nešto!

XNA Programiranje Igara | Tutorijal #01 | Uvod u C#

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Dobro došli u mini kurs programiranja igara u XNA framework-u. Ovom prilikom bih zamolio moderatore, da ukoliko je moguce, omoguce pisanje postova ovakve sadržine u zasebnom podforumu, recimo "Uputstva" ili "Tutorijali". Hvala! :)

Šta ćemo danas obraditi?
Ovakav pasus će vas definitivno sačekati u svakom od narednih tutorijala, a današnji nije izuzetak. Danas, prvenstveno ćemo se upoznati sa načinom pisanja koda, kratkom istorijom našeg programskog jezika i podesiti radno okruženje. Ako ste spremni, 'ajde da počnemo!

Šta je C# | Primena
C# (čitaj : si-šarp) jeste objektno-orijentisan programski jezik. Ovo znači da je glavni smisao pisanja koda u ovom slučaju, definisanje podataka, nasuprot primenjivanja programske logike što je prisutno u starijim jezicima. U OOP (objektno-orijentisanom programiranju) svi elementi su međusobno povezani u veće grupacije (biblioteke i klase) ili manje blokove (metode ili funkcije). C# je po sintaksi i bibliotekama najviše sličan Java (čitaj : džava) programskom jeziku, a ova 2 zajedno sa C++ jezikom čine čuvenu trojku-treće generacije. C# je generalno stekao pažnju tokom druge polovine prve decenije trećeg milenijuma i mnoga open-source rešenja poput Mono framework-a omogućila su C#-u da postane jezik svih platformi. Ovo znači da danas, bez obzira da li programirate aplikaciju namenjenu za upotrebu na Android TV, iOS, PlayStation 4 ili pak stvarate robota nove generacije, možete koristiti C#. Trenutna verzija C#-a jeste C# 7.0, a Microsoft redovno objavljuje nove verzije, mada su funkcije posle C# 5.0 bespotrebne većini divelopera.

Instalacija radnog okruženja
Naravno da ne možemo stvoriti nešto ni iz čega, pa tako i ovde. Potreban će vam biti IRO (en. IDE - Integrated Development Environment), tj. Integrisano Razvojno Okruženje. Ovaj alat sadrži mnoštvo drugih alata i olakšava razvoj softvera, u našem slučaju igara. Jedan od najkorišćenijih jeste Microsoft Visual Studio, koji je za učenike obezbedio besplatnu "Community" verziju. Ranije besplatne verzije, poznate su kao "Express" i znatno su manje, ali poseduju i manje funkcionalnosti, tako da ćemo se držati poslednje verzije. Generalno hardver ne bi trebao da predstavlja problem, ali utvrdite da li ste ok :
  • Procesor : Core 2 Duo 1.8GHz+ (preporucio bih bar i5 1st gen)
  • RAM : 2GB (preporucio bih bar 8GB, mada meni ni mojih 16 nije dosta :D)
  • Hard Disk : 8GB slobodnog prostora
  • Grafička Karta + Monitor : 128MB Video Memorije + 1280x720p rezolucija (najbolje radi na 16:9 rezolucijama 1366x768+, mada ja koristim na 1:1 monitoru, da 1:1)
Za instalaciju pratite sledeće :
  • Preuzmite Visual Studio Community ovde : KLIKNI ME!
  • Kliknite "Continue" kada instalacioni fajl pita neku glupost
  • Sačekajte minut-dva i selektujte pravougaonik u kome pise : ".NET desktop environment"
  • Odaberite Install
  • Sačekajte 10-45 minuta, u zavisnoti od brzine interneta
  • Ulogujte se u vaš Microsoft nalog
  • Odaberite paletu boja (najbolje funkcioniše akcenat na tamnoj temi, tako da će olakšati upotrebu i preporučujem je)
Sada ste spremni za sav kod koji treba obraditi ;)

Način pisanja koda
Ovo je jedna pomalo dosadna oblast, ali će vam pomoći da bolje razumete svoj kod i da generalno budete bolji programeri.
Pri pisanju koda, važno je raspoznavati razlike između par notacija, mada su to programeri između sebe utvrdili i nije neko pisano pravilo. Postoje 4 najčešća tipa notacije, tačnije :
  1. Camel Case (čitaj : keml-kejs)
  2. Pascal Case (čitaj : paskal-kejs)
  3. Hungarian Notation (čitaj : hangerijan-notejšn)
  4. Title Case (čitaj : tajtl-kejs)
Krenuću od poslednjeg sa liste, mada malo nelogično. Pri pisanju Title Case-a, imenovanje svih promenljivih vrednosti vrši se tako da je početno slovo svake reči veliko dok su ostala mala, a razmaci postoje između svih reči. Primer za ovakav način pisanja jeste : Android Vs Ios
Ovaj način pisanja relativno je retko zastupljen, a većina modernih jezika ga je i izbacila totalno iz upotrebe uključujući i C#, te će vam izbaciti grešku ukoliko ovo pokušate.

Drugi veoma čest način pisanja jeste Pascal Case koji je relativno sličan Title Case-u, mada razmaci nisu dopušteni. Ovaj način pisanja koda prihvaćen je u većini modernih programskih jezika uključujući i C#, a koristi se za imenovanje funkcija, klasa, biblioteka, metoda itd. Često ovaj način pisanja nosi i naziv "upper camel case". Primer za ovo jest : AndroidVsIos

Treći način pisanja koda jeste Hungarian Notation i izgubio je pažnju programera godinama unazad. Ovaj način pisanja uključuje dodavanje prefiksa ispred naziva promenljive, te će na primer ispred naziva celobrojne vrednosti postojati prefiks i. Mnogi ljudi ga pogresno koriste, a generalno je ovo los nacin vezbe i nema posebnu funkcije, jednostavno estetike radi. Prihvacen je u svim modernim programskim jezicima, ali opet naglasavam da bih ga izbegavao ukoliko je moguce. Primer : iAndroidVsIos

Poslednji o kojem želim da govorim, jeste Camel Case. Camel Case ima dva oblika : upper i lower. Upper je poistovećen sa Pascal Case-om, dok je Camel Case poistovećen sa lower camel case-om, iako je to zapravo porodica notacija. Prvo slovo prve reči isključivo započinje malim slovom, dok su ostala početna slova velika, a koristi se za imenovanje promenljivih, za razliku od Pascal Case-a koji se koristi za imenovanje metoda, klasa... Primer : androidVsIos

Šta dalje?
Ovo je bio jedan od onih dosadnih tutorijala, u kojima nismo stekli nikakvo praktično znanje. Znam da verovatno već gubite interesovanje, ali ovo je osnovno znanje koje morate steći pre nego što otpočnemo onaj zanimljiv deo. Ipak, mogu obećati da ću već sutra objaviti prvi praktični tutorijal, nakon kojeg ćete moći da napravite jednostavniji program, poput kalkulatora. :)
Znam da ima ljudi koji se bave programiranjem na forumu i koji mogu ukazati na greške napravljenje u ovom postu, tako da vas pozivam na to, kao i na svaku kritiku. Šta god da ne razumete, napišite u komentaru, a ja ću se potruditi da vam odgovorim u što kraćem roku :):):):):):):)
 

zemun

PCAXE Member
Učlanjen(a)
07.02.2012.
Poruka
373
Rezultat reagovanja
246
Moja konfiguracija
Svaka cast, cekam sutra. :)

Послато са SM-G965F уз помоћ Тапатока
 

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Sutra vec krece zanimljivije ;)
Ali ono kljucno tek ide negde za 10 dana, dok savladate osnove C#-a.
 

zemun

PCAXE Member
Učlanjen(a)
07.02.2012.
Poruka
373
Rezultat reagovanja
246
Moja konfiguracija
Ne zuri se nigde, napolju sneg, pirka tajfun, radi se u smenama tako da vremena se ima a i da se ispostuje tvoja dobra volja za ovim. Ti obnavljas znanje ko zeli nauci nesto novo i svima lepo, ko me se ne svidja njegova stvar.

Послато са SM-G965F уз помоћ Тапатока
 

Raspucin

PCAXE Addicted
Učlanjen(a)
30.09.2017.
Poruka
1.590
Rezultat reagovanja
908
Moja konfiguracija
PC / Laptop Name:
Kompjuter
CPU & cooler:
Intel I7 8700K + Phanteks Glacier One 360MP
Motherboard:
Gigabyte H370 Aorus Gaming 3 WiFi
RAM:
G.Skill TridentZ 32gb (2x16gb) 3200mhz
VGA & cooler:
Gigabyte G1 1060 6Gb
Display:
LG 34'' 34WP65CP-B,1ms, 3440 x 1440, 160Hz
HDD:
Intel 660 512gb Nvme,Samsung 970 Evo Plus Nvme 500gb
Sound:
Razen Kraken X
Case:
Phanteks Enthoo Evolv X TG RGB silver + 3 x Phanteks 140 Fun
PSU:
Gigabyte Aorus 750W 80+ Gold
Optical drives:
Asus ZenDrive external
Mice & keyboard:
Redragon Karura2/HyperX Pulsfire FPS
Internet:
Adsl 20/1
OS & Browser:
Windows 11 Pro 64bit & Firefox
Other:
ThinkPad T14s, MacBook M2 , Think Dock, Xaomi 13, PS 5 Slim,Samsung Galaxy Watch 4
Bice ovo zanimljivo


Sent from my iPhone using Tapatalk
 

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Da proverimo samo da li se iko setio da instalira Visual Studio ili imate u planu to tokom noci? ;)

@Emilio sta li znaci ovaj lajk? :):):)

Usput, sav kod koji budem pisao ostavljam na Ghostbin verovatno ;)
 

zemun

PCAXE Member
Učlanjen(a)
07.02.2012.
Poruka
373
Rezultat reagovanja
246
Moja konfiguracija
Instalirano i ceka se sutra :)

Послато са SM-G965F уз помоћ Тапатока
 
  • Like
Reagovanja: Uni

Raspucin

PCAXE Addicted
Učlanjen(a)
30.09.2017.
Poruka
1.590
Rezultat reagovanja
908
Moja konfiguracija
PC / Laptop Name:
Kompjuter
CPU & cooler:
Intel I7 8700K + Phanteks Glacier One 360MP
Motherboard:
Gigabyte H370 Aorus Gaming 3 WiFi
RAM:
G.Skill TridentZ 32gb (2x16gb) 3200mhz
VGA & cooler:
Gigabyte G1 1060 6Gb
Display:
LG 34'' 34WP65CP-B,1ms, 3440 x 1440, 160Hz
HDD:
Intel 660 512gb Nvme,Samsung 970 Evo Plus Nvme 500gb
Sound:
Razen Kraken X
Case:
Phanteks Enthoo Evolv X TG RGB silver + 3 x Phanteks 140 Fun
PSU:
Gigabyte Aorus 750W 80+ Gold
Optical drives:
Asus ZenDrive external
Mice & keyboard:
Redragon Karura2/HyperX Pulsfire FPS
Internet:
Adsl 20/1
OS & Browser:
Windows 11 Pro 64bit & Firefox
Other:
ThinkPad T14s, MacBook M2 , Think Dock, Xaomi 13, PS 5 Slim,Samsung Galaxy Watch 4
Da proverimo samo da li se iko setio da instalira Visual Studio ili imate u planu to tokom noci? ;)

@Emilio sta li znaci ovaj lajk? :):):)

Usput, sav kod koji budem pisao ostavljam na Ghostbin verovatno ;)
imas jos 11min da ispunis obecanje


Sent from my iPhone using Tapatalk
 

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Koje obecanje tacno, nisam siguran?
 

Raspucin

PCAXE Addicted
Učlanjen(a)
30.09.2017.
Poruka
1.590
Rezultat reagovanja
908
Moja konfiguracija
PC / Laptop Name:
Kompjuter
CPU & cooler:
Intel I7 8700K + Phanteks Glacier One 360MP
Motherboard:
Gigabyte H370 Aorus Gaming 3 WiFi
RAM:
G.Skill TridentZ 32gb (2x16gb) 3200mhz
VGA & cooler:
Gigabyte G1 1060 6Gb
Display:
LG 34'' 34WP65CP-B,1ms, 3440 x 1440, 160Hz
HDD:
Intel 660 512gb Nvme,Samsung 970 Evo Plus Nvme 500gb
Sound:
Razen Kraken X
Case:
Phanteks Enthoo Evolv X TG RGB silver + 3 x Phanteks 140 Fun
PSU:
Gigabyte Aorus 750W 80+ Gold
Optical drives:
Asus ZenDrive external
Mice & keyboard:
Redragon Karura2/HyperX Pulsfire FPS
Internet:
Adsl 20/1
OS & Browser:
Windows 11 Pro 64bit & Firefox
Other:
ThinkPad T14s, MacBook M2 , Think Dock, Xaomi 13, PS 5 Slim,Samsung Galaxy Watch 4

vladarko

PCAXE Addicted
Učlanjen(a)
07.01.2018.
Poruka
13.786
Rezultat reagovanja
9.155
Moja konfiguracija
PC / Laptop Name:
Ago Ao 192 Kurier
CPU & cooler:
Intel i5-9600KF & Be quiet! Pure Rock 2 Black
Motherboard:
MSI Z390-A PRO
RAM:
Kingston 2 x 8 GB DDR4 3600 MHz
VGA & cooler:
Palit nVidia 3060 Ti 8 GB
Display:
27" AOC 27G2SPU/BK
HDD:
Crucial P1 1 TB
Sound:
Microlab MT280B, Sony WH-XB700
Case:
SilentiumPC Ventum VT2 TG + 3 x Bionix P120 PWM PST + 2 x Bionix P140 PWM PST
PSU:
Seasonic Core GM650
Mice & keyboard:
Redragon Imapct M908 & Cooler Master SK650
Internet:
mts 250/80
OS & Browser:
Windows 10 v22H2
tj 1h i 11min da napravis kalkulator i detaljno objasnis


Sent from my iPhone using Tapatalk
Živko se projektuje iz jedne u drugu međuplanetarnu vremensku zonu, ovakvi lapsusi su očekivani... ;)
 
  • Like
Reagovanja: Uni

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Danas je izasao novi tutorijal ako niste videli, sad pravim update pa cekajte. :)
 

Raspucin

PCAXE Addicted
Učlanjen(a)
30.09.2017.
Poruka
1.590
Rezultat reagovanja
908
Moja konfiguracija
PC / Laptop Name:
Kompjuter
CPU & cooler:
Intel I7 8700K + Phanteks Glacier One 360MP
Motherboard:
Gigabyte H370 Aorus Gaming 3 WiFi
RAM:
G.Skill TridentZ 32gb (2x16gb) 3200mhz
VGA & cooler:
Gigabyte G1 1060 6Gb
Display:
LG 34'' 34WP65CP-B,1ms, 3440 x 1440, 160Hz
HDD:
Intel 660 512gb Nvme,Samsung 970 Evo Plus Nvme 500gb
Sound:
Razen Kraken X
Case:
Phanteks Enthoo Evolv X TG RGB silver + 3 x Phanteks 140 Fun
PSU:
Gigabyte Aorus 750W 80+ Gold
Optical drives:
Asus ZenDrive external
Mice & keyboard:
Redragon Karura2/HyperX Pulsfire FPS
Internet:
Adsl 20/1
OS & Browser:
Windows 11 Pro 64bit & Firefox
Other:
ThinkPad T14s, MacBook M2 , Think Dock, Xaomi 13, PS 5 Slim,Samsung Galaxy Watch 4

Uni

PCAXE Addicted
Učlanjen(a)
31.08.2018.
Poruka
2.469
Rezultat reagovanja
984
Moja konfiguracija
PC / Laptop Name:
Lenovo ThinkPad X250 - i5 5300U/8GB/256GB EVO 860/6 Cell
Mice & keyboard:
Bloody V7M & Stock Thinkpad X250 Keyboard
OS & Browser:
Windows 10 + Microsoft Edge | ArcoLinux + i3 + Mozilla Firefox Quantum
Novi tutorijal izbačen :)
 
Vrh