Veranstalter |
Prof. Dr. Claudia Linnhoff-Popien |
Hörerkreis |
Informatik und Medieninformatik Hauptstudium, |
Umfang |
4 SWS (siehe Einschränkungen DHP), 6 ECTS |
Termin(e) |
Donnerstags, 14-16 Uhr c.t., |
Betreuer |
- |
Prüfung |
Aktuelles
Aktuelle Mitteilungen für diese Veranstaltung sind nicht mehr verfügbar. Bei Fragen zum Inhalt der Veranstaltung nehmen Sie bitte Kontakt mit den betreuenden Mitarbeitern am Lehrstuhl für Mobile und Verteilte Systeme auf.
In dieser Veranstaltung sind folgende Apps entstanden:
Antipong
Ataris Pong ist der Urvater der Videospiele. Das Spielprinzip ist einfach: Ein Ball bewegt sich auf einem Bildschirm hin und her, der Spieler steuert einen senkrechten Strich (das Paddle) am Bildschirmrand und Ziel des Spiels ist es, den Ball mit dem eigenen Paddle zu treffen und ihn durch geschicktes Spielen am gegnerischen Paddle vorbei ins Aus zu spielen, um Punkte zu erlangen. Diese erste klassische Variante -Mensch gegen den Computer-, war zwar ziemlich cool und leicht umzusetzen, aber uns auf Dauer nicht wirklich spannend genug.
Um interessantes Spiel zu erschaffen und dennoch die grundlegende Spielmechanik beizubehalten, haben wir AntiPong erschaffen.
Ziel des Spiels ist es nicht mehr den Ball möglichst schnell ins gegnerische Aus zu bugsieren, sondern den Ball mit beiden Paddles möglichst lange im Spiel zu halten und durch die Schlagabtäusche der Paddles möglichst viele Punkte zu erspielen. Damit einem auch hierbei nicht langweilig wird, haben wir uns ein paar kleinere und größere Gemeinheiten ausgedacht, um den Spieler ein bisschen ins Schwitzen zu bringen:
- feste Hindernisse, die den Ball abprallen lassen
- wabernde Portale, durch die der Ball von einem Teil des Spielfelds zum anderen teleportiert wird
- glühende Gravitationszentren, die den Ball durch Abstoßung von seiner Bahn abbringen.
- die bunte Funken sprühende Ballcannon, die den Ball fängt und irgendwohin schießt
- Bonuselemente, die Leben bringen oder ein Paddle durchs Aufsammeln vergrößern oder verkleinern
Wenn ein Spieler nach den 18 Challenge-Levels nur müde gähnt, kann er sich gerne an dem Random Modus versuchen, in dem er in einer sich ständig ändernden Spielwelt versuchen kann möglichst viele Punkte zu erreichen. Echte Paddlehelden können sich auch ein Profil anlegen und ihre beste Punktzahl auf einer global abrufbaren Highscore eintragen und sich mit anderen AntiPong Spielern vergleichen.
Saustall
Die Saustall App nutzt die seit September 2012 zur Verfügung stehende Liste des Bayerischen Landesamtes für Gesundheit und Lebensmittelsicherheit, auf der Verstöße gegen das Lebensmittelrecht nach §40 Abs. 1a LFGB gesammelt werden. Darunter fällt alles denkbar unhygienische und unappetitliche, sobald es eine Strafe von über 350€ zur Folge hat.
Um die Suche für den Nutzer zu erleichtern wird neben einer Karte mit aktueller Position und den sich in der Nähe befindlichen Einträgen, auch eine Liste zur Verfügung gestellt, die sowohl nach Namen, als auch nach Adressen durchsucht werden kann.
Features der App:
- Daten über Verstöße und Betriebe werden aus der Website geparst
- Daten werden als CoreData gespeichert
- Updatemechanismus als Property List umgesetzt
- Abfrage der Koordinaten für Adressen über Apple Maps Geocoding API
- MapView mit Anzeige der Betriebe mit Verstoßeinträgen und der aktuellen Position
- ListView mit Anzeige der Betriebe mit zusätzlicher Suchfunktion
- DetailView mit Anzeige von allen Verstoßeinträgen des Betriebs
- FAQView mit Informationen und Antworten zu häufig gestellten Fragen
Event Reminder
Nie wieder ein cooles Event verpassen!
Der Eventreminder erinnert dich an neue Events deiner Lieblingskünstler. Mit einer Anbindung an die Last.fm Datenbank geht das so schnell wie nie zuvor.
Einfach Künstler und Stadt eingeben und ab sofort immer top informiert sein, wenn neue Events angesagt sind.
Stundenplaner
Eine Beschreibung des Stundenplaners steht in diesem pdf-Dokument bereit.
Vegas
In dieser Gruppe haben wir eine iPhone-Version der Vegas-App programmiert, die auch bereits für Android existiert.
Vegas ist ein langjähriges Forschungsprojekt des Lehrstuhls für Mobile und Verteilte Systeme. Getreu dem Motto "What happens in Vegas, stays in Vegas" ist hier das Ziel eines Online Sozialen Netzwerkes ähnlich wie Facebook und Google+, welches jedoch durch Verschlüsselungsmethoden und Dezentralisierung die Privatssphäre der Benutzer und die Sicherheit des Datenaustausches gewährleistet. (Ausführliche Informationen siehe http://vegas.mobile.ifi.lmu.de/)
Im Rahmen des iPhone-Praktikums ist es uns hierzu gelungen einen Chat-Client zu entwickeln, mit dem man Freunde hinzufügen und mit diesen chatten kann. Freundschaftsanfragen und Nachrichten werden dabei gemäß den Konzepten von Vegas verschlüsselt gesendet und bei Erhalt entkryptisiert.
Inhalt des Praktikums
Ablauf
Das Praktikum gliedert sich in zwei Phasen. Während der ersten Phase finden wöchentliche Veranstaltungen statt, in denen eine Einführung in die iPhone-Entwicklung gegeben wird. In der zweiten Phase entwickeln die Teilnehmer in kleinen Teams eine iPhone-App.
In der ersten Phase der Veranstaltung wird zunächst eine Einführung in Objectiv-C und das iPhone-SDK gegeben. Beide Themenschwerpunkte werden jeweils mit einem Übngsblatt abgeschlossen. Die Abgabe dieser Übungsblätter ist Pflicht, da deren Bewertung unmittelbar in die Abschlussnote einfließt.
Während der zweiten Phase entwickeln die Teilnehmer überwiegend selbstständig eine iPhone-App. Die Teilnehmer dürfen gerne eigene Ideen für Anwendungen mitbringen.
Für die Entwicklung werden Arbeitsplätze wöchentlich und nach Absprache zur Verfügung gestellt.
Die Veranstaltung endet mit der Präsentation der entwickelten Anwendungen.
Anmeldung
Eine Anmeldung ist nicht mehr möglich.
Die Teilnehmerzahl ist auf 24 Personen begrenzt.
Vorkenntnisse in C oder C++ (oder Objectiv-C) sind nicht unbedingt erforderlich, erleichtern aber den Einstieg in die iPhone-Programmierung.
Bitte geben Sie bei der Anmeldung mit an, ob Sie über einen Mac und oder ein iPhone verfügen. Es werden aber auch Arbeitsplätze zur Verfügung gestellt (eigene Geräte sind also nicht zwingend erforderlich).
Material / Literatur
Die Folien zu dieser Veranstaltung können in einem einzelnen pdf-Dokument heruntergeladen werden: Download.
Nachfolgend sind die Themen der einzelnen Vorlesungstage aufgeführt:
- 18. 10. 2012: Allgemeine Einführung
- 25. 10. 2012: Erste Schritte in Objective-C
- 08. 11. 2012: Model-View-Controller und Views
- 15. 11. 2012: Navigation, Touch Events und protocols
- 22. 11. 2012: Lokale Datenspeicherung
- 29. 11. 2012: Blocks und Cores (Core Location, Core Motion)
- 13. 12. 2012: Kommunikation mit Webservices
- 20. 12. 2012: Extreme Programming
- 07. 01. 2013 - 07. 02. 2013: Programmierphase