4.2 Vadi spēlētāju ar pogām un taustiņiem
Šodien: Pievieno vadību abos virzienos un pielāgo kustības soli.
Īsā teorija
addEventListener
piesaista darbību notikumam.
click
ir klikšķis;
keydown
— taustiņa nospiešana.
notikums.key
pasaka taustiņa nosaukumu.
ArrowLeft
ir kreisā bultiņa.
preventDefault()
šajā piemērā aptur lapas ritināšanu ar izmantoto bultiņu.
if (notikums.key === "ArrowLeft") {
notikums.preventDefault();
kustinat(-1);
}
Sākuma kods un darba vieta
Vide: mācību lapa → VS Code
-
VS Code ar
File → Open Folder
atver
Desktop/datorika9-tema4. Ja mapes nav, izveido to darbvirsmā. - Šajā mācību lapā nospied Kopēt sākuma kodu .
- VS Code nospied Ctrl+N un ielīmē kodu ar Ctrl+V .
-
Saglabā ar
Ctrl+Shift+S
tēmas mapē kā
42.html.
Atvērt pilno sākuma kodu
<!DOCTYPE html>
<html lang="lv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mana spēle</title>
<style>
body { font-family: Arial, sans-serif; max-width: 680px; margin: 24px auto; padding: 16px; line-height: 1.6; }
button, input { font: inherit; padding: 10px; margin: 4px; }
button { cursor: pointer; }
img { max-width: 100%; height: auto; }
[hidden] { display: none !important; }
#laukums { position: relative; width: 300px; height: 220px; max-width: 100%; background: #edf5ff; outline: 2px solid #245b91; overflow: hidden; }
#speletajs, #pretinieks, #moneta { position: absolute; width: 30px; height: 30px; }
#speletajs { background: #245b91; left: 20px; top: 160px; }
#pretinieks { background: #b3261e; left: 220px; top: 160px; }
#moneta { background: #ffca28; left: 140px; top: 160px; border-radius: 50%; }
</style>
</head>
<body>
<h1>Vadi spēlētāju</h1>
<p>Spied pogas vai labo bultiņu uz tastatūras.</p>
<div id="laukums"><div id="speletajs"></div></div>
<button id="paKreisi">← Pa kreisi</button>
<button id="paLabi">Pa labi →</button>
<p id="vieta">X: 20</p>
<script>
let x = 20;
const solis = 10;
const speletajs = document.getElementById("speletajs");
function kustinat(virziens) {
x = x + virziens * solis;
// Gatavas robežas: kvadrāts paliek laukumā.
const robeza = document.getElementById("laukums").clientWidth - 30;
if (x < 0) { x = 0; }
if (x > robeza) { x = robeza; }
speletajs.style.left = x + "px";
document.getElementById("vieta").textContent = "X: " + x;
}
document.getElementById("paLabi").addEventListener("click", function () { kustinat(1); });
document.getElementById("paKreisi").addEventListener("click", function () { kustinat(-1); });
document.addEventListener("keydown", function (notikums) {
if (notikums.key === "ArrowRight") { notikums.preventDefault(); kustinat(1); }
// ŠEIT KREISĀ BULTIŅA
});
</script>
</body>
</html>
1. uzdevums
Izmēģini kustību
Vide: VS Code → pārlūks
-
Sāc ar
42.html. - Pārlūkā izmēģini abas pogas un labo bultiņu uz tastatūras.
- Pārbaudi, ka X skaitlis mainās kopā ar kvadrātu.
Gatavs, kad: Kvadrātu var kustināt ar pogām un labo bultiņu.
2. uzdevums
Pievieno kreiso bultiņu
Vide: VS Code
-
Atrodi komentāru
// ŠEIT KREISĀ BULTIŅA. -
Tā vietā ievieto teorijas piemēra
ifbloku. - Nemainot citus klausītājus, saglabā failu.
Gatavs, kad: Abiem bultiņu taustiņiem ir sava kustības darbība.
3. uzdevums
Pielāgo vadību un pārbaudi robežas
Vide: VS Code → pārlūks
-
Maini
solisno 10 uz 20. Pielāgo virsrakstu un vadības norādi. - Pārlūkā nospied pa labi vienu reizi: X jāmainās no 20 uz 40. Nospied pa kreisi: atkal 20.
- Ar pogām un taustiņiem sasniedz abas malas. Kvadrāts nedrīkst pazust ārpus laukuma.
- Saglabā un nosūti darbu uz GitHub.
Gatavs, kad: Pogas un abi taustiņi pārvieto spēlētāju pa 20 px laukuma robežās.
Iesniedz 3. uzdevuma rezultātu
Iesniedz pabeigto
42.html
skolotāja norādītajā vietā. Šo pašu versiju saglabā arī GitHub.
Stunda ir ieskaitīta, ja 3. uzdevuma rezultāts atbilst visiem šiem punktiem:
- Darbojas abas pogas un abas tastatūras bultiņas.
- Kustības solis ir 20 px un redzama pareizā X vērtība.
- Spēlētājs paliek laukuma robežās.
1. un 2. uzdevums sagatavo šo rezultātu. Papildu uzdevums nav vajadzīgs ieskaitei.
Saglabā un nosūti uz GitHub — pogu atgādne
Vide: VS Code / Source Control → GitHub pārlūkā
- Ar File → Save All saglabā failus. Atver Source Control ar Ctrl+Shift+G .
- Pie Changes nospied + (Stage All Changes). Pārbaudi, ka vajadzīgie faili pārvietojas uz Staged Changes .
-
Ziņas laukā ieraksti īsu izmaiņu, piemēram,
Pabeigts 4.2 darbs. Spied Commit . -
Ja šī tēmas mape vēl nav GitHub, spied
Publish to GitHub
un izveido publisku projektu
datorika9-tema4. Jau publicētam projektam spied Sync Changes . Ja pogas nav, atver … → Push . - Pārlūkā atver savu GitHub projektu un pārbaudi faila pēdējās izmaiņas.
Ja Source Control rāda Initialize Repository , vispirms nospied to. Ja parādās kļūda vai sapludināšanas pieprasījums, izmanto palīdzību un palūdz skolotāja atbalstu.
Papildu uzdevums: Pievieno taustiņus A un D
Sāc, kad 3. uzdevums ir gatavs un iesniegts. Ja vēlies paturēt obligāto versiju, saglabā kopiju ar citu nosaukumu.
-
Taustiņu funkcijā pievieno
if (notikums.key === "a") { kustinat(-1); }un līdzīgu rindu burtam d. - Atjauno vadības norādi un pārbaudi abus mazos burtus.
Ja kaut kas neizdodas
-
Neredzi izmaiņas?
VS Code nospied Ctrl+S. Pārlūkā nospied Ctrl+R. Pārbaudi, ka atvērts tieši
42.html. - Kods redzams kā teksts? Saglabā ar galotni .html. Windows ieslēdz View → Show → File name extensions un pārbaudi, ka beigās nav .txt.
- Poga nestrādā? Pārbaudi, vai neizdzēsi pēdiņu, iekavu vai elementa id. Salīdzini savu laboto vietu ar sākuma kodu.
- Nesaproti nākamo soli? Atrodi pirmo nepabeigto soli un parādi skolotājam tieši šo vietu.