JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft



Ähnliche Dokumente
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Java Projekt: Tic Tac Toe + GUI

Internet Explorer Version 6

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Version 1.0 Datum Anmeldung... 2

Fotos verkleinern mit Paint

CdsComXL. Excel add-in für Bearbeitung und Auswertung der CDS-daten. ComXL-020/D, Spur Spur Spur Spur

PSRDesigner. Punkt und Streifenrasterplatinen Designer

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Hilfe zur Urlaubsplanung und Zeiterfassung

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Mediumwechsel - VR-NetWorld Software

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Handbuch B4000+ Preset Manager

Installation und Bedienung von vappx unter Android

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

Lastenheft. Poker iphone App

Schnittstelle DIGI-Zeiterfassung

Dokumentation zum Spielserver der Software Challenge

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

1. Allgemeines zum tevitel.wq-monitor Seite WQ-Monitor konfigurieren Seite 4

bitte auf den Button Baudaten-Fenster öffnen klicken. (oder über das Menü -> STAMMDATEN -> BAUDATEN anklicken)

SEQUENZDIAGRAMM. Christoph Süsens

Anleitung Lernobjekt-Depot (LOD)

Departement Bau, Verkehr und Umwelt Abteilung Tiefbau

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Erstellen von x-y-diagrammen in OpenOffice.calc

Installationsanleitung CLX.PayMaker Home

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Einrichtung einer Weiterleitung auf eine private Adresse in der Hochschule

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Leichte-Sprache-Bilder

1 Möglichkeiten zur Darstellung von Daten

Klasse: 5AHH. Projektbetreuung: Sabitzer Karl Erlacher Christoph. Wallner Sonja Pfeifhofer Elisabeth Schimanz Alexander

32.4 Anpassen von Menüs und Symbolleisten 795i

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Anleitung über den Umgang mit Schildern

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Karten-Freischaltung mit dem UNLOCK MANAGER

Anwendungsbeispiele Buchhaltung

Hinweise zum Übungsblatt Formatierung von Text:

Newsletter. 1 Erzbistum Köln Newsletter

DCCP (Data Collection Cash Processing) Schaubild Version 1.0

Persönliches Adressbuch

Erstellen einer in OWA (Outlook Web App)

Durch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt:

Einlesen einer neuen Chipkarte in der VR-NetWorld Software Seccos 6 gültig bis 2013

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

4.1 Wie bediene ich das Webportal?

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Die Dateiablage Der Weg zur Dateiablage

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Bedienungsanleitung für den Online-Shop

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Virtual Channel installieren

Handhabung der Computermaus

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Lizenzen auschecken. Was ist zu tun?

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Mediumwechsel - VR-NetWorld Software

Installationsanleitung CLX.PayMaker Office

Quiz-Café Web-Client Handbuch. Inhaltsverzeichnis

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

K-TAG Master. Dateientschlüsselung/ Dateiverschlüsselung für Slaves. Version 1.0

Betriebskalender & Kalenderfunktionen

Anleitung für die Registrierung und das Einstellen von Angeboten

impact ordering Info Produktkonfigurator

Kostenstellen verwalten. Tipps & Tricks

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Öffnen Sie die Albelli Gestaltungssoftware

Professionelle Seminare im Bereich MS-Office

Microsoft Update Windows Update

Schritt für Schritt zur Krankenstandsstatistik

Dokumentation des Projektes Tic Tac Toe

BayLern Hilfe Inhalt:

Kurzbeschreibung S&S Arbeitszeiterfassung

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

Rillsoft Project - Installation der Software

Updatehinweise für die Version forma 5.5.5

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

Erstellen eines Wordpress-Blogs

Installation und Bedienung von vappx unter ios

AUF LETZTER SEITE DIESER ANLEITUNG!!!

PATIENTEN GUIDE. Verwaltung & Organisation. April Seite 1/8

Grundlagen der Theoretischen Informatik, SoSe 2008

I P A S M M D Innovative Software zur Prozessoptimierung. Prozessoptimierung durch Mensch-Maschine-Diagramm

Transkript:

Anwendungspraktikum aus JAVA Programmierung SS 2006 Leitung: Dr. Albert Weichselbraun JAVA PROJEKT Schiffe Versenken mit GUI Projektheft Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Inhaltsverzeichnis 1. Projektdefinition 2. Projektbeschreibung 3. Projektanalyse 3.1 Projektplanung 3.2 Netzplan 3.3 Modellierung 3.3.1 Use Case Diagramm 3.3.2 Klassendiagramm 3.3.3 Sequenzdiagramm 3.3.4 Zustandsdiagramm 2

1. Projektdefinition Projektbezeichnung Software Version vom Spiel Schiffe versenken. Kurzbeschreibung In diesem Projekt wird das Papier und Bleistift Spiel Schiffchen Versenken in eine Software Version mit Hilfe der Java Programmiersprache umgesetzt. Das Spiel ist leicht mit Hilfe eines User Interfaces zu bedienen. In der Grundversion des Spieles werden die Schiffe in beiden Spielfeldern mittels des Zufallsgenerators dargestellt. Wenn die Zeit zulässt, besteht in einer erweiterten Version die Möglichkeit, dass der User seine Schiffe selber auf dem Spielbrett auswählen kann. Projektziele Projektziele sind die Funktionalität der Software wie deren leichte Benutzung zum anderen. Projektumfang Das Projekt ist während der Dauer der Lehrveranstaltung als Anwendungspraktikum in Java fertig zu stellen und hat den Umfang von der halben Lehrveranstaltung, d.h. etwa 13 Wochen. 2. Projektbeschreibung Ziel des Projektes ist eine funktionstüchtige Software Version des Spieles Schiffe versenken in Java Programmiersprache zu erstellen. Das Spiel wird von einem User gegen den Computer gespielt. Spielfelder Es werden 2 Spielfelder dargestellt, das User_Spielfeld und das Computer_Spielfeld. Das rechteckige Spielfeld besteht aus quadratischen Feldern und soll 8 x 8 Felder haben. Es sind insgesamt 5 Schiffe zu platzieren, die verschiedene Größe haben: ein Schiff der Größe 1 belegt 1 Feld, ein Schiff der Größe 2 belegt 2 Felder, ein Schiff der Größe 3 belegt 3 Felder, ein Schiff der Größe 4 belegt 4 Felder, ein Schiff der Größe 5 belegt 5 Felder. Schiffe werden entweder horizontal oder vertikal platziert. Sie dürfen sich berühren, aber nicht überlappen. Der Computer platziert zufällig die 5 Schiffe im Computer_Spielfeld, die für den User unsichtbar sind. In der Grundversion werden auch die Schiffe im User_Spielfeld zufällig platziert, die für den User ersichtlich sind. In der erweiterten Version (optional) wählt der User die Felder, wo er seine Schiffe platzieren will. Spielablauf Am Anfang jedes Spieles ist der User am Zug. Der User feuert in das gegnerische Spielfeld, in dem er mit der Maus ein gegnerisches Feld anklickt. 3

Er bleibt solange am Zug bis er einen Fehlschuss abgegeben hat, d.h. bis ein Feld beschossen wurde, unter dem sich kein Schiff befindet. Wenn der User das erste Mal einen Fehlschuss getätigt hat, übernimmt der Computer. Sobald der User oder der Computer alle gegnerischen Schiffe getroffen hat, hat er gewonnen und das Spiel ist beendet. Graphisches Feedback Sowohl Fehlschüsse als auch Treffer werden in beiden Spielfeldern mit speziellen Farbcodierungen gekennzeichnet. Die Fehlschüsse werden mit gelb, die Treffer in orange und das Versenken eines kompletten Schiffes in rot dargestellt. GUI Übersicht Das Menü Das Spiel wird über einen Menüpunkt gestartet und beendet. Die Menüleiste am oberen Rand des Interfaces beinhaltet die beiden Untermenüs Spiel und Hilfe. In dem Spiel Menü wiederum lässt sich das Spiel starten, in dem der Menüpunkt Neues Spiel selektiert wird. Entsprechend wird das Spiel über den Menüpunkt Beenden beendet. Tastenkürzel stehen ebenfalls zur Verfügung. Das Hilfe Untermenü gibt Informationen über das Spiel und bietet ausserdem eine einfache Spielanleitung an. Spiel GUI Die graphische Version des Spieles beinhaltet 2 Spielfelder, einen User_Spielfeld und einen Computer_Spielfeld. Die Spielfelder werden zweidimensional dargestellt, mittels einer 8 x 8 Matrix (siehe Abb. 1). Die Interaktion der Spieler erfolgt per Mausklick. Die Schüsse können abgegeben werden, in dem das gewünschte Feld im gegnerischen Spielfeld angeklickt wird. Entsprechend, ob das Feld, in dem sich das Schiff befindet, getroffen wird oder nicht, ändert sich die Farbe des Feldes. Im Fall des Nichttreffens verändert sich die Farbe des Feldes in gelb, im Fall des Treffens in orange und im Fall des Versenkens des ganzen Schiffes in rot. Am Anfang des Spieles stehen jedem Spieler 5 Schiffe zur Verfügung, die zu treffen sind. Jedes versunkene Schiff wird dann in einer so genannten Ergebnisanzeige aufgelistet (im unteren Teil der GUI). Somit ist es für jeden Spieler ersichtlich, wie viele Schiffe noch zu versenken sind. Wenn alle Schiffe im gegnerischen Spielfeld versunken sind, hat jedes Schiff in der Ergebnisanzeige den Wert 1 und das Spiel ist beendet. 4

Abb. 1: Entwurf der Schiffe Versenken GUI 5

3. Projektanalyse 3.1 Projektplanung Tabelle 1 zeigt die einzelnen Arbeitsschritte die geplant sind, um das Projekt zeitgemäss abzuschliessen. Die Dauer des Projektes wird in Arbeitstagen berechnet, wobei ein Arbeitstag 6 Arbeitsstunden beinhaltet. Zusätzlich zu der Dauer der Schritte sind die erforderlichen Vorgänger- und Nachfolgerschritte aufgeführt. ID Beschreibung Dauer (d) Vorgänger Nachfolger A Projektdefinition und -beschreibung 5 -- B B Projektanalyse 5 A C,G C Design 5 B D D Implementierung Basis Klassen 10 C E E Implementierung Controller 5 D F F Korrigieren/Testen 5 E I G GUI Design 3 B H H Implementierung Basis GUI 5 G I I Integration Basis GUI 7 F,H K K Implementierung Interaktion GUI 15 I M,L L Integration Interaktion GUI 10 K N M Entwicklung von Schiffbildchen 2 K N N Fertigstellung Gesamtprojekt 5 L,M O O Schreiben Projektbericht 15 O -- Tabelle 1: Arbeitsschritte für das Projekt Schiffe Versenken Die Methoden, die beim Programmieren des Spieles Schiffe Versenken verwendet werden, sind folgende: 1. Eclipse 2. Java 1.5 3. Java Swing (für Graphik) 3.2 Netzplan Der Netzplan ist laut dem Projektplan und anhand der Daten aus der Tabelle 1 erstellt worden. Der kritische Pfad ist mit den dicken Pfeilen markiert und enthält die folgende Vorgänge: A B C D E F I K L N O. 6

Abb. 2: Netzplan 7

3.3 Modellierung Im Folgenden sind die einzelnen Modellierungsdiagramme mit einer kurzen Beschreibung angeführt. 3.3.1 Use Case Diagramm Das Use Case Diagramm besteht aus den beiden Usern Spieler und Computer. Jeder User hat als einzigen Use Case die Aktion schiessen. Diese Aktion schiessen selbst wird erweitert durch die Zustände getroffen und daneben, welche das Resultat der Aktion darstellen. Der Zustand getroffen wird erweitert durch den Zustand versenkt, und dieser wiederum durch den Zustand Spiel beenden. 8

Abb. 3: Use Case Diagramm 9

3.3.2 Klassendiagramm Das Klassendiagramm für das Projekt verwirklicht das Model View Contoller SW Pattern. Die drei Einheiten werden hierbei strikt voneinander getrennt, um für ein durchsichtiges Handhaben der verschiedenen Aufgabenfelder zu sorgen: so muss die graphische Darstellung der Anwendung nicht aufwendig mit Daten gespeist werden, um auf Veränderung im Spielgeschehen zu reagieren, sondern kann diese eigenständig beziehen. Abb. 4: Klassendiagramm 10

3.3.3 Sequenzdiagramm Abb.5: Sequenzdiagramm 11

3.3.2 Zustandsdiagramm Abb. 6: Zustandsdiagramm Das Zustandsdiagramm für die Anwendung ist in zwei Komponenten unterteilt: die Computerkomponente und die Userkomponente. Angefangen von dem Startzustand (schwarzer Punkt am linken Rand) wechselt das Programm in turn Zustand. Dies bedeutet, dass der User am Zug ist einen Schuss abzufeuern. Entsprechend dem Resultat des abgegebenen Schusses wechselt der Zustand des Programms entweder zu hit oder wechselt zum turn Zustand des Computers. Vom hit Zustand aus registriert eine Counter_Variable, ob ein Schiff der Länge n versenkt worden ist. Ist dies der Fall, wechselt der Zustand zu sunk, ansonsten bleibt der Zustand bei hit (wobei die Counter_Variable inkrementiert wird). Von beiden Zuständen hit und sunk wechselt der Zustand zurück zu turn für den Fall, dass eine miss Aktion (daneben geschossen) registriert wird. Dies bedeutet wiederum ein Wechsel des Spielers. Der Endzustand (schwarzer Punkt am rechten Rand) wird erreicht sobald entweder der User oder der Computer alle fünf Schiffe des Gegners versenkt hat. 12