JavaRush /Java blogi /Random-UZ /JavaRush-ning yangi bo'limi - "O'yinlar"

JavaRush-ning yangi bo'limi - "O'yinlar"

Guruhda nashr etilgan
Bizda ajoyib yangilik bor! JavaRush-da yangi bo'lim mavjud - "O'yinlar" , endi u barcha foydalanuvchilar uchun ochiq. Bu erda har biringiz grafika bilan to'liq huquqli o'yin yozishingiz va o'zingizni haqiqiy o'yin ishlab chiqaruvchisi kabi his qilishingiz mumkin. Ayni paytda bo'lim beta-testda, shuning uchun uni qanday qilib yanada salqinroq qilish haqida fikringizni eshitish biz uchun juda muhim! Sinab ko'ring, sinab ko'ring, ushbu post ostida fikr va takliflaringizni qoldiring! Videomizdan "O'yinlar" bo'limining asosiy xususiyatlari haqida qisqacha ma'lumot olasiz. Rohatlaning!
Endi biz sizni yangi bo'limning imkoniyatlarini batafsil ko'rib chiqishga va o'yin muammolarini yozishda paydo bo'lishi mumkin bo'lgan asosiy savollarga javob olishga taklif qilamiz.

1. JavaRush da o'yinlar qanday yoziladi

Siz allaqachon tushunganingizdek, JavaRush noyob imkoniyatga ega - yozish o'yinlari . Ular oddiy vazifalardan sezilarli darajada kattaroq va juda qiziqroq. Ularni nafaqat yozish, balki sinab ko'rish ham qiziq. Agar biz nimani nazarda tutayotganimizni bilsangiz ;) JavaRush ofisidagi ish biz o'yin topshiriqlarini sinovdan o'tkazish bosqichini boshlaganimizda bir necha kun davomida tom ma'noda falaj bo'lib qoldi :) Har bir o'yin vazifasi - bu loyiha: ikki o'nlab kichik vazifalardan iborat katta vazifa. O'yinni yozishda siz ularni ketma-ket bajarishingiz kerak bo'ladi. Oxirgi kichik vazifa bajarilganda, o'yiningiz tayyor. Bu JavaRush deb nomlangan juda oddiy o'yin mexanizmidan foydalanadi . U bilan ishlash konsoldan ko'ra qiyinroq emas. O'yin dvigatelining tavsifi va u bilan ishlash misollarini ushbu hujjatda topish mumkin .

2. O'yin dvigatelining imkoniyatlari

O'yin maydoni o'yin mexanizmi tomonidan hujayralarga bo'linadi. Minimal o'lcham - 3x3, maksimal - 100x100. Har bir hujayra ma'lum bir rangga bo'yalgan bo'lishi mumkin va unda qandaydir matn yozilishi mumkin. Bundan tashqari, har bir katak uchun matnning o'lchami va rangi o'rnatiladi. Dvigatel sizga "sichqonchani bosish" va "klaviaturani bosish" kabi hodisalar uchun ishlov berish usullarini yozish imkonini beradi. Yana bir qiziq narsa - taymer bilan ishlash qobiliyati. Bu haqda ko'proq "Taymer bilan ishlash" bo'limida bilib olasiz. Ushbu "aniq vosita" sizga juda qiziqarli o'yinlarni yaratishga imkon beradi, buni o'zingiz ko'rasiz. Uni tekshirmoqchimisiz? Keyin keyingi paragrafni o'qing va o'yin yozishni boshlang.

3. O'yinga kirish huquqiga ega bo'lish

Yozuvchi o'yinlarga kirish uchun JavaRush veb-saytidagi "O'yinlar" bo'limiga o'ting , o'zingizga yoqqanini tanlang va uning sahifasiga o'ting. " O'z yechimingizni yozingJavaRush-ning yangi bo'limi - "O'yinlar" - 1 " tugmasi paydo bo'ladi - ustiga bosing. Sizning WebIDE ochiladi va siz o'yinning birinchi pastki vazifasi ustida ishlashni boshlaysiz. Bundan tashqari, shu paytdan boshlab, o'yinning pastki vazifalari sizga plagin orqali Intellij IDEA-da mavjud bo'ladi. Agar siz Intellij IDEA dan foydalanayotgan bo'lsangiz , plaginni yangilashingiz kerak bo'ladi. Plaginning so'nggi versiyasini bu yerdan yuklab olishingiz mumkin . Plaginni yangilagandan so'ng, vazifalar ro'yxatini oching va "Java Games Quest" ni tanlang. Keyinchalik, mavjud kichik vazifani bosing: Java o'yinlari moduli loyihangizda paydo bo'lishi kerak va unda - dvigatel kutubxonasi va pastki vazifangiz kodi. Keyingi harakatlar boshqa muammolarni hal qilish bilan bir xil. O'yinlar WebIDE yoki Intellij IDEA da yozilishi mumkin, qaysi birini xohlasangiz. Ammo Intellij IDEA hali ham qulayroq. Va ko'proq professional. Tanlov sizniki. JavaRush-ning yangi bo'limi - "O'yinlar" - 2JavaRush-ning yangi bo'limi - "O'yinlar" - 3JavaRush-ning yangi bo'limi - "O'yinlar" - 4

4. Ilovalar katalogida o'yinlarni nashr qilish

O‘yin yozishni tugatgandan so‘ng, uni JavaRush-dagi Games-and-Apps katalogida nashr qilishingiz mumkin. Shunchaki "Nashr qilish" tugmasini bosing va yarim daqiqadan so'ng sizning o'yiningiz "Nashr qilingan o'yinlar" bo'limiga qo'shiladi . JavaRush-ning yangi bo'limi - "O'yinlar" - 5Agar siz o'yin amaliyotingizni do'stlaringiz yoki hamkasblaringiz bilan baham ko'rishni istasangiz, hech narsa osonroq bo'lishi mumkin emas. Ularga faqat nashr etilgan o'yinning shaxsiy sahifasiga havola yuboring va o'ynashiga ruxsat bering. Buning uchun JavaRush-da ro'yxatdan o'tish shart emas. JavaRush-ning yangi bo'limi - "O'yinlar" - 6Siz ijodkor sifatida o'yin seanslari soniga qoyil qolishingiz mumkin. Xuddi YouTubedagi tomoshalar soni kabi. Qanchalik katta bo'lsa, shuncha yaxshi.

5. O'yinni moslashtirish

O'yinni yozib bo'lgach, uni o'zgartirishingiz mumkin. 5x5 maydonda 2048 ni xohlaysizmi? Iltimos. Siz dasturchisiz - sizning qo'lingizda klaviatura bor. O'yinni xohlaganingizcha o'zgartiring. Siz butunlay yangi narsalarni qo'shishingiz mumkin. Misol uchun, "Snake" o'yinida, ilon olmani hali yangi bo'lgan holda iste'mol qilsa, sekinlashishi mumkin (u paydo bo'lganidan keyin birinchi 5 soniya ichida). Shu bilan birga, olma rangini qizildan yashilga o'zgartirishi yoki nokga aylanishi mumkin. Yoki to'satdan sizning iloningiz olmadan ko'ra quyonlarni yaxshi ko'radi ... Minesweeper-da siz o'yinchiga ikkinchi hayotni qo'shishingiz mumkin, yoki, masalan, atom bombasi, bir nechta hujayralar radiusidagi hujayralarni "yoritadi". Ammo esda tuting: agar siz o'yinga o'yin mexanizmi orqali emas, balki boshqa fayllar yoki grafiklarni qo'shsangiz, u ilovalar katalogida nashr etilmasligi mumkin. Bilasizmi, hamma narsani brauzerda ishga tushirish mumkin emas.

6. Foydali hujjatlar

Shunday qilib, siz JavaRush o'yin mexanizmining ishi (o'yinni ishga tushirish, o'yin maydonini yaratish va grafikalar bilan ishlash), hodisalarni qayta ishlash (sichqoncha, klaviatura va taymer bilan ishlash) bilan tanishishingiz, shuningdek, asosiy narsalarni yangilashingiz yoki o'rganishingiz mumkin. Vazifalarni yozishda foydali bo'lgan Java nazariyasi - o'yinlar (birinchi va ikkinchi JavaRush questi), biz bir nechta batafsil hujjatlarni tayyorladik:

7. Umumiy muammolar

Men Linuxdaman va OpenJDK dan foydalanaman. O'yinni boshlashda kompilyator xatoga yo'l qo'yadi:
Error:(6, 8) java: cannot access javafx.application.Application
  class file for javafx.application.Application not found
Nima qilish kerak? Bizning o'yin dvigatelimiz JavaFX dan foydalanadi va OpenJDK sukut bo'yicha o'rnatilmagan. Buni tuzatish kerak:
  1. Buyruqning satrida buyruqni kiriting:sudo apt-get install openjfx

  2. Shundan so'ng, loyiha sozlamalariga o'ting (alt+ctrl+shift+s) -> SDK's -> Classpath va o'ng tarafdagi ortiqcha belgisini bosing. jfxrt.jar faylini tanlang. U o'rnatilgan JDK da quyidagi yo'lda joylashgan: <JDK_PATH>/jre/lib/ext/jfxrt.jar

  3. OK tugmasini bosing.

Menda Java 11. O'yinni boshlay olmayapman. Nima qilish kerak? Java 11 da JavaFX mavjud emas. Shuning uchun, o'yinni boshlashda, kompilyator o'yinni kompilyatsiya qila olmaydi va xatolik yuz beradi. Muammoni hal qilish uchun loyihaga JavaFX qo'shishingiz kerak:
  1. JavaFX Windows SDK ni https://gluonhq.com/products/javafx/ dan yuklab oling .

  2. Yuklab olingan arxivni istalgan papkaga (afzalroq Games loyihasining lib papkasiga) oching.

  3. IDEA-ni oching.

  4. IDEA-da Fayl -> Loyiha tuzilishi menyusiga o'ting.

  5. Kutubxonalar yorlig'ini tanlang va + -> Java-ni bosing.

    JavaRush-ning yangi bo'limi - "O'yinlar" - 7
  6. Ochilmagan javafx-sdk jildiga yo'lni belgilang va lib jildini tanlang

    JavaRush-ning yangi bo'limi - "O'yinlar" - 8
  7. Keyin OK tugmasini bosing va yangi oynada JavaFX-ni Games moduliga qo'shing.

    JavaRush-ning yangi bo'limi - "O'yinlar" - 9
  8. Endi yangi kutubxona paydo bo'lishi kerak, Ilova -> OK tugmasini bosing.

    JavaRush-ning yangi bo'limi - "O'yinlar" - 10
  9. To'g'ri ishga tushirish uchun Run-> Konfiguratsiyani tahrirlash menyusini oching va VM imkoniyatlari maydoniga buyruqni kiriting:

    JavaRush-ning yangi bo'limi - "O'yinlar" - 11
    --module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
    JavaRush-ning yangi bo'limi - "O'yinlar" - 11
  10. Keyinchalik, xuddi shu yorliqda siz Ilovani qo'shishingiz kerak. Buning uchun + -> Ilova tugmasini bosing

    JavaRush-ning yangi bo'limi - "O'yinlar" - 12
    1. O'yinlar modulini tanlang
    2. Asosiy sinfga yo'lni kiriting (bu holda - SnakeGame)
    3. VM imkoniyatlari maydonini qo'shing
    4. JavaRush-ning yangi bo'limi - "O'yinlar" - 13
    5. VM parametrlarini 9-banddagi kabi kiriting.

    Qo'llash -> OK ni bosing

    JavaRush-ning yangi bo'limi - "O'yinlar" - 14
  11. O'yinni ishga tushiring.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION