1. JavaRush-da oýunlary nädip ýazmaly
Öň düşünşiňiz ýaly, JavaRush-yň özboluşly bir mümkinçiligi bar - oýun ýazmak . Olar adaty meselelerden ep-esli uludyr we has gyzyklydyr. Diňe olary ýazmak däl, eýsem, synamak hem gyzykly. Nämäni göz öňünde tutýandygymyzy bilýän bolsaňyz;) JavaRush ofisindäki iş, oýun meseleleriniň synag tapgyryna başlanymyzda birnäçe günläp ysmaz bolupdy :) Her oýun meselesi taslama: iki sany subtaskly uly mesele. Oýun ýazanyňyzda, olary yzygiderli tamamlamaly bolarsyňyz. Iň soňky subtask gutaransoň, oýnuňyz taýýar. JavaRush atly gaty ýönekeý oýun hereketlendirijisini ulanar . Onuň bilen işlemek konsoldan has kyn däl. Oýun motorynyň beýany we onuň bilen işlemegiň mysallaryny bu resminamada tapyp bilersiňiz .2. Oýun hereketlendirijisiniň mümkinçilikleri
Oýun meýdançasy oýun dwigateli bilen öýjüklere bölünýär. Iň pes ululygy 3x3, iň ýokary ululygy 100x100. Her öýjüge belli bir reňk boýalýar we içinde käbir tekst ýazylyp bilner. Şeýle hem, her öýjük üçin tekstiň ululygy we reňki kesgitlenýär. Motor, “syçanjygyň düwmesini basmak” we “klawiatura basmak” ýaly wakalar üçin işleýiş usullaryny ýazmaga mümkinçilik berýär. Anotherene-de bir bellemeli gyzykly zat, taýmer bilen işlemek ukybydyr. Bu barada has giňişleýin “Taýmer bilen işlemek” bölüminde öwrenersiňiz. Bu “aç-açan hereketlendiriji”, özüňiz görşüňiz ýaly gaty gyzykly oýunlary döretmäge mümkinçilik berýär. Barlap görmek isleýärsiňizmi? Soňra indiki abzasy okaň we oýun ýazmaga başlaň.3. Oýna girmek
Writingazuw oýunlaryna girmek üçin JavaRush web sahypasyndaky “Oýunlar” bölümine girmeli , halaýan birini saýlamaly we sahypasyna girmeli. “ Çözüwiňizi ýazyň ” düwmesi bolar - basyň. WebIDE açylar we oýnuň birinji kiçi bölüminde işläp başlarsyňyz. Mundan başga-da, şu pursatdan başlap, oýnuň subtasklary size “Intellij IDEA” -da, plugin arkaly elýeterli bolar. Intellij IDEA ulanýan bolsaňyz , plagini täzelemeli bolarsyňyz. Plaginiň iň soňky wersiýasyny şu ýerden göçürip alyp bilersiňiz . Plagini täzeläniňizden soň, meseleler sanawyny açyň we "Java Games Quest" saýlaň. Ondan soň, elýeterli subtaskany basyň: Java Oýun moduly taslamaňyzda we içinde - hereketlendiriji kitaphanasy we subtaskyňyzyň kody bolmaly. Geljekdäki hereketler beýleki meseleleri çözeniňde deňdir. Oýunlar, haýsy birini isleseňiz, WebIDE ýa-da Intellij IDEA görnüşinde ýazylyp bilner. Emma Intellij IDEA has amatly. Has professional. Saýlamak saňa bagly.4. Programma bukjasynda oýunlary neşir etmek
Oýun ýazyp gutaranyňyzdan soň, ony JavaRush-daky Oýunlar we programmalar katalogynda çap edip bilersiňiz. Diňe “Neşir et” düwmesine basyň, ýarym minutdan soň oýnuňyz “Çap edilen oýunlar” bölümine goşular . Oýun ýerine ýetirişiňizi dostlaryňyz ýa-da kärdeşleriňiz bilen paýlaşmak isleseňiz, hiç zat aňsat bolmaz. Diňe çap edilen oýnuň şahsy sahypasyna baglanyşyk iberiň we oýnamaga rugsat beriň. Munuň üçin JavaRush-da hasaba alynmak hökman däl. Dörediji hökmünde oýun sessiýalarynyň sanyna haýran galyp bilersiňiz. Youtube-da görlenleriň sany ýaly. Uly, şonça gowy.5. Oýun sazlamasy
Oýun ýazanyňyzdan soň, ony üýtgedip bilersiňiz. 5x5 meýdançada 2048 isleýärsiňizmi? Haýyş edýärin. Siz programmist - eliňizde klawiatura bar. Oýuny isleýşiňiz ýaly üýtgediň. Tutuşlygyna täze bir zat goşup bilersiňiz. Mysal üçin, akeylan oýnunda, alma täze wagty alma iýse (peýda bolanyndan soň ilkinji 5 sekundyň içinde) haýallap biler. Şol bir wagtyň özünde, alma reňkini gyzyl-ýaşyla üýtgedip ýa-da armut bolup biler. Suddenlya-da birden ýylan towşanlary almadan has gowy görýär ... Minesweeper-de oýnaýja ikinji durmuş goşup bilersiňiz, ýa-da birnäçe öýjük radiusynyň içinde öýjükleri “ýagtylandyrjak” atom bombasy. Rememberöne ýadyňyzdan çykarmaň: oýun motoryndan başga oýnuňyza faýl ýa-da grafika goşsaňyz, programma katalogynda çap edilmezligi mümkin. Hemme zady brauzerde işledip bolmaýar, bilýärsiňiz.6. Peýdaly resminamalar
JavaRush oýun dwigateliniň işi (oýny başlamak, oýun meýdançasyny döretmek we grafika bilen işlemek), hadysany gaýtadan işlemek (syçanjyk, klawiatura we taýmer bilen işlemek), şeýle hem esasy täzeläp ýa-da öwrenip bilersiňiz. Taslamalary ýazmakda peýdaly boljak Java teoriýasy - oýunlar (birinji we ikinji JavaRush gözlegi), birnäçe jikme-jik resminama taýýarladyk:- JavaRush-da "Oýunlar" bölümi: Oýun motorynyň beýany
- JavaRush-da "Oýunlar" bölümi: Wakalary dolandyrmak
- JavaRush-da "Oýunlar" bölümi: Peýdaly teoriýa
7. Umumy meseleler
Linux-da we OpenJDK ulanýaryn. Oýun başlanda düzüji ýalňyşlyk goýberýär:Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Näme etmeli? Oýun motorymyz JavaFX ulanýar we OpenJDK deslapky gurnalanok. Muny düzetmeli:
-
Buýruk buýrugynda buýrugy giriziň:
sudo apt-get install openjfx
-
Ondan soň, taslama sazlamalaryna (alt + ctrl + shift + s) -> SDK's -> Classpath-a gidiň we sag tarapdaky goşmaça bellige basyň. Jfxrt.jar faýly saýlaň. Gurlan JDK ýolunda ýerleşýär: <JDK_PATH> /jre/lib/ext/jfxrt.jar
-
OK basyň.
-
JavaFX Windows SDK-ny https://gluonhq.com/products/javafx/-den göçürip alyň .
-
Göçürilen arhiwi islendik bukja salyň (has gowusy Oýunlar taslamasynyň lib bukjasyna).
-
IDEA açyň.
-
IDEA-da Faýl -> Taslamanyň gurluşy menýusyna giriň.
-
Kitaphanalar goýmasyny saýlaň we + -> Java basyň.
-
Açylmadyk javafx-sdk bukjasyna barýan ýoly kesgitläň we lib bukjasyny saýlaň
-
Ondan soň "OK" -a basyň we täze penjirede "Oýunlar" modulyna JavaFX goşuň.
-
Indi täze kitaphana peýda bolmaly, Goýmak -> Bolýar.
-
Dogry işe girizmek üçin “Run-> Edit Configuration” menýusyny açyň we VM opsiýa meýdanyna buýrugy giriziň:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Ondan soň, şol bir goýmada Programma goşmaly. Munuň üçin + -> Programma basyň
-
- Oýunlar modulyny saýlaň
- Esasy synpa barýan ýoly giriziň (bu ýagdaýda -
SnakeGame
) - VM opsiýalary meýdançasyny goşuň
- VM opsiýalaryny 9-njy punktdaky ýaly giriziň.
Goýmak -> Bolýar
-
Oýun başlaň.
GO TO FULL VERSION