Hausaufgabe

Aus Das Sopra Wiki

Zu Beginn des Softwarepraktikums soll sich jeder Teilnehmer mit C#, XNA und den dazugehörigen Werkzeugen vertraut machen. Ein guter Startpunkt dafür ist die Tutorial-Seite. Außerdem soll der erste Anstoß zum selbständigen Recherchieren der benötigten Quellen für das Softwarepraktikum gegeben werden. Aus diesem Grund müssen von jedem Teilnehmer in der ersten Woche (siehe Roadmap) verbindliche Hausaufgaben gemacht werden. Diese bestehen aus 4 Aufgaben.

Lesen Sie den Text jeder Aufgabe vollständig durch, bevor Sie mit der Bearbeitung beginnen.


Aufgabe 1: Setup

Setzen Sie eine Arbeitsumgebung auf und testen Sie die Zugänge zu den verschiedenen Diensten.

Mindestens die folgenden Werkzeuge (die Sie auf unserer Downloads-Seite finden) sollten Sie installiert und konfiguriert haben:

Um auf die Dienste zugreifen zu können, brauchen Sie einen gültigen Poolaccount. Außerdem müssen Sie für die Dienste ein sog. WWW-Passwort einrichten.

Die folgenden Dienste sollten Sie getestet haben:

  • Zugang zu ihrem SVN-Repository
  • Zugang zum Trac ihrer Gruppe
  • Die Gruppenmailingliste

Die Adressen dieser Dienste finden sich auf der Gruppeneinteilungsseite.


Aufgabe 2: Trac

Erstellen Sie für die Bearbeitung der Hausaufgabe 3 Tickets im Trac Ihrer Gruppe. Gehen Sie dazu wie folgt vor.

Komponente "Hausaufgabe" anlegen

Prüfen Sie, ob in Ihrem Trac bereits eine Komponente "Hausaufgabe" angelegt wurde. Falls nein, legen Sie diese an.

  • Klicken Sie in der oberen Navigationsleiste auf "Admin".
  • Klicken Sie in der linken Navigation auf Ticket System->Components.
  • Sie sehen nun eine Liste der existierenden Komponenten. Sie können diese löschen oder verändern.
  • Wenn die Komponente "Hausaufgabe" bereits existiert, müssen Sie nichts mehr machen.
  • Wenn nicht, müssen Sie eine neue Komponente anlegen. Sie können dies mit dem Kasten "Add Component" machen. Lassen Sie dabei das "Owner"-Feld leer.

Übergeordnetes Ticket erstellen

Erstellen Sie ein übergeordnetes Ticket für Ihre Hausaufgabe.

caption

Ticket für Aufgabe 3 erstellen

Erstellen Sie ein Ticket für die Aufgabe 3, z.B. "Texte lesen". Tragen Sie bei dem Ticket ein, das es das übergeordnete Ticket "<username>: Hausaufgabe machen" blockiert.

caption

Ticket für Aufgabe 4 erstellen

Erstellen Sie ein Ticket für die Aufgabe 4, z.B. "Programm schreiben". Tragen Sie bei dem Ticket ein, das es das übergeordnete Ticket "<username>: Hausaufgabe machen" blockiert.

Custom Query erstellen

Überprüfen Sie, ob Ihre Tickets richtig erstellt worden. Verwenden Sie dazu eine "Custom Query".

caption
caption
caption

Aufgabe 3: Texte lesen

Ticket akzeptieren

Bevor Sie mit dieser Aufgabe beginnen, sollten Sie Ihr entsprechendes Ticket akzeptieren.

Texte lesen

Lesen Sie sich die folgenden Artikel durch:

Sollten Sie Fragen zu diesen Artikeln haben, wenden Sie sich an Ihren Tutor.

Ticket schließen

Wenn Sie mit dieser Aufgabe fertig sind, sollten Sie Ihr entsprechendes Ticket schließen.


Aufgabe 4: Programm schreiben

Das fertige XNA-Programm könnte so aussehen.

Bevor Sie mit dieser Aufgabe beginnen, sollten Sie Ihr entsprechendes Ticket akzeptieren.

Erstellen Sie ein XNA-Programm, welches die folgenden Eigenschaften erfüllt:

funktionale Anforderungen

Das Uni-Logo
Hintergrundgrafik
  • Das Programm zeichnet eine Hintergrundgrafik in einem XNA-Fenster.
  • Vor dieser Hintergrundgrafik rotiert ein Uni-Logo um den Bildschirmmittelpunkt.
    • Das Logo muss transparent sein, d.h. es dürfen keine weißen Ränder der verwendeten Grafik sichtbar sein.
    • Das Logo muss korrekt skaliert sein, damit es vollständig in den sichtbaren Bereich hinein passt.
    • Das Logo darf während der Bewegung nicht über die Ränder des sichtbaren Bereiches hinausragen. (Größenveränderung des Fensters ist zu vernachlässigen. Es gilt als Richtwert die Größe des Fensters bei Programmaufruf.)
    • Das Logo muss teilweise durchsichtig (transparent) sein.
  • Innerhalb des XNA-Fensters wird ein Maus-Cursor angezeigt.
  • Wenn der Benutzer mit der Maus innerhalb des Fensters klickt, soll ein Sound abhängig von der Position des Cursors abgespielt werden:
    • Liegt der Cursor über dem Logo, soll ein Ton A erklingen.
    • Liegt der Cursor nicht über dem Logo, soll ein Ton B erklingen.
    • Ton A und Ton B müssen verschieden sein.

Technische Anforderungen

Die technischen Anforderungen müssen bis auf die folgenden Ausnahmen erfüllt werden:

  • Das Programm muss nicht auf allen Desktop-Windows Versionen ab Windows XP SP 2 und höher lauffähig sein. Es reicht, wenn es auf einer höheren Version lauffähig ist. Falls diese Version nicht Windows 7 bzw. Windows 7 SP1 ist, geben Sie dies bitte in einer readme.txt an, die sie der Abgabe beilegen.

Ressourcen

Damit das Erstellen von Grafiken ignoriert werden kann, gibt es hier die beiden Beispieldateien aus der Einführungsveranstaltung:

Als Audiodateien können beliebige, kurze, Dateien verwendet werden. Die beiden aus der Einführungsveranstaltung bekannten Waves gibt es hier:

Abgabe

Bitte verwenden Sie zur finalen Abgabe der Hausaufgabe das SVN-Repository ihrer Gruppe: Abgabe/Hausaufgabe Verwenden Sie außerdem in Ihrer Commit-Message einen Befehl, um die von Ihnen angelegten Tickets zu schließen. Die Syntax dafür finden Sie im Artikel Trac und SVN.

Hinweise