Tavs šīs stundas izaicinājums: Analizēt spēles stāvokli un izstrādāt algoritma sazarojumus, lai programma spētu patstāvīgi pieņemt lēmumus un reaģēt uz dažādām spēlētāja situācijām.
2.6.1. Lasa un izpilda algoritmus ar sazarojumiem; 5.2.1. Kritiskā domāšana problēmu risināšanā.Dators nesaprot vārdu "varbūt". Tas atpazīst tikai divus stāvokļus: true (patiess) un false (aplams). Lai spēle pati saprastu, vai spēlētājs ir uzvarējis, mēs izmantojam If/Else (Ja/Citādi) blokus un operatorus.
| Kods | Ko tas dara? | Piemērs spēlē |
|---|---|---|
=== |
Precīzi vienāds (Svarīgi: trīs vienādības zīmes!) | dzivibas === 0 (Vai esi miris?) |
!== |
Nav vienāds | atslega !== true (Nav atslēgas?) |
> un < |
Lielāks / Mazāks | punkti > 100 |
&& |
UN (Abiem nosacījumiem jāizpildās) | punkti > 50 && laiks > 0 |
|| |
VAI (Vismaz vienam jāizpildās) | dzivibas === 0 || laiks === 0 |
Pareizais rakstības stils (Sintakse):
if (punkti >= 100) {
console.log("Uzvara!"); // Notiks tikai tad, ja nosacījums ir TRUE
} else {
console.log("Turpini cīnīties!"); // Notiks visos citos gadījumos (FALSE)
}
Izveidot pamatloģiku, kas pārbauda spēlētāja ievadīto paroli un atver "durvis", ja tā ir pareiza.
<button onclick="parbauditKodu()">Ievadīt paroli</button>.script.js failā izveido funkciju function parbauditKodu() { ... }.let parole = prompt("Ievadi slepeno kodu:");.if bloku: pārbaudi, vai parole === "777".Papildināt algoritmu ar alternatīvo rīcību, lai spēle dotu atgriezenisko saiti arī tad, ja spēlētājs zaudē.
<button onclick="uzbruktBosam()">Uzbrukt Bosam!</button>.let bosaHP = 50;.let speks = Number(prompt("Cik stipri sitīsi? (Ievadi skaitli)"));.if pārbaudi: vai tavs spēks ir lielāks vai vienāds ar bosa HP (speks >= bosaHP)?if figūriekavām izvadi: "BOSS IR SAKAUTS! Uzvara!".if bloka beigām pievieno else { ... } bloku. Tajā izvadi: "Tavs trieciens bija par vāju. Boss tevi iznīcināja. Game Over."Izmantot daudzpakāpju pārbaudi, lai spēle spētu klasificēt spēlētāja rezultātu vairākos līmeņos.
prompt pajautā spēlētāja iegūtos punktus (pārvērt par skaitli!).if (punkti > 1000) { alert("Tu esi Leģenda!"); }.else if (punkti > 500) { alert("Tu esi Pieredzējis cīnītājs."); }.else { alert("Tev vēl daudz jāmācās, Iesācēj."); }.Apvienot divus nosacījumus, lai uzdevums būtu izpildīts tikai tad, ja abas prasības ir izpildītas.
let irVIP = prompt("Vai tev ir VIP pase? (ja/ne)");if (punkti > 1000 && irVIP === "ja").if (parole = "777"), kods nevis pārbaudīs, bet gan nomainīs paroli un vienmēr atļaus ieeju. Vienmēr izmanto ===!{}: Katram if, else if un else blokam ir nepieciešamas savas figūriekavas.else if blokos: Vienmēr sāc pārbaudi no visstingrākā/lielākā nosacījuma (piem. > 1000) uz mazāko. Dators lasa kodu no augšas uz leju!let spelesPunkti = 850;
let irAtslega = true;
// 1. Vienkāršs If/Else
if (spelesPunkti >= 1000) {
console.log("Uzvara! Izcils sniegums.");
} else {
console.log("Spēle turpinās. Krāj punktus!");
}
// 2. Else If un Loģiskais operators (&&)
if (spelesPunkti >= 500 && irAtslega === true) {
document.getElementById("rezultats").innerText = "Tu atvērsi zelta lādi!";
} else if (spelesPunkti >= 500 && irAtslega === false) {
document.getElementById("rezultats").innerText = "Tev vajag atslēgu!";
} else {
document.getElementById("rezultats").innerText = "Bīstama teritorija...";
}