# Eine Art "Vier Gewinnt"



## mike.raab (13. Jun 2012)

Hallo Leute,

ich komm von C und will in Java mein erstes Spiel programmieren.

Bin in der 10 Klasse einer IT-HTL und haben in Java schon die Grundlagen, Methoden, Klassen, Vererbung, das (public, private, static) Zeug .. etc , und jetzt in den letzten 2 Stunden AWT durchgemacht. 

Aus Langeweile im Unterricht habe ich mir das Spiel tic-tac-toe etwas interessanter gestaltet: ein unbegrenztes Spielfeld, und 5 in einer Reihe zum Sieg. Das will ich jetzt in Java umsetzen.

Ich werde so Anfangen, dass ich mir einen Frame definier (Fenster wo das Ganze stattfindet)und dann das Spielfeld male (draw.Line .. und das Spielfeld soll 20x20 groß sein).
Meine Frage: Wie kann ich auf Klick dann da ein X erscheinen lassen? Ich habe noch keine Erfahrung in dem Gebiet. 

Ich hoffe ich hab mich deutlich ausgedrückt 

MfG
Mike


----------



## Marco13 (13. Jun 2012)

How to Write a Mouse Listener (The Java™ Tutorials > Creating a GUI With JFC/Swing > Writing Event Listeners)


----------



## mike.raab (13. Jun 2012)

Danke sehr 

wie realisier ich am besten das Spielfeld? gibts da ne methode dafür oder sollte ich via draw.Line das ganze selbst zeichnen? mfg


----------



## Schwertfisch (13. Jun 2012)

Hey,

mir würden 2 wege einfallen wie ich es machen würde, einmal mit den draw methoden, und einmal ohne:

1. Du lässt dir N viele Rechtecke zeichnen mit g.fillRect, diese mit Flowlayout anordnen. Um ein Gitter in das Feld zu bekommen setzt du den Abstand zwichen den einzelnen Rechtecken auf +1 (oder wie du es haben willst). MIt g.setColor die farbe der Rechecke verändern.


2. Du nimmst statt der Rechtecke von Graphic einfach JPanels oder JButtons. (Mit diesem Weg müsstest du weniger rechnen da du dir Objekte erzeugst mit denen du arbeiten kannst).


mfg


----------



## Fu3L (13. Jun 2012)

> 1. Du lässt dir N viele Rechtecke zeichnen mit g.fillRect, diese mit Flowlayout anordnen. Um ein Gitter in das Feld zu bekommen setzt du den Abstand zwichen den einzelnen Rechtecken auf +1 (oder wie du es haben willst). MIt g.setColor die farbe der Rechecke verändern.



FlowLayout und Graphics haben nichts! miteinander zu tun.



> 2. Du nimmst statt der Rechtecke von Graphic einfach JPanels oder JButtons. (Mit diesem Weg müsstest du weniger rechnen da du dir Objekte erzeugst mit denen du arbeiten kannst).



Für Spiele raten wir hier normalerweise von GUI-Componenten ab.

Also einfach selbst zeichnen: 2 Schleifen laufen lassen und so die Linien über das Spielfeld ziehen. 
Eine Feld-Klasse (oder Kachel oder so), die die einzelnen Felder repräsentiert und zB speichert, wer dort sein Kreuz gesetzt hat und die beim Zeichnen danach gefragt wird, wäre allerdings eine gute Idee. (Wie bei Schwertfisch schon angeklungen)


----------



## Schwertfisch (13. Jun 2012)

> FlowLayout und Graphics haben nichts! miteinander zu tun.



Wie bin ich den auf FlowLayout gekommen -.- Hatte das wohl noch im hinterkopf da es bei meiner Application wie Flowlayout aussieht 


> Für Spiele raten wir hier normalerweise von GUI-Componenten ab.


na ja meine Ersten Spiele hab ich damit gemacht aber egal...


----------

