Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:ffprg1-2024:raster-basics [2024/04/09 12:39] – created Ivo Blöchliger | lehrkraefte:blc:informatik:ffprg1-2024:raster-basics [2024/04/26 11:44] (current) – [Bilder speichern und laden] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Die Raster-Klasse ====== | ||
| + | |||
| + | Download: {{lehrkraefte: | ||
| + | |||
| + | Die Rasterklasse beinhaltet: | ||
| + | * Eine HTML-Datei mit einigen HTML-Elementen, | ||
| + | * Eine CSS-Datei, die das Layout definiert | ||
| + | * Eine JS-Datei, die das Raster als Objekt initialisiert und womit dann interagiert werden kann. | ||
| + | |||
| + | |||
| + | |||
| + | ===== Wichtigste HTML-Elemente ===== | ||
| + | Folgende Elemente werden erwartet: | ||
| + | <code html> | ||
| + | < | ||
| + | <div class=" | ||
| + | <div id=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | </ | ||
| + | Wobei die '' | ||
| + | |||
| + | Das '' | ||
| + | |||
| + | ===== Wichtigste CSS-Einträge ===== | ||
| + | Die ganze Seite sowie die Menüs werden mit '' | ||
| + | |||
| + | Das Raster selbst ist mir '' | ||
| + | |||
| + | ===== JavaScript ===== | ||
| + | * Der '' | ||
| + | * Die Methoden (Funktionen) '' | ||
| + | * Die Methode '' | ||
| + | * Die Klassen-Methode '' | ||
| + | * Das Attribut '' | ||
| + | |||
| + | |||
| + | ===== Einbinden von Knöpfen ===== | ||
| + | In HTML, den Knopf mit einer ID versehen: | ||
| + | <code html> | ||
| + | <button id=" | ||
| + | </ | ||
| + | In JavaScript, den Knopf via ID auslesen und mit einem eventListener versehen: | ||
| + | <code javascript> | ||
| + | let startKnopf = this.document.getElementById(' | ||
| + | startKnopf.addEventListener(' | ||
| + | console.log(" | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Bilder speichern und laden ===== | ||
| + | |||
| + | HTML-Knopf | ||
| + | <code html> | ||
| + | <button id=" | ||
| + | <input type=" | ||
| + | <button id=" | ||
| + | </ | ||
| + | |||
| + | JavaScript: | ||
| + | <code javascript> | ||
| + | let speichernKnopf = this.document.getElementById(' | ||
| + | speichernKnopf.addEventListener(' | ||
| + | |||
| + | function speichern() { | ||
| + | let bild = ""; | ||
| + | for (let y=0; y< | ||
| + | for (let x=0; x< | ||
| + | let wert = meinRaster.getValue(x, | ||
| + | bild += String(wert); | ||
| + | } | ||
| + | } | ||
| + | console.log(bild); | ||
| + | document.getElementById(' | ||
| + | } | ||
| + | | ||
| + | | ||
| + | let ladenKnopf = this.document.getElementById(' | ||
| + | ladenKnopf.addEventListener(' | ||
| + | |||
| + | function laden() { | ||
| + | let bild = document.getElementById(' | ||
| + | console.log(bild); | ||
| + | for (let i=0; i< | ||
| + | let wert = Number(bild[i]); | ||
| + | let x = i % meinRaster.width; | ||
| + | let y = Math.floor(i/ | ||
| + | meinRaster.setValue(x, | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | Schachbrettmuster: | ||
| + | <code javascript> | ||
| + | function schach() { | ||
| + | for (let y=0; y< | ||
| + | for (let x=0; x< | ||
| + | let wert = (x+y)%2+1; // Hier geheime Formel einfügen | ||
| + | meinRaster.setValue(x, | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||