Hello Dart: Einführung in die Programmierung (Deutsch)

Teil 1: Erste Schritte

In diesem ersten Teil wagen wir unsere ersten Schritte im Programmieren.

Hello Dart

Voraussetzungen

  • Sie brauchen keine Vorkenntnisse im Programmieren, um mit Hello Dart zu starten!
  • Sie müssen den Dart Editor mit den Hello Dart-Szenarien installiert haben. Falls Sie das noch nicht gemacht haben, finden Sie hier eine Installationsanleitung.

Die Klasse MyPlayer

Öffnen Sie die Datei my_player.dart aus dem Ordner scenario1.01.

My Player

Betrachten wir einmal die Klasse MyPlayer. Zwischen den geschweiften Klammern { und } werden die Eigenschaften und das Verhalten unseres Spielers definiert.

Das Einzige, was im Moment in dieser Klasse steht ist start() und drei Anweisungen für die Bewegungen des Spielers. start() ist eine Funktion (wird manchmal auch Methode genannt). Darin können wir das Verhalten unseres Spieleres verändern.

AUFGABE 1.01: First Steps

Ändern Sie die start()-Funktion so ab, dass der Spieler zuerst einen Schritt macht, dann einen Stern legt und schliesslich wieder einen Schritt macht.

In der Einleitung finden Sie alle Befehle, die ein Spieler ausführen kann.

Beachten Sie: Nach jedem Befehl muss ein Strichpunkt ; stehen.

Klicken Sie auf das Run-Symbol Run, um Ihr Programm zu testen.

index.html und die main()-Funktion

Da wir unsere Programme in einem Webbrowser laufen lassen, brauchen wir immer eine html-Datei. In index.html finden Sie jeweils eine Angabe, dass das Script my_player.dart geladen werden soll. Damit der Browser weiss, wo das Dart-Programm beginnt, braucht es eine main()-Funktion.

Zuunterst in der Dart-Datei finden Sie die main()-Funktion. Jedes Dart-Programm muss genau eine main()-Funktion als Einstiegspunkt haben.

In unserer main()-Funktion rufen wir die Funktion createWorld(...) auf. Diese Funktion ist Teil von Hello Dart und zeichnet die ganze Welt mit dem Spieler und den Feldern. Sobald alles parat ist wird automatisch unsere start()-Funktion aufgerufen und der Spieler beginnt sich zu bewegen.

Welt gestalten

Die Szenarien von Hello Dart beinhalten zusätzliche Grafiken, die Sie nach Ihren Vorlieben einschalten können.

Catgirl

AUFGABE 1.02: World Design

Ändern Sie die main()-Funktion wie folgt ab:

main() {
  character = 'catgirl';
  field = 'stone';
  
  createWorld('scenario.txt', new MyPlayer());
}

Für character können Sie innerhalb der Anführungszeichen die Werte boy, catgirl, stargirl oder pinkgirl verwenden.

Für field sind die Werte grass, stone, wood oder dirt gültig.

Tipp: Um eine Änderung zu testen geht es am schnellsten, wenn man Ctrl+S (oder ⌘+S) zum Speichern und anschliessend im Browser F5 (oder ⌘+R) zum Aktualisieren klickt.

AUFGABE 1.03: Around Tree

Öffnen Sie scenario1.03. Wenn Sie das Szenario starten, dann sollten Sie eine Welt mit drei Bäumen und einem Stern sehen.

Schreiben Sie ein Programm, welches Ihren Spieler auf dem angegebenen Weg zum Stern führt. Er muss dabei um die Bäume herumlaufen. Beim Stern angekommen, soll er ihn entfernen.

Around Tree

Neue Funktionen

AUFGABE 1.04: Around Tree with Function

Wenn Sie Aufgabe 1.03 korrekt gelöst haben, so wird Ihr Programm wahrscheinlich drei gleiche Teile enthalten, nämlich für das Herumgehen um jeden Baum. Dies können wir zur besseren Übersicht noch etwas erweitern, indem wir eine neue Funktion einführen. Unterhalb der schliessenden Klammer } von der start()-Funktion erstellen wir eine neue Funktion:

goAroundTree() {

}

Schreiben Sie zwischen die geschweiften Klammern der Funktion die Befehle, die es braucht, um um den Baum zu kommen.

Benutzen Sie nun innerhalb der start()-Funktion die Funktion goAroundTree() für jeden der drei Bäume.

Wie weiter?

→ Fahren Sie weiter mit Teil 2: Schleifen.


Quellen
Planet Cute Bilder stammen von Daniel Cook (Lostgarden.com), veröffentlicht unter CC BY 3.0.
Oleg Yadrov hat die “Planet Cute” Bilder weiterentwickelt und mir zur Verfügung gestellt. Optimiert wurden sie mit dem grossartigen TexturePacker.
Einige Übungen in Hello Dart sind inspiriert von Kara. Kara wurde entwickelt von Jürg Nievergelt, Werner Hartmann, Raimond Reichert und anderen.


Comments