iOS-Applikation des Lernspiels Schnittkraftmeister

download iOS-Applikation des Lernspiels Schnittkraftmeister

of 48

  • date post

    18-Jul-2015
  • Category

    Documents

  • view

    2.607
  • download

    0

Embed Size (px)

description

Bachelor Thesis about the game "internal force master" for civil engineering (in german)

Transcript of iOS-Applikation des Lernspiels Schnittkraftmeister

Bachelorarbeitzur Erlangung des akademischen Grades eines

Bachelor of Scienceder Studienrichtung Softwareentwicklung-Wirtschaft an der Technischen Universit t Graz a

uber das Thema

iOS-Applikation des Lernspiels Schnittkraftmeistereingereicht am Institut fur Informationssysteme und Computer Medien Begutachter: Univ.-Doz. Dipl.-Ing. Dr.techn. Martin Ebner von

Christoph AldrianGraz, 31. M rz 2012 a

Erklrung aHiermit versichere ich, dass ich die vorliegende Arbeit selbstst ndig verfasst und a keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, dass alle Stellen der Arbeit, die wortlich oder sinngem aus anderen Quellen ubernommen a wurden, als solche kenntlich gemacht sind und dass die Arbeit in gleicher oder ahnlicher Form noch keiner Prufungsbehorde vorgelegt wurde.

Graz, 31. M rz 2012 a

Christoph Aldrian

2

Abstract The goal of this project was developing a native iOS application of the learning game Schnittkraftmeister (Internal Force Master). Schnittkraftmeister is a game that supports students in the sophisticated process of learning the calculation of internal forces in statically determined and undetermined systems. The learning effect is achieved by repeated training of carefully distinguishing correct internal forces from wrong solutions within a very short time [EH07]. The web-based application has been designed to be played on desktop and notebook computer screens, which is the reason it cannot be played on Smartphone devices very well. Moreover playing the game online would require to stay connected all the time. Implementing Schnittkraftmeister as native iOS-Application makes it possible to optimize the game interface for iPhone and iPod touch screens and touch based input methods. Besides that it also allows to integrate Apples Game-Center services, a network where achieved scores can be shared with friends and compared to scores of any other players around the world. Keywords: internal forces, iOS application, game based learning Zusammenfassung Das Ziel dieser Arbeit war die Entwicklung einer nativen iOS-Applikation des Lernspiels Schnittkraftmeister. Schnittkraftmeister unterstutzt Studierende dabei, das Berechnen von Schnitt kr ften in statisch bestimmten und unbestimmten Systemen zu erlernen. Der a Lerneffekt wird erzielt durch wiederholtes, sorgf ltiges Unterscheiden zwischen a korrekten und inkorrekten Schnittkraftverl ufen in sehr kurzer Zeit [EH07]. a Die webbasierte Implementierung des Schnittkraftmeisters wurde fur Desktop und Notebook Bildschirme konzipiert und ist daher zum Spielen auf Smartpho nes nicht geeignet. Uberdies erfordert diese Art der Umsetzung eine permanente Internetverbindung. Durch die Implementierung als native iOS-Applikation kann die Benutzerschnittstelle optimal auf iPhone und iPod touch Bildschirme und Eingabemethoden angepasst werden. Zudem unterstutzt sie die Integration von Game-Center, einem Netzwerk von Apple, das Spielern erlaubt Spielst nde mit Freunden und a anderen Spielern zu teilen und zu vergleichen. Schlusselworter: Schnittkr fte, iOS Applikation, Spielbasiertes Lernen a

3

Inhaltsverzeichnis1 Einleitung 2 Motivation 3 Plattform 3.1 Ger te . . . . . . . . a 3.2 Bedienungskonzept 3.3 Applikationen . . . 3.4 App Store . . . . . 3.5 Game-Center . . . . 6 6 7 7 7 8 9 9 9 9 12 14 23 23 28 29 29 30 31 34 41 46 48

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

4 Entwicklungsgrundlagen 4.1 Betriebssystem . . . . . . . . . . 4.2 Anwendungsgrundlagen . . . . 4.3 Entwickeln fur Cocoa Touch . . 4.4 iOS Software Development Kit 4.5 Programmiersprache . . . . . . 4.6 Dev Center . . . . . . . . . . . . 5 Implementierung 5.1 Spielprinzip . . . . . . . . . . . 5.2 Entwicklungsumgebung . . . . 5.3 Aufbau der Applikation . . . . 5.4 Hauptkomponenten im Detail . 5.5 Implementierungsmerkmale . . 6 Diskussion Literatur

4

Abbildungsverzeichnis1 2 3 4 5 6 7 8 9 10 11 12 Technologieschichten in iOS . . . . . . . . . . . . . . . . Lebenszyklus einer iOS Anwendung . . . . . . . . . . . Cocoa-Version des MVC-Musters . . . . . . . . . . . . . Traditionelle Version des MVC-Musters . . . . . . . . . Composite-Muster der View Hierarchie . . . . . . . . . . . Fragestellung mit drei Antwortmoglichkeiten . . . . . Klassendiagramm . . . . . . . . . . . . . . . . . . . . . . Screenshot der Online-Variante des Schnittkraftmeisters Views des Menu-View-Controllers . . . . . . . . . . . . . Ober che des Game-View-Controllers . . . . . . . . . . a Ober che des Highscores-View-Controllers . . . . . . . . a Internationalisierung in Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 14 15 15 16 29 32 33 34 35 38 43

Listings1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Beziehen der Singleton-Instanz von UIApplication . . . . . . . . . Deklarieren und Erzeugen eines Blocks . . . . . . . . . . . . . . . Starten einer View-Animation . . . . . . . . . . . . . . . . . . . . . Beispielklasse Person . . . . . . . . . . . . . . . . . . . . . . . . . . Kategorie zur Klasse NSString . . . . . . . . . . . . . . . . . . . . Senden einer Nachricht . . . . . . . . . . . . . . . . . . . . . . . . . Erzeugen einer Instanz . . . . . . . . . . . . . . . . . . . . . . . . . Demonstration des Reference Counting . . . . . . . . . . . . . . . . Implementierung der Hit-Test-View . . . . . . . . . . . . . . . . . . Erweiterung der Klasse NSMutableArray um die Methode shufe Archivierung eines Objekts . . . . . . . . . . . . . . . . . . . . . . Wiederherstellung eines Objekts aus einem Archiv . . . . . . . . Berichten eins Spielstands . . . . . . . . . . . . . . . . . . . . . . . Reagieren auf Konnektivit ts nderungen . . . . . . . . . . . . . . a a Animiertes Navigieren von Menu zu Scores . . . . . . . . . . . . . Aufz hlungstypen fur Sichtbarkeiten und Zust nde . . . . . . . . a a Animieren in einen Ober chenzustand . . . . . . . . . . . . . . . a Verwendung von Zeichenketten-Konstanten . . . . . . . . . . . . . Demonstration des Lazy Memory Allocation Konzepts . . . . . . . Freigabe einer View-Controller-Instanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18 19 24 25 26 26 27 36 37 39 39 40 40 41 42 42 44 45 45

5

1 EinleitungSchnittkraftmeister ist ein Online-Lernspiel, in dem auf den Verlauf von SchnittkraftKennlinien in Tragwerken geschlossen werden muss. Der Spieler soll darauf trainiert werden, in sehr kurzer Zeit sorgf ltig zwischen korrekten und falschen Losungen a unterscheiden zu konnen. Die erste Implementierung des Schnittkraftmeisters entstand im Jahr 2003 und basierte auf Adobe Flash. Die Verwendung dieser Technologie brachte klare Vorteile mit sich. Einerseits lieen sich damit relativ schnell Animationen und Visualisierungen von technischen Modellen entwickeln und andererseits waren FlashInhalte aufgrund der kleinen Dateigroen und der Betriebssystem-ubergreifenden Unterstutzung sehr gut fur den Einsatz im World Wide Web geeignet [EH07]. Basierend auf Feedback von Studierenden wurde das Lernspiel sp ter vollst ndig a a uberarbeitet. Neben einer Neugestaltung der Ober che wurde auch auf andere a Technologien gebaut. Die neue Implementierung l sst sich zwar ohne Browser-Plugins a ausfuhren, ist jedoch fur Maus-Bedienung auf Desktop- bzw. Notebook-Bildschirmen konzipiert [ZE11]. Diese Arbeit befasst sich mit der Entwicklung einer weiteren Umsetzung des Schnittkraftmeisters, speziell fur Apples iOS-Ger te. Ziel war die Erstellung einer nativ laua fenden iOS-Applikation, deren Ober che auf diese verh ltnism ig kleinen Bilda a a schirme angepasst und deren Bedienung fur beruhrungsbasierte Eingabemethoden optimiert ist.

2 MotivationMehrere Grunde sprechen fur eine Neuentwicklung als iOS-Applikation: Die Ober che der Web-Applikation ist fur Notebook- und Desktop-Bildschirme a ausgelegt und kann hinsichtlich ihrer Groe auf iPhone- oder iPod-Bildschirmen nicht vollst ndig und gleichzeitig leserlich dargestellt werden. a Das Spiel soll ohne bestehende Internetverbindung ausfuhrbar sein. Es soll ein schnelles und einfaches Starten der Applikation moglich sein. Spielspa und Lernbereitschaft sollen durch die Integration des Game-CenterDienstes erhoht werden.

6

3 Plattform3.1 Gerte aDerzeit konnen Applikationen fur drei Arten von iOS-Ger ten entwickelt werden: a iPhone, iPod touch, iPad. Das iPhone ist ein Mobiltelefon mit hochauosendem beruhrungsempndlichen Bild schirm (Touchscreen), ohne physische Tastatur. Es verfugt uber eine Kamera, einen Kompass, je einen Beschleunigungs-, Kreisel-, Ann herungs- und Umgeb