logo CoderDojo

HTML, Javascript & CSS

HTML, Javascript & CSS logo

Welkom bij de wereld van webontwikkeling, waar kleurrijke websites tot leven komen! Vandaag gaan we kennis maken met drie belangrijke talen die je zullen helpen om je eigen webpagina’s te bouwen: HTML, JavaScript en CSS.

HTML, ook wel bekend als HyperText Markup Language, is als de skeletstructuur van een website. Het is de taal die je gebruikt om de inhoud van je pagina te structureren. Stel je voor dat je een huis bouwt en HTML de blauwdruk is. Het vertelt de browser hoe de verschillende elementen van je pagina moeten worden georganiseerd, zoals koppen, paragrafen, afbeeldingen en links. Met HTML kun je je creativiteit de vrije loop laten en je eigen unieke webpagina’s maken.

JavaScript is de taal waarmee je je webpagina’s interactief kunt maken. Het voegt leven toe aan je statische HTML-structuur. Vergelijk het met de elektrische bedrading en schakelaars in je huis. Met JavaScript kun je dynamische elementen toevoegen, zoals interactieve knoppen, spelletjes, animaties en zelfs geavanceerdere functies, zoals het verwerken van formulieren of het laden van gegevens vanaf het internet. Het is de taal die je in staat stelt om met je gebruikers te communiceren en je website tot leven te brengen.

CSS, oftewel Cascading Style Sheets, is de taal die je gebruikt om je webpagina’s er mooi en aantrekkelijk uit te laten zien. Stel je voor dat je het interieur van je huis decoreert met kleuren, meubels en gordijnen. CSS doet hetzelfde voor je webpagina’s. Met CSS kun je kleuren, lettertypen, lay-outs, achtergronden en andere visuele aspecten van je pagina aanpassen. Het helpt je om je eigen stijl en ontwerp toe te voegen aan je website, zodat deze er precies uitziet zoals jij wilt.

Samen vormen HTML, JavaScript en CSS een krachtig trio waarmee je je eigen unieke websites kunt maken. Of je nu een leuke spelletjespagina wilt maken, een blog wilt starten of je creatieve kunstwerken wilt delen, met deze talen kun je je ideeën tot leven brengen op het internet. Dus laten we aan de slag gaan en de magie van webontwikkeling ontdekken!

bron: ChatGPT

Onze instructies

Javascript - Snake - einde instructie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Snake</title> <style> canvas { display: block; margin: 0 auto; border: 1px solid black; } h1 { text-align: center; } </style> </head> <body> <h1>Snake</h1> <div class="snakearea"> <canvas id="speelveld" width="800" height="800"></canvas> <div style="display: none;"> <img id="appel" src="data:image/png;base64,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" > </div> </div> <script> const speelveld = document.getElementById("speelveld"); const ctx = speelveld.getContext("2d"); const vakGrootte = 25; const appelGrootte = vakGrootte * 1.2; const aantalVakjes = speelveld.width / vakGrootte; const appel = { x: 0, y: 0 }; const slang = [{ x: 10, y: 10 }]; let richting = "rechts"; const appelPlaatje = document.getElementById("appel"); function tekenAppel() { ctx.drawImage(appelPlaatje, appel.x * vakGrootte, appel.y * vakGrootte, appelGrootte, appelGrootte); } function tekenSlang() { for (let slangDeel of slang) { ctx.fillStyle = "green"; ctx.fillRect(slangDeel.x * vakGrootte, slangDeel.y * vakGrootte, vakGrootte - 1, vakGrootte - 1); } } function toonGameOver() { ctx.fillStyle = "orange"; ctx.font = "75px Arial"; ctx.fillText("Game over!", 200, 400); } let score = 0; function toonScore() { ctx.fillStyle = "black"; ctx.font = "30px Arial"; ctx.fillText(`Score ${score}`, 350, 30); } function nieuwePlaatsAppel() { appel.x = Math.floor(Math.random() * aantalVakjes); appel.y = Math.floor(Math.random() * aantalVakjes); } function verplaatsSlang() { const nieuweSlangenKop = {...slang[0]}; switch (richting) { case "omhoog": nieuweSlangenKop.y -= 1; break; case "omlaag": nieuweSlangenKop.y += 1; break; case "links": nieuweSlangenKop.x -= 1; break; case "rechts": nieuweSlangenKop.x += 1; break; } slang.unshift(nieuweSlangenKop); if (nieuweSlangenKop.x === appel.x && nieuweSlangenKop.y === appel.y) { nieuwePlaatsAppel(); score += 1; } else { slang.pop(); } } document.addEventListener("keydown", (event) => { switch (event.key) { case "ArrowUp": richting = "omhoog"; break case "ArrowDown": richting = "omlaag"; break case "ArrowLeft": richting = "links"; break case "ArrowRight": richting = "rechts"; break case "o": document.location.reload(); break } console.log(richting); }); function maakSpeelveldLeeg() { ctx.clearRect(0, 0, speelveld.width, speelveld.height); } function slangHeeftZichzelfGeraakt() { const slangenKop = slang[0]; for (let slangDeel of slang.slice(1)) { if (slangDeel.x === slangenKop.x && slangDeel.y === slangenKop.y) { return true; } } return false; } function slangHeeftEenRandGeraakt() { const slangenKop = slang[0]; return slangenKop.x < 0 || slangenKop.x >= aantalVakjes || slangenKop.y < 0 || slangenKop.y >= aantalVakjes; } function isGameOver() { return slangHeeftZichzelfGeraakt() || slangHeeftEenRandGeraakt(); } function gameLoop() { if (isGameOver()) { toonGameOver(); return; } maakSpeelveldLeeg(); verplaatsSlang(); tekenAppel(); tekenSlang(); toonScore(); } nieuwePlaatsAppel(); setInterval(gameLoop, 100); </script> </body> </html>
Javascript - Snake - tot en met opdracht 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Snake</title> <style> canvas { display: block; margin: 0 auto; border: 1px solid black; } </style> </head> <body> <h1>Snake</h1> <div class="snakearea"> <canvas id="speelveld" width="800" height="800"></canvas> </div> <script> const speelveld = document.getElementById("speelveld"); const ctx = speelveld.getContext("2d"); const vakGrootte = 25; const appelGrootte = vakGrootte / 2 + 1; const aantalVakjes = speelveld.width / vakGrootte; const appel = { x: 0, y: 0 }; const slang = [{ x: 10, y: 10 }]; let richting = "rechts"; function tekenAppel() { ctx.fillStyle = "red"; ctx.beginPath(); ctx.arc(appel.x * vakGrootte + appelGrootte, appel.y * vakGrootte + appelGrootte, appelGrootte, 0, 2 * Math.PI); ctx.fill(); } function tekenSlang() { for (let slangDeel of slang) { ctx.fillStyle = "green"; ctx.fillRect(slangDeel.x * vakGrootte, slangDeel.y * vakGrootte, vakGrootte - 1, vakGrootte - 1); } } function verplaatsSlang() { const head = {...slang[0]}; switch (richting) { case "omhoog": head.y -= 1; break; case "omlaag": head.y += 1; break; case "links": head.x -= 1; break; case "rechts": head.x += 1; break; } slang.unshift(head); slang.pop(); } document.addEventListener("keydown", (event) => { switch (event.key) { case "ArrowUp": richting = "omhoog"; break case "ArrowDown": richting = "omlaag"; break case "ArrowLeft": richting = "links"; break case "ArrowRight": richting = "rechts"; break case "o": document.location.reload(); break } console.log(richting); }); function maakSpeelveldLeeg() { ctx.clearRect(0, 0, speelveld.width, speelveld.height); } function gameLoop() { maakSpeelveldLeeg(); verplaatsSlang(); tekenAppel(); tekenSlang(); } setInterval(gameLoop, 100); </script> </body> </html>

Instructies met enkel HTML & CSS

Dit zijn instructies van de RaspberryPi foundation en zijn gericht op beginnende gebruikers van HTML en CSS.

Een overzicht van alle projecten in module 1 vind je hieronder.

De projecten van module 2 vind je hieronder.