Stundas uzdevums: Papildināt spēles prototipu ar unikālām funkcijām, kas uzlabo spēlējamību (Game Juice), piemēram, pieaugošu grūtības pakāpi vai multimediju efektiem.
5.2.1. Definē problēmas būtību un risina izaicinājumus; 2.3.1. Izmanto lietojumprogrammatūras specifiskas funkcijas.70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un tikai beigās pieraksti vienu secinājumu. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Kas atšķir garlaicīgu spēli no tādas, kuru gribas spēlēt vēlreiz?
// Power-up pievienošana
function savaktPowerUp(tips) {
if (tips === "atrums") spele.atrums *= 1.5;
if (tips === "dziviba") spele.dzivibas++;
}
// Skaņas atskaņošana
new Audio("skanas/powerup.mp3").play();
Šis ir īss iesildīšanās uzdevums. Nokopē sagatavi, ielīmē to pareizajā koda vietā un palaid. Šeit pietiek droši izmēģināt tēmu 5.4 Papildfunkciju ieviešana (Power-ups, līmeņi, skaņa); detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
// Power-up pievienošana
function savaktPowerUp(tips) {
if (tips === "atrums") spele.atrums *= 1.5;
if (tips === "dziviba") spele.dzivibas++;
}
// Skaņas atskaņošana
new Audio("skanas/powerup.mp3").play();
script.js failā vai lapas esošajā skripta daļā.Pievieno šīs stundas paņēmienu kā nelielu, lietotājam redzamu projekta daļu.
index.html un pievieno power-up elementu laukumā: <div id="bonuss" style="display:none;position:absolute;width:20px;height:20px;background:gold;border-radius:50%;"></div>.script.js un pievieno funkciju parāditBonusu(), kas piešķir bonusam nejaušas koordinātes un iestata display: block.parāditBonusu() no saktSpeli().git commit -m "Add power-up mechanic with collision".Pārbaudi, vai algoritms darbojas paredzami vairākās situācijās.
display: none) beigu ekrānā.Math.random() robežas.new Audio("skanas/bonuss.mp3").play();Ja pamatdarbs ir pabeigts, paplašini projektu ar vienu nelielu programmētu uzlabojumu.
<div id="vairogs">), kas uz 3 sekundēm pasargā no sadursmes.let vairogAktivs = false; script.js.vairogAktivs = true un pēc 3 sekundēm (setTimeout) atpakaļ uz false.vairogAktivs === true, ignorē sadursmi ar ienaidnieku.border: 3px solid gold;.git commit -m "Add shield power-up with 3s protection".kustibasAtrums pieaug pārāk strauji, spēle kļūst nespēlējama jau pēc 20 sekundēm. Testē un pielāgo skaitļus!new Audio() objektu, dators var sākt bremzēt. Labāk definē audio mainīgo vienreiz faila sākumā.// Audio objekta sagatavošana
const punktaSkanas = new Audio("assets/audio/point.mp3");
let limenis = 1;
function savaktPunktus() {
punkti += 10;
punktaSkanas.play(); // Atskaņojam skaņu
// Pārbaudām līmeņa maiņu
if (punkti >= 100 * limenis) {
limenis++;
ienaidniekaAtrums += 1;
document.getElementById("status").innerText = "LĪMENIS " + limenis;
console.log("Grūtība palielināta!");
}
atjaunotHUD();
}