2BHEL FSST Test (Group A)

2022-05-24

Max. 24 points

Name:

Task Max. Achieved
1 3
2 21
Sum 24
Benotung: >=21: 1, >=18: 2, >=15: 3, >=12: 4, <12: 5
  1. Answer the following statements indicating whether they are True or False.
    0-3 correct: 0 points, 4 correct: 1 point, 5 correct: 2 points, 6 correct: 3 points.
    Statement True False
    Die Big O Notation gibt die durchschnittliche Laufzeit von Algorithmen an.
    Die besten Sortieralgorithmen haben eine Laufzeit von O(n2).
    O(3n+n!/4+5n2)=O(n!)
    Gängige Programmiersprachen stellen Sortieralgorithmen zur Verfügung.
    Algorithmen haben aufgrund schnellerer CPUs an Bedeutung verloren.
    Ein Algorithmus mit O(1) ist unabhängig von der Größe der Inputdaten.
  2. JavaScript Canvas
    Speichere die Datei canvas_game.html auf dem lokalen Computer. Speichere zur Sicherheit eine separate Version nach dem Fertigstellen jeder Teilaufgabe, da nur für funktionierende Lösungen Punkte vergeben werden. Abgegeben soll nur die letztgültige, funktionierende Version. Editiere die Datei so, dass folgende Kriterien erfüllt sind:
    1. Füge einen Cheat-Code zu dem Spiel hinzu. Beim Drücken der Taste a soll der Spielerin ein Leben hinzugefügt werden.
    2. Verdopple die Geschwindigkeit des Balls. Die Änderung soll auch gültig bleiben, wenn die Spielerin ein Leben verliert.
    3. Statt der aktuellen Funktion drawLives() soll eine ES6 arrow function verwendet und in const drawLives gespeichert werden.
    4. In CSS werden Farben normalerweise als hexadezimale Strings mit einem führenden # Zeichen dargestellt. Die ersten beiden Stellen sind dabei der Wert für Rot, die zweiten zwei Stellen der Wert für Grün und die letzten beiden Stellen der Wert für Blau, also #RRGGBB. Die Werte entsprechen stets einer Dezimalzahl zwischen 0 und 255.
      Implementiere eine Funktion getRGB(), welche eine zufällige Farbe auf der RGB Skala als Text zurück gibt. Beispiele für Rückgabewerte sind #cc2dbe, #b1bea7 oder #54ab32.
    5. Verändere den Programmcode des Spiels so, dass jeder brick eine Eigenschaft color bekommt. In dieser Eigenschaft ist jeweils ein zufälliger RGB String zu speichern. In der Funktion drawBricks() soll statt der konstanten Farbe nun der in jedem brick gespeichterte Farbcode verwendet werden. Dadurch bekommt das Spiel einen freundlichen, bunten Touch.
    6. Implementiere eine Funktion pause(), welche durch drücken der Taste p aufgerufen wird und das Spiel pausiert. Erneutes drücken der Taste p soll die Funktion erneut aufrufen und das Spiel wieder starten. Verwende zwei globale Variable, um die Werte von dx und dy während der Pause zwischenzuspeichern.
    7. Der im Spiel verwendete alert(.) Dialog ist nicht mehr zeitgemäß. Ersetze diesen durch ein leeres <p> Tag. Wenn die Spielerin gewonnen hat, soll der Text "YOU WIN, CONGRATS! Press F5 to restart the game." darin angezeigt werden. Damit der Text sichtbar bleibt, entferne die Zeile, welche die Seite automatisch neu lädt. Um den Ball nach dem Sieg aufzuhalten, rufe pause() auf.
    Lade dein Resultat (nur eine einzige, funktionierende Version) in unserem Eduvidual Kurs hoch.
    3 Punkte für jede voll funktionsfähig implementierte Aufgabe