1. Weil ein Browser – und in dem soll ja das Programm ausgeführt werden – erst mal eine HTML-Datei erwartet, also eine Datei mit HTML-Code, ist diese Einrahmung nötig. Dadurch weiß dann der Browser, dass die innenstehenden Anweisungen in JavaScript geschrieben sind.
2. In launch.json werden für den reibungslosen Programmablauf wichtige Daten gesammelt. Diese Datei wird von VS Code automatisch erzeugt, muss aber ab und zu bearbeitet werden.
1. Für Eingabe und Ausgabe kann man in JavaScript window.prompt() und document.write() benutzen. Das sind aber nicht die einzigen Funktionen für diesen Zweck, du lernst später noch weitere kennen.
2. Nur auf den ersten Blick: Eine Zuweisung wie Zahl = 2 * 3 sieht aus wie eine Gleichung, aber auch Zahl = Zahl + 1 kann eine Zuweisung sein. Eine passende Gleichung gibt es nicht.
3. Der Operator mit einem einfachen Gleichheitszeichen (=) ist für Zuweisungen zuständig, der Operator mit doppeltem Gleichheitszeichen (==) für Vergleiche.
4. Das Programmstück lässt sich mit else vereinfachen:
if (zahl == 0)
document.write("Kein Kehrwert");
else
document.write(1/Zahl);
1. Das Programm liegt im Ordner kehrwert.
2. Hierzu schau mal in den Ordner password.
1. Bei einem Vergleich, ob etwas kleiner (<) oder größer (>) ist, wird die Vergleichszahl ausgeschlossen. Soll die Vergleichszahl mit einbezogen werden, so verwendest du »<=« oder »>=«. Ein Beispiel: Die Bedingung x < 5 erfüllen z.B. die positiven Zahlen 1, 2, 3, 4; für x <= 5 gelten dagegen 1, 2, 3, 4 und 5.
1. Die Operation Anzahl + 1 zählt einen Wert um 1 herauf, Anzahl – 1 zählt um 1 »rückwärts«, Anzahl * 2 verdoppelt einen Wert.
2. Eine Zufallszahl für einen Würfel erzeugt man so:
wuerfel = Math.floor(Math.random()*6+1);
1. Das Programm im Ordner zENSUR3 bietet das Bewertungsschemata für 0 bis 15 Punkte an.
2. Ein paar Beispiele findest du im Ordner alter.
1. Es kommt zu einer Endlos-Schleife, weil Kapital nie den gewünschten Wert erreicht.
2. Alle drei sind auf dem Bildschirm unsichtbar: Ein Leerzeichen ist ein kleiner Zwischenraum, der als einzelnes Zeichen gewertet wird (" "). Eine Leerzeile ist sozusagen ein horizontaler Zwischenraum (zwischen zwei Zeilen). Und die Leerkette ist ein Text mit Nichts ("").
1. Der Programm-Ordner hat den Namen mathe5.
2. Dein Computer findet im Programmprojekt raten5 eine von dir ausgedachte Zahl heraus, wenn du ihn nicht betrügst.
3. Nach demselben System spielt der PC im Programmprojekt raten6 ohne zu mogeln gegen sich selbst.
1. Globale Variablen gelten und existieren überall im Programm, lokale Variablen nur innerhalb eines Blocks (Funktion, Kontrollstruktur).
2. Als Parameter können Variablen verwendet werden, aber auch feste Werte (Konstanten).
1. Die Version mit den Strings liegt im Ordner tausch4.
2. Im sum_mit-Programm gibst du z.B. 10 ein, dafür bekommst du die Summe und den Mittelwert der ganzen Zahlen von 1 bis 10.
3. Siehe 2.
4. Hierfür gibt es keine Beispiele, ich überlasse es dir, welchen deiner Projekte du Funktionen verpassen möchtest. Vielleicht noch für Hallo noch Mathe?
1. Variablen, die in einer Klasse vereinbart werden, nennt man Attribute, in einer Klasse definierte Funktionen heißen Methoden.
2. Kapselung bedeutet, dass mehrere Elemente in einer Klasse zusammengefasst werden. Ein Zugriff von außen ist dann nur über eine Verknüpfung mit einem Objekt möglich, das als Instanz dieser Klasse erzeugt wurde.
3. Alle Elemente müssen mit ihrer Klasse über this verknüpft werden.
4. Nicht viel, denn das new ist wichtig und nötig. Unwichtig ist, ob »ungewöhnlich« falsch geschrieben ist.
1. Dieser HTML-Text zeigt einen Button mit dem Text hallo (wobei eigentlich die erste Zeile genügt):
<button>Hallo</button>
<script> </script>
2. Mit dem onclick-Parameter verknüpft man eine Komponente (wie z.B. einen Button) mit einer Ereignis-Funktion in JavaScript.
3. Im style-Bereich mit den Parametern height und width (Größe) sowie left und top (Position). Wichtig ist, dass alles mit einem ID-Namen verknüpft ist.
4. Dazu dient die Methode document.getElementById().
1. Einen Lösungsvorschlag findest du in horoskop1. Passende Wahrsagetexte musst du allerdings selbst einfügen.
1. Wenn ein Eintrag im Listenfeld aktiviert bzw. ausgewählt wurde, lässt sich über selectedIndex seine Nummer ermitteln (gezählt wird ab 0).
2. Bei Optionsfeldern und Kontrollfeldern muss man jede einzelne Komponente über checked abfragen, ob sie aktiviert oder deaktiviert ist.
1/2. Die Lösungen findest du in den Ordnern horoskop2 und horoskop3.
3. Die input-Komponente in HTML ist ziemlich vielseitig. Bis jetzt kennen wir text für ein einfaches Eingabefeld, radio für ein Optionsfeld, checkbox für ein Kontrollfeld und file für ein Feld zum Laden einer Datei.
4. Die style-Option text-align muss auf center gesetzt werden.
5. Zuerst braucht man ein Objekt vom Typ FileReader, dann hat man Zugriff auf die Methode readAsText(). Danach ist noch eine Ereignis-Funktion nötig, die das Ganze zum Abschluss bringt. In der kann man den Text anzeigen lassen oder einer anderen Variablen zuweisen.
1. Man setzt in die Textdatei unter jede Aufgabe die Nummer der richtigen Antwort. Beim Auslesen vergleicht man die Nummer des gewählten Elements mit dieser Zahl, z.B.:
if (choice == Number(correct[current]) ...
2. Für mehrere richtige Antworten ist es sinnvoll, eine Kette von zwei verschiedenen Zeichen zu verwenden. Wichtig ist, darauf zu achten, dass der zu vergleichende correct-String keine unsichtbaren Zeichen enthält.
1. im Ordner quiz6B findest du das passende Programm.
2. Ein Programm mit Kontrollboxen liegt im Ordner quiz6c. Eine dazu eine passende Textdatei ist z.B. quizx.txt.
3. Der Ursprung des Koordinatensystems auf dem Bildschirm liegt links oben und beginnt dort mit x=0 und y=0.
4. Das Pärchen moveTo()/lineTo() setzt Anfangs- und Endpunkt für das Zeichnen einer Linie, die hier immer eine Gerade ist. Die Parameter von rect() sind der linke obere Eckpunkt sowie Breite und Höhe. Und bei arc()werden Mittelpunkt und Radius sowie Anfangs- und Endwinkel benötigt (weil man damit ja sowohl einen vollen Kreis als auch einen Bogen zeichnen kann).
5. Ein Event-Handler stellt eine Verknüpfung zwischen einem Objekt und einem Ereignis her. Das betreffende Element kann z.B. auf Mausaktionen reagieren, und Aktionen auslösen, die in einer Ereignis-Funktion definiert sind.
1. Die Lösung ist im Ordner grafik6a zu finden.
2. Das Programm mit den bunten Quadraten liegt in grafik6b.
1. Entweder in der HMTL-Datei: Dort baut man eine img-Element ein, mit scr wird der Name der Bilddatei übernommen. Oder in JavaScript: Zuerst erzeugt man ein Bildobjekt: var image = new Image(); dann wird der Dateiname zugewiesen: image.src = "ball1.png";
2. setTimeout() verzögert eine Funktion einmal, setInterval() kann das mehrmals wiederholen (und muss mit clearInterval() wiedergestoppt werden).
1. Nach links und zurück geht es in Movie7.
2. Und zum Tanzen wird die Figur in Movie8 gebracht.
3. Das neue Monsterprojekt ist deutlich umfangreicher als die alten und befindet sich im Order Monster6.
1. Die Lösung findest du im Ordner Wuerfel4.
2. Hier liegt die Lösung in SSP3.
1. Weil sich eine Figur auch über ein Spielfeld bewegen, das nicht nur eine Farbe, sondern eine Struktur hat, empfehlen sich Bilder mit transparentem Hintergrund, damit man den nicht auf dem Spielfeld sieht, sondern nur die Figur.
2. Bei controlBorder() wird immer nur ein Kontakt getestet, hier werden die Bedingungen durch »oder« (||) verknüpft. Bei controlContact() müssen alle Bedingen passen, damit ein Kontakt »gemeldet« wird. Hier werden die Bedingungen durch »und« (&&) verknüpft.
1. Beide Schläger (Paddles) bewegen sich automatisch im Projekt Pong2A. (Wenn du bei einem Schläger den zweiten Parameterwert von setSpeed() negativ machst, erfolgt die Bewegung gegenläufig.)
1. Hier muss am Anfang hinzugefügt und am Ende angehängt werden, daher kommt nur das Paar unshift-pop infrage.
1. Die neue »Käfer-Lösung« ist eine Erweiterung von chooseLocation() und im Ordner snake5 zu finden.
1. Im Ordner DODGER4 ist das Programm, in dem man die Figur bei einem Treffer leiden sieht.