Dokumentenstrukturen



Ähnliche Dokumente
Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Installation von LeJOS für NXT und Einrichtung von Eclipse

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Einrichten einer Debug- Umgebung in Eclipse

Einführung in Javadoc

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Eclipse 3.0 (Windows)

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen

Kurzanleitung Eclipse

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

Eclipse Tutorial.doc

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

11 XML Programmierung

Web (Site) Engineering (WebSE)

Dokumentation Projekt Virtuelles Tagebuch

Maschinenlernen mit XML-Daten. und Weka

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Lego Mindstorms NXT über lejos und Eclipse mit Java programmieren

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Ein erstes "Hello world!" Programm

Konstruktoren, Packages und Scopes

XML - Datei Zugriff mit Java

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Software Engineering II

FreeQDA. Eine freie Software zur Analyse qualitativer Forschungsdaten. Anleitung. von Jörg große Schlarmann. und Dirk Kitscha

JBuilderX: Installation und Kurzanleitung (Mac)

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

Installation von Java, Java-Editor und BlueJ

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

MKTT-Anleitung für Ausrichter

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

RIB itwo Modellbasiertes Planen und Bauen AVA, Kosten- & Projektsteuerung, Baubetrieb, BIM 5D. ARRIBA AVA, Kostenplanung und Projektsteuerung

Anleitung zum Einbinden von WebUntis Monitoransichten

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

SMARTentry Notification

Präsentieren mit PowerPoint

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Sicherer GINA Zugriff mit HTTPS Installationsanleitung für Mozilla Firefox 1

LIP Formulare Anleitung zum Speichern, Öffnen und Drucken

Hinweise zum Speichern und Laden des Ausbildungsvertrages mit verschiedenen Browsern

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Anmerkungen zur Abgabe

Eigene Java- Klassen in Intrexx

Handbuch für die Erweiterbarkeit

Allgemeine Anleitung Firefox

Vorlesung Informatik II

Installationsanleitung

Installation und Verbindung mit dem KIRUS.asp System

Tutorium SS17 EINFÜHRUNG + BREAKOUT

Signieren und Signaturprüfung im Angebotsassistenten (AnA)

Elektronische Dokumente über Web-GUI beziehen

Name Klasse Datum. Datentyp: Definition: Anführungszeichen

5.2 Input/Output mit Dateien

Parallele und Verteilte Systeme

Java-Schulung Grundlagen

1.3.1 Java-Compiler installieren

Installation CAD Schnittstelle WAGO XML

Anleitung für Vorlesungsaufzeichnungen mit Lecturnity. (im ZHG und diversen anderen Räumen der Universität Göttingen)

Einführung in die Programmierung 1

EINFÜHRUNG IN DIE PROGRAMMIERUNG

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE

Themes Organisation in Contao

HOSTED SHAREPOINT. Skyfillers Kundenhandbuch. Generell Online Zugang SharePoint Seite... 2 Benutzerpasswort ändern... 2

Philosophische Fakultät Dekanat. Universität zu Köln

Grundlagen der Programmierung UE. Dr. Herbert Prähofer (Gruppe 1 2, & 3) DI Markus Weninger(Gruppe 4)

Übung 00 Einrichten der Entwicklungsumgebung

Beispielanleitung zum Ex- / Import einer SQL-Express-Datenbank

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

Software Engineering II

Exceptions - Klausuraufgaben

GIFONET-VPN unter Mac OS X

Webseiten importieren

Der Serienbrief bzw. Seriendruck

ELO Click & Find. Technische Dokumentation ELO Click & Find. Inhalt. [Stand: Programmversion: ]

Anleitung zum Update von Sun Java mit Secunia:

JUnit 4 Tutorial. Wolfgang Stöttinger

Programmierung für Mathematik HS10 Übung 8

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Informatik II Aufgabenblatt 6

Javakurs für Anfänger

Ausnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Software-Engineering Grundlagen des Software-Engineering

Schritt 4: Hallo Enterprise Bean

(3) Button-Klick & Texteingabe

Jobmanager / Aufgabenplaner

Dokumentation. Dokumentation - VPN - Installations- und Benutzeranleitung. Cisco-Client

Ausnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Versenden von größeren Dateien per mit dem Programm file2send

Alles brennen mit Nero 9

Ausdrucksbäume in verschiedenen Darstellungen

Erstellen eines Images mit Acronis Backup & Recovery 11

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

SMARTentry Notification

Probeklausur Informatik 2 Sommersemester 2013

How to Public key authentication with freesshd

Transkript:

Dokumentenstrukturen Dokumentation zum Projekt Die Welt von BreakOut von: Kristian Kraft Email: Kristian.Kraft@gmx.de Matrikelnummer: 80 59 17 Dirk Vincent Kops Email: Vincent.Kops@gmx.de Matrikelnummer: 80 61 81 Studiengang: Dozent: Medieninformatik (Master of Science) Prof. Dr. Stephan Euler Stand: 06. 03. 2010

Inhalt Abbildungsverzeichnis... II Aufgabenstellung... 1 Anleitung JDOM... 1 Einbinden von JDOM in Eclipse... 1 Codebeispiel... 1 Erweiterungen des Spiels BreakOut... 3 GameOver... 3 Spielerliste... 4 Highscore... 4 Farbliste... 5 Spielstopp... 5 Sounds... 5 Levelverwaltung... 6

Abbildungsverzeichnis Abbildung 1 - Eintragen des Namens nach verlorenem Spiel... 3 Abbildung 2 - Game Over - Abfrage "Wollen Sie neu beginnen?"... 4 Abbildung 3 Spielerliste.xml im Browser betrachtet... 4 Abbildung 4 - Anzeigen der Highscoreliste... 4 Abbildung 5 - Farbschema 1 und 2... 5 Abbildung 6 - Darstellung der beiden Farbschemas... 5 Abbildung 7 - Darstellung der Level im Browser... 6

Aufgabenstellung Die Welt von BreakOut Eine Basisimplementierung des Spiels BreakOut in Java liegt vor. Mit XML-Technologien sollen folgende Erweiterungen realisiert werden: a. Level-Verwaltung (XML-Format, Editor, ) b. Benutzer und Bestenliste c. Konfiguration (Farben, Sounds, ) Anleitung JDOM JDOM ist eine XML-Darstellung in der Programmiersprache Java. (Wikipedia) Um JDOM verwenden zu können muss als erstes die benötigte API heruntergeladen werden. Einbinden von JDOM in Eclipse Die momentan (05.03.10) aktuelle Version ist unter dem folgenden Link verfügbar: http://www.jdom.org/dist/binary/jdom-1.1.1.zip Nach dem erfolgreichen Download muss die API eingebunden werden. In Eclipse müssen Sie hierfür das Projekt, in welches Sie JDOM einbinden wollen markieren, und nach einem Rechtsklick den Punkt Properties auswählen. Dies können Sie auch durch die Tastenkombination Alt + Enter erreichen. Daraufhin öffnet sich ein Fenster, in dem auf der linken Seite Java Build Path ausgewählt werden muss. Nun muss auf der rechten Seite der Button Add External JARs (Tastenkombination Alt + x ) geklickt werden. In dem sich öffnenden Dialog muss die zuvor heruntergeladene jdom.jar ausgewählt werden. Wenn Sie das heruntergeladene Zip-Paket extrahiert haben, liegt die gesuchte.jar-datei im Ordner jdom/build/. Dies muss noch mit einem Klick auf OK bestätigt werden. Auf demselben Weg müssen noch die sechs weiteren Dateien importiert werden, die im Ordner jdom/lib/ liegen. Codebeispiel Für das Schreiben und Lesen einer XML-Datei ist folgend ein kommentiertes Code-Beispiel, mit dem eine XML-Datei geschrieben wird. Für die Ausgabe besteht jeweils ein Beispiel für die gesamte XML- Datei, ein einzelnes Attribut eines Elements oder der Inhalt eines Elements. Der nachfolgende Code ist ebenfalls Digital auf der CD abgelegt. import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; import java.util.hashmap; import java.util.iterator; import java.util.list; import org.jdom.*; import org.jdom.output.format; import org.jdom.output.xmloutputter; import org.xml.sax.inputsource; import org.jdom.input.saxbuilder; 1

public class xmlschreiben { Element root = new Element("Knoten1"); Document dokument = new Document(root); public xmlschreiben() throws IOException, JDOMException{ DocType doctype = new DocType("highscore", "beispiel.dtd"); dokument.setdoctype(doctype); HashMap pimap = new HashMap( 2 ); pimap.put( "type", "text/xsl" ); pimap.put( "href", "beispiel.xsl" ); ProcessingInstruction procins = new ProcessingInstruction("xmlstylesheet",piMap); dokument.getcontent().add(0, procins); Element KnotenZwei = new Element("Knoten2"); KnotenZwei.setAttribute("Attribute","BeispielAttribute"); Element KnotenZweiEins = new Element("Knoten21"); KnotenZweiEins.addContent("Beispielinhalt 1"); Element KnotenZweiZwei = new Element("Knoten22"); KnotenZweiZwei.addContent("Beispielinhalt 2"); Element KnotenZweiDrei = new Element("Knoten23"); KnotenZweiDrei.addContent("Beispielinhalt 3"); KnotenZwei.addContent(KnotenZweiEins); KnotenZwei.addContent(KnotenZweiZwei); KnotenZwei.addContent(KnotenZweiDrei); root.addcontent(knotenzwei); XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); FileOutputStream output; try { output = new FileOutputStream("xml/beispiel.xml"); outputter.output(dokument,output); catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printstacktrace(); xmllesen(); public void xmllesen() throws IOException, JDOMException{ //Um das gesamte XML-Dokument in der Konsole auszugeben: /*Format format = Format.getPrettyFormat(); format.setencoding("iso-8859-1"); XMLOutputter out = new XMLOutputter(format); out.output( dokument, System.out );*/ //Um einen bestimmten Knoten ausgeben zu können: SAXBuilder builder = new SAXBuilder(); Document doc = builder.build( "xml/beispiel.xml" ); Element beispiel = doc.getrootelement(); 2

//Beispiel für Inhalt eines Knotens System.out.println("Beispiel für Inhalt eines Knotens:"); System.out.println(beispiel.getChild("Knoten2").getChild("Knoten21"). gettext()); //Beispiel für Attribute eines Knotens System.out.println("Beispiel für Attribute eines Knotens"); System.out.println(beispiel.getChild("Knoten2").getAttribute("Attribu te").getvalue()); /** * @param args * @throws JDOMException * @throws IOException */ public static void main(string[] args) throws JDOMException, IOException { // TODO Auto-generated method stub xmlschreiben xmlschreibentest = new xmlschreiben(); Für die geschriebene XML-Datei sind zusätzlich eine DTD-, eine CSS und eine XSL-Datei angelegt. Innerhalb der DTD wird die Struktur der XML vorgeschrieben; die XSL jedoch ist für die formatierte und transformierte Ansicht der XML-Datei vorhanden. Mit der CSS können zusätzliche Formatierungen auf die Datei angewendet werden. Erweiterungen des Spiels BreakOut Im folgenden Kapitel werden die Erweiterungen des Spiels BreakOut genannt und kurz erläutert. GameOver Nachdem der Spieler sein letztes Leben verloren hat, muss er als erstes seinen Namen eintragen und kann daraufhin auswählen, ob er nochmal spielen oder das Spiel beenden will. Abbildung 1 - Eintragen des Namens nach verlorenem Spiel 3

Abbildung 2 - Game Over - Abfrage "Wollen Sie neu beginnen?" Spielerliste Der nach dem Ende des Spiels eingetragene Spielername und dessen Punktzahl werden in einer XML- Datei gespeichert. Zusätzlich zu der XML-Datei gibt es zur formatierten Ausgabe noch eine CSS-, DTDund XSL-Datei. Über die XSL wird die Ausgabe transformiert. Die Punkte der einzelnen Spieler werden zusammen gezählt und ausgegeben. Abbildung 3 Spielerliste.xml im Browser betrachtet Highscore Ähnlich zur Spielerliste werden in der Highscoreliste die Spielernamen und die erreichte Punktzahl abgespeichert. Der Unterschied besteht lediglich darin, dass in der Highscoreliste immer nur die fünf besten Spieler gespeichert sind, und in der Spielerliste alle gespeichert werden. Die Highscoreliste darf zurzeit nicht leer sein, da es sonst zu einem Fehler kommt. Abbildung 4 - Anzeigen der Highscoreliste 4

Farbliste Über verschiedene Farbschemas kann das Aussehen der Spiels verändert werden. Diese können vom Nutzer gewechselt werden, indem im Menü unter File auf ChangeColorset geklickt wird. Das aktuelle Farbschema wird in einer XML-Datei (colorset.xml) abgespeichert und ist so auch beim nächsten Aufruf ausgewählt. Abbildung 5 - Farbschema 1 und 2 Abbildung 6 - Darstellung der beiden Farbschemas Spielstopp Sobald sich der Nutzer mit der Maus außerhalb des Spielbereichs befindet, stoppt das Spiel, wodurch der Nutzer sich beispielsweise die Highscoreliste angucken oder in einem anderen Fenster arbeiten kann, ohne dass das Spiel weiterläuft. Sounds Ebenfalls über eine XML-Datei wird das Spiel um Sounds erweitert. Zurzeit stehen noch keine passenden Sounds zur Verfügung. Sobald dies soweit ist, können diese jedoch einfach eingebunden werden. Momentan sind Sounds aus dem Internet in das Spiel eingebunden, die jedoch nicht gekauft wurden und nur die Funktion darstellen sollen. 5

Levelverwaltung Die Levelverwaltung ist bisher noch nicht in das Spiel integriert. Sie soll später dazu dienen eigene Level zu erstellen, die dann gespielt werden können. Die Datei level.xml enthält zwei Level, die auf der von uns erstellen Struktur aus der Datei level.dtd basieren. Die XML-Datei wird via XSL in XHTML transformiert und über CSS formatiert, so dass sich die Level im Browser anzeigen lassen. Abbildung 7 - Darstellung der Level im Browser 6