15 KiB
Направите пример игре
Преглед задатка
Сада када сте савладали услове за крај игре и функционалност поновног покретања у вашој свемирској игри, време је да примените ове концепте у потпуно новом искуству играња. Дизајнираћете и направити сопствену игру која демонстрира различите обрасце за услове завршетка и механизме поновног покретања.
Овај задатак вас изазива да креативно размишљате о дизајну игара док вежбате техничке вештине које сте научили. Истражићете различите сценарије победе и пораза, имплементирати напредовање играча и креирати занимљива искуства поновног покретања.
Захтеви пројекта
Основне карактеристике игре
Ваша игра мора укључивати следеће основне елементе:
Разноврсност услова завршетка: Имплементирајте најмање два различита начина на који игра може да се заврши:
- Победа заснована на поенима: Играч достиже циљани резултат или сакупља одређене предмете
- Пораз због губитка живота: Играч губи све доступне животе или бодове здравља
- Испуњење циља: Сви непријатељи су поражени, одређени предмети сакупљени или циљеви постигнути
- Временски услов: Игра се завршава након одређеног трајања или када одбројавање достигне нулу
Функционалност поновног покретања:
- Чишћење стања игре: Уклоните све претходне објекте игре и ресетујте променљиве
- Поновно иницијализовање система: Започните изнова са новим статистикама играча, непријатељима и циљевима
- Једноставне контроле за корисника: Обезбедите јасна упутства за поновно покретање игре
Повратне информације играчу:
- Поруке о победи: Прославите успехе играча позитивним повратним информацијама
- Поруке о поразу: Пружите охрабрујуће поруке које мотивишу поновно играње
- Индикатори напретка: Прикажите тренутни резултат, животе или статус циља
Идеје за игру и инспирација
Изаберите један од ових концепата игре или креирајте сопствени:
1. Конзолна авантуристичка игра
Креирајте текстуалну авантуру са механиком борбе:
Hero> Strikes with broadsword - orc takes 3p damage
Orc> Hits with club - hero takes 2p damage
Hero> Kicks - orc takes 1p damage
Game> Orc is defeated - Hero collects 2 coins
Game> ****No more monsters, you have conquered the evil fortress****
Кључне карактеристике за имплементацију:
- Борба на потезе са различитим опцијама напада
- Бодови здравља за играча и непријатеље
- Систем инвентара за сакупљање новчића или предмета
- Више типова непријатеља са различитим нивоима тежине
- Услов победе када су сви непријатељи поражени
2. Игра сакупљања
- Циљ: Сакупите одређене предмете избегавајући препреке
- Услови завршетка: Достигните циљани број сакупљених предмета или изгубите све животе
- Напредовање: Предмети постају теже доступни како игра напредује
3. Пуззле игра
- Циљ: Решите све теже загонетке
- Услови завршетка: Завршите све нивое или останите без потеза/времена
- Поновно покретање: Вратите се на први ниво са очишћеним напретком
4. Одбрамбена игра
- Циљ: Заштитите своју базу од таласа непријатеља
- Услови завршетка: Преживите све таласе (победа) или база буде уништена (пораз)
- Напредовање: Таласи непријатеља постају све тежи и бројнији
Упутства за имплементацију
Како започети
-
Планирајте дизајн игре:
- Направите скицу основног циклуса игре
- Јасно дефинишите услове завршетка
- Идентификујте које податке треба ресетовати при поновном покретању
-
Поставите структуру пројекта:
my-game/ ├── index.html ├── style.css ├── game.js └── README.md -
Креирајте основни циклус игре:
- Иницијализујте стање игре
- Обрадите унос корисника
- Ажурирајте логику игре
- Проверите услове завршетка
- Прикажите тренутно стање
Технички захтеви
Користите савремени JavaScript:
- Примените
constиletза декларацију променљивих - Користите стреличне функције где је прикладно
- Имплементирајте ES6+ функције као што су шаблонски литерали и деструктурирање
Архитектура заснована на догађајима:
- Креирајте обрађиваче догађаја за интеракције корисника
- Имплементирајте промене стања игре кроз догађаје
- Користите слушаоце догађаја за функционалност поновног покретања
Практике чистог кода:
- Пишите функције са једноставним одговорностима
- Користите описне називе променљивих и функција
- Додајте коментаре који објашњавају логику и правила игре
- Организујте код у логичне секције
Захтеви за предају
Испоруке
- Комплетне датотеке игре: Сви HTML, CSS и JavaScript фајлови потребни за покретање ваше игре
- README.md: Документација која објашњава:
- Како играти вашу игру
- Које услове завршетка сте имплементирали
- Упутства за поновно покретање
- Посебне карактеристике или механике
- Коментари у коду: Јасна објашњења логике и алгоритама игре
Контролна листа за тестирање
Пре предаје, проверите да ваша игра:
- Ради без грешака у конзоли прегледача
- Имплементира више услова завршетка како је наведено
- Поново се покреће исправно са очишћеним стањем
- Пружа јасне повратне информације играчима о статусу игре
- Користи савремени JavaScript синтаксу и најбоље праксе
- Укључује свеобухватну документацију у README.md
Рубрика за процену
| Критеријум | Изузетно (4) | Добро (3) | У развоју (2) | Почетно (1) |
|---|---|---|---|---|
| Функционалност игре | Комплетна игра са више услова завршетка, глатким поновним покретањем и полираним искуством играња | Комплетна игра са основним условима завршетка и функционалним механизмом поновног покретања | Делимична игра са неким имплементираним условима завршетка, поновно покретање може имати мање проблеме | Непотпуна игра са ограниченом функционалношћу и значајним грешкама |
| Квалитет кода | Чист, добро организован код који користи савремене JavaScript праксе, свеобухватни коментари и одлична структура | Добра организација кода са савременом синтаксом, адекватни коментари и јасна структура | Основна организација кода са неким савременим праксама, минимални коментари | Лоша организација кода, застарела синтакса, недостатак коментара и структуре |
| Корисничко искуство | Интуитивно играње са јасним упутствима, одличним повратним информацијама и занимљивим искуством завршетка/поновног покретања | Добро играње са адекватним упутствима и повратним информацијама, функционално завршетак/поновно покретање | Основно играње са минималним упутствима, ограничене повратне информације о стању игре | Збуњујуће играње са нејасним упутствима и лошим повратним информацијама |
| Техничка имплементација | Демонстрира мајсторство концепата развоја игара, обраде догађаја и управљања стањем | Показује солидно разумевање концепата игара са добром имплементацијом | Основно разумевање са прихватљивом имплементацијом | Ограничено разумевање са лошом имплементацијом |
| Документација | Свеобухватан README са јасним упутствима, добро документован код и темељни докази о тестирању | Добра документација са јасним упутствима и адекватним коментарима у коду | Основна документација са минималним упутствима | Лоша или недостајућа документација |
Скала оцењивања
- Изузетно (16-20 поена): Превазилази очекивања са креативним карактеристикама и полираном имплементацијом
- Добро (12-15 поена): Испуњава све захтеве са солидном реализацијом
- У развоју (8-11 поена): Испуњава већину захтева са мањим проблемима
- Почетно (4-7 поена): Испуњава неке захтеве, али захтева значајна побољшања
Додатни ресурси за учење
- MDN Водич за развој игара
- JavaScript Туторијали за развој игара
- Документација за Canvas API
- Принципи дизајна игара
💡 Савет: Почните једноставно и додајте функције постепено. Добро полирана једноставна игра је боља од сложене игре са грешкама!
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.