Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
start:info:13if:projekt 12.02.2011 03:23 | start:info:13if:projekt 23.10.2013 10:12 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | XYd9qJ <a href="http://ifvdenocfqla.com/">ifvdenocfqla</a>, [url=http://jqvnyazbhery.com/]jqvnyazbhery[/url], [link=http://jxazksmqkkam.com/]jxazksmqkkam[/link], http://miyhbzloylxu.com/ | + | ====== Schiffe versenken ====== |
+ | |||
+ | Hier könnt ihr selbst interessante Links und bereits Erstelltes hereinstellen. | ||
+ | |||
+ | Hierfür müsst ihr nur oben links auf "Seite bearbeiten" klicken. Die [[wiki:syntax|Syntax]] könnt ihr euch, wenn ihr den Editor zum Bearbeiten der Seite aufgerufen habt, angucken. Er ist oberhalb des Editorfensters verlinkt (bzw. auch [[wiki:syntax|hier]]). | ||
+ | |||
+ | Eine kurze Information zum Projekt wäre übrigens ganz nett ;-) | ||
+ | |||
+ | Ach ja: Bitte schreibt euren Namen unter euren Beitrag. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Kurze Info ===== | ||
+ | |||
+ | **10 Schiffe:** | ||
+ | * 1 x Schlachtschiff 5 | ||
+ | * 2 x Zerstörer 4 | ||
+ | * 3 x Kreuzern 3 | ||
+ | * 4 x U_Boot 2 | ||
+ | |||
+ | **Spielfeld:** | ||
+ | * Spieler 1: Spielfeld 10 x 10 | ||
+ | * Spieler 2: Spielfeld 10 x 10 | ||
+ | |||
+ | **Regeln:** | ||
+ | * Schiffe nicht angrenzend | ||
+ | * Schiffe waagerecht und senkrecht | ||
+ | * schießen im Wechsel | ||
+ | * schießen solange Treffer | ||
+ | * "Versenkt!" muss erwähnt werden | ||
+ | |||
+ | **Spieler:** | ||
+ | * Mensch vs. Mensch | ||
+ | * **Mensch vs. Computer <-** | ||
+ | * Computer vs. Computer | ||
+ | |||
+ | **Strategie KI:** | ||
+ | * Raster (grob nach klein) | ||
+ | * "Aufteilung" (Diagonale) | ||
+ | * **Zufall <-** | ||
+ | |||
+ | **Aufstellen:** | ||
+ | * **Zufällig <-** | ||
+ | * gleichmäßig | ||
+ | |||
+ | |||
+ | |||
+ | ===== Implementierung ===== | ||
+ | |||
+ | **Model** | ||
+ | * Spielplan + Schiffe | ||
+ | * Position | ||
+ | * Spieler | ||
+ | - menschlich | ||
+ | - KI | ||
+ | |||
+ | **GUI** | ||
+ | * Benutzeroberfläche | ||
+ | |||
+ | **Controller** | ||
+ | * KI | ||
+ | |||
+ | //Marc Ernst// | ||
+ | Kevin Borgböhmer | ||
+ | |||
+ | ===== Links ===== | ||
+ | |||
+ | * [[wpde>Schiffe_versenken]] | ||
+ | * [[http://www.irgend.wo|weitere Links...]] | ||
+ | |||
+ | ===== Materialien ===== | ||
+ | |||
+ | Für den Unterricht brauchen wir Eclipse, Subclipse sowie den Link zur Repository. \\ | ||
+ | \\ | ||
+ | Offizieller download Eclipse (Englisch): http://www.eclipse.org/downloads/ (Bitte "Eclipse IDE for Java EE Developers" nehmen) \\ | ||
+ | Installationsanleitung Subclipse: http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA \\ | ||
+ | Repository: http://if13.ath.cx/svn/trunk/ \\ | ||
+ | |||
+ | //Marvin Teichmann// | ||
+ | |||
+ | AWT-Element, das ein Bild aufnimmt(Referenz): | ||
+ | http://www.daniweb.com/forums/thread10088.html | ||
+ | |||
+ | ===== Klassendiagramm (UML) ===== | ||
+ | |||
+ | **Violet UML Editor** | ||
+ | |||
+ | Habe mir überlegt, dass es sinnvoller wäre, wenn wir das Klassendiagramm in elektronischer Form erstellen. Dazu bietet sich ein schönes Tool namens „Violet UML Editor“ an. Das Programm ist in Java geschrieben, es gibt einen Web-Start, sollte also kein Problem sein, dass wir das in der Schule nutzen. | ||
+ | |||
+ | Das Programm ist hier zu finden: [[http://alexdp.free.fr/violetumleditor/page.php]] | ||
+ | |||
+ | |||
+ | **Aktuelles UML** | ||
+ | |||
+ | |||
+ | [[http://home.arcor.de/kag-eschni/schiffe.png|UML zu Schiffe versenken]] | ||
+ | |||
+ | //Niklas Eschner// | ||
+ | |||
+ | ===== Ablaufautomaten ===== | ||
+ | |||
+ | //Nicole, Jennifer, Gülkiraz, Sezgin// | ||
+ | |||
+ | {{:start:info:13if:ablauf.png?400|Automat für den Ablauf des Spielstarts}} | ||
+ | |||
+ | {{:start:info:13if:setzen.png?400|Automat für das Setzen der einzelnen Schiffe}} | ||
+ | |||
+ | ===== Spielanleitung ===== | ||
+ | |||
+ | **Hier die Spielanleitung:** | ||
+ | |||
+ | **Spielanleitung Schiffe versenken** | ||
+ | |||
+ | __Ziel des Spiels:__ | ||
+ | Versenken Sie alle Schiffe des Gegners so schnell wie möglich. Je weniger Versuche desto besser. | ||
+ | |||
+ | __Vor Beginn:__ | ||
+ | Sie können zunächst die Schwierigkeitsstufe im Menü Einstellungen einstellen. | ||
+ | |||
+ | __Aufbau des Spiels:__ | ||
+ | Es gibt jeweils 2 Felder (10x10). | ||
+ | Das linke Feld gibt die eigenen Schiffe an und ob sie getroffen wurden (kenntlich gemacht durch die Farbe Rot), das rechte zeigt die eigenen Treffer und Fehlschüsse an (ebenfalls farblich unterlegt). | ||
+ | |||
+ | Es gibt vier Sorten von Schiffen, die verschieden häufig vorhanden sind: | ||
+ | |||
+ | 1 x Schlachtschiff (5 Kästchen) | ||
+ | 2 x Zerstörer (4 Kästchen) | ||
+ | 3 x Kreuzern (3 Kästchen) | ||
+ | 4 x U-Boot (2 Kästchen) | ||
+ | |||
+ | __Setzen der Schiffe:__ | ||
+ | Wählen Sie aus, ob das Schiff vertikal oder horizontal gesetzt werden soll. Danach suchen Sie sich die gewünschte Position aus und legen sie mit einem Mausklick auf das entsprechende Feld fest. | ||
+ | Bedenken Sie dabei, dass Schiffe jedoch nicht an andere Schiffe angrenzen dürfen. | ||
+ | (Wichtig: Bei falscher Setzung muss das Spiel neu gestartet werden!) | ||
+ | |||
+ | __Schießen/Treffen:__ | ||
+ | Um zu schießen, klicken Sie eine Stelle auf dem gegnerischen Feld an. Wenn Sie einen Treffer erzielen, wird die Stelle rot unterlegt. Nun dürfen Sie ein weiteres Mal schießen. (Dies gilt solange bis Sie einen Fehlschuss machen.) Ist das Schiff des Gegners versenkt, erscheint eine Meldung. | ||
+ | |||
+ | Auch die Treffer des Gegners werden für Sie angezeigt. | ||
+ | |||
+ | __Spielende:__ | ||
+ | Derjenige, der es schafft alle Schiffe des Gegners zu versenken, bevor die eigenen zerstört wurden, hat das Spiel gewonnen. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Gülkiraz und Nicole | ||
+ | © Informatikkurs 13.1 K.A.G. 2009 | ||
+ | |||
+ | |||
+ | ===== neues Fenster öffnen ===== | ||
+ | |||
+ | Neues Fenster muss geöffnet werden, damit die Hilfe bzw. Spielanleitung angezeigt werden kann | ||
+ | |||
+ | |||
+ | Hier der Code : | ||
+ | |||
+ | |||
+ | <code java> | ||
+ | public öffnen(){ | ||
+ | |||
+ | JFrame fenster = new JFrame(); | ||
+ | fenster.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); | ||
+ | fenster.setTitle("Spielanleitung"); | ||
+ | |||
+ | // Setze die Groesse des Fensters | ||
+ | fenster.setSize(0,0); // setzt bitte die gewünschte Größe ein | ||
+ | |||
+ | // Das Fenster soll ein automatisches Layout verwenden | ||
+ | fenster.setLayout(); | ||
+ | |||
+ | // Stelle das Fenster dar | ||
+ | fenster.setVisible(true); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Nicole, Sezgin, Gülkiraz | ||
+ | © Informatikkurs Jahrgangststufe 13 K.A.G 2009 | ||
+ | |||
+ | ===== Das Logo zum Spiel ===== | ||
+ | |||
+ | Das Logo zum Spiel wurde von Ina gestaltet. Hier findet ihr es in verschiedenen Versionen: | ||
+ | |||
+ | * Das eingescannte Logo: [[http://home.arcor.de/kag-eschni/LogoSchiffBearbeitet.jpg]] | ||
+ | |||
+ | |||
+ | //Niklas Eschner// | ||
+ | |||
+ | ===== AWT-Element ===== | ||
+ | |||
+ | *Erzeugung und Darstellung einer plattformunabhängigen grafischen Benutzerschnittstelle (GUI) für Java-Programme:* | ||
+ | |||
+ | In ein Applet können Bilddateien eingebunden werden. Grundsätzlich kann eine Applet die Bildformate gif und jpg darstellen. Zuerst ist der Pfad, wo sich die Bilddatei befindet, dem Objekt zu zuweisen. Anschließend wird das Bild über einer der Methoden der Graphics Klasse dargestellt. | ||
+ | |||
+ | Der Abstand zum Appletfensterrahmen beträgt 3pixel und 2pixel. | ||
+ | Beispiel Bild einfügen und darstellen: | ||
+ | |||
+ | |||
+ | |||
+ | import java.awt.Graphics; | ||
+ | import java.awt.Image; | ||
+ | import java.applet.Applet; | ||
+ | public class First extends Applet { | ||
+ | public void paint(Graphics g){ | ||
+ | // Objekt holen | ||
+ | Image img = getImage(getCodeBase(),"bild.jpg"); | ||
+ | // Objekt ausgeben | ||
+ | g.drawImage(img,3,2,this); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Philip Blumenberg und Reza Nazeman// |