Bugun 3-haftalik GameDev darslarimizning eng yuksak cho'qqisi! Biz sakrash fizikasini, lazerlar to'lqinini, 3 fazali aqlli Boss AI algoritmini va osmondan tushuvchi qalqonlarni yagona epik jangga birlashtiramiz. Giga-Sentinel kiber-bossini mag'lub etishga tayyormisiz?
Gravitatsiya, sakrash va AABB platformalariga qo'nish.
Mustaqil uchish va jonga (HP) qarab 3 xil fazada hujum qilish.
Massivlar: plazma to'plari va lazerlarni yaratish va o'chirish.
Qalqon (Shield), qo'shimcha jon (Heal) va ochkolar.
Start, G'alaba ekrani, rekordlar va Web Audio tovushlari.
Boss ekranning yuqori qismida bosiq uchadi va yakka lazerlar otadi.
1 Lazer · SekinBoss tezlashadi. Ikkala qanotidan parallel ikkitalik lazerlar yog'diradi!
2 Lazer · TezQizil nur taratadi! Har yarim soniyada qalin lazer to'lqinlari otiladi.
Enrage Mode!Jon kamaygan sari chiziq qisqarishi uchun:
`let hpPercent = boss.hp / boss.maxHp;`
`let currentWidth = totalBarWidth * hpPercent;`
100 dan 50 jon qolganda koeffitsiyent 0.5 bo'ladi — chiziq roppa-rosa yarmigacha qisqaradi!
Qahramon atrofida 5 soniyaga (300 kadr) nurli himoya gumbazini yoqadi.
Qalqon vaqtida dushman lazerlari qahramonga umuman zarar yetkaza olmaydi!
Yo'qotilgan 1 ta jonni qayta tiklaydi (maksimal 3 tagacha):
`player.hp = Math.min(player.maxHp, player.hp + 1);`
Qiyin vaziyatda o'yinni qutqarib qoladi!
O'yin sekundiga 60 kadr tezlikda ishlaydi. Agar lazer qahramonga 0.1 soniya tegib tursa — ketma-ket 6 marta zarar beradi!
Barcha 3 ta jon ko'z ochib yumguncha tugab qoladi va o'yinchi nima bo'lganini ham tushunmaydi!
Zarba olgach, qahramonga 60 kadr (1 soniya) daxlsizlik beriladi:
1. `player.iFrames = 60;`.
2. Qahramon ekranda miltillaydi.
3. Bu vaqt ichida boshqa lazerlar zarar bermaydi va o'yinchi qochib ulguradi!
Har sekundda 2 ta lazer paydo bo'ladi. 2 daqiqadan so'ng massivda 250 dan ortiq ko'rinmas ob'yektlar yig'ilib qoladi.
Brauzer ekrandan chiqib ketgan narsalarni ham hisoblab charchaydi va o'yin qotishni boshlaydi!
Kutish ekrani: qoidalar va start tugmasi.
Asosiy jang: fizika, lazerlar va ochkolar.
boss.hp <= 0: G'alaba va rekord saqlanadi!
player.hp <= 0: Qayta urinib ko'rish ekrani.
1. Tashqi mp3 fayllar internet sekin bo'lsa yuklanmay qolishi mumkin.
2. Web Audio API tovushlarni to'g'ridan-to'g'ri matematik chastotalardan (Gerts) sintez qiladi:
• Sakrash: baland mayin to'lqin (580 Gts).
• Lazer: o'tkir arracha to'lqin (sawtooth).
• Portlash: past bas (140 Gts).
Doim polda turmang! Yuqori platformalarga chiqib, bossga yaqindan zarba bering.
🛡️ qalqon tushganda darhol uni oling! 5 soniyalik daxlsizlik g'alabani hal qiladi.
HP < 30% bo'lganda boss quturadi. Bir joyda to'xtab qolmang — sakrab harakatlaning!
`game/index.html` ni brauzerda oching.
Lazerlardan qochib, bossning 100 ta jonini tugating.
O'z rekordingizni varaqaga yozib, natijangizni qayd eting.
classes/7-8-sinf/3-hafta/16-dars-boss-jangi-va-power-ups/game/index.html
| Ball | Talab |
|---|---|
| 1–3 ball | Boss fazalari va o'yin holatlari to'g'ri izohlandi |
| 4–7 ball | Bossning kamida 2- va 3-fazalarigacha yetib borildi |
| 8–10 ball | Boss to'liq mag'lub etildi, g'alaba qozonildi va varaqa to'ldirildi |
Siz toza JavaScript va Canvas da haqiqiy o'yin dvijogini qura olasiz: Nyuton fizikasi, to'qnashuvlar, dushman AI algoritmlari, ovoz sintezi va interfeys. Bu mustaqil Game Developer darajasidir!