#1 21. April 2009 hilfe bei 4 gewinnt also ich bin echt am verzweifeln in 5 tagen soll cih ein projekt abgeben , das das spiel 4 gewinnt beinhaltet... ich hab in der klasse schon ein bisschen rumgefragt und verstehs einfach nicht.. die haben alle Hilfen von nachhilfelehrern und so bekommen.. und wenn ich mir das anschaue versteh ich gar nichts. das spiel soll moeglichst 4 klassen haben Spielfeld Spielstein Spieler Gui (die oberflaeche) die klasse spieler ist eher weniger wichtig , da wir da nur einen kleinen namen mit passwort einfuegen sollen... aber ich will erstmal das spiel zum laufen bringen.. im inet habe ich auch schon einige loesungsvorschlaege gefunden.. dort handelt es sich jedoch um das spiel welches nur in einer Klasse geschrieben steht... ich soll es aber in 3 oder 4 klassen machen! nun meine frage: wo fange ich am besten an und wo trage ich welche attribute ein (zum beispiel das erstellen eines 2 dimensionalen arrays fuer dieses spiel)... es sollte 42 felder haben.. 6 nach unten und 7 nach rechts. ich hoffe ich kann ein paar antworten kriegen und bedanke mich schonmal.. weil ich peil echt ncht welche methoden und attribute am besten verwende :-( mfg TR!xX + Multi-Zitat Zitieren
#2 21. April 2009 AW: hilfe bei 4 gewinnt.. Wie du anfängst, ist eigentlich egal. Hauptsache, du fängst an einer Stelle an und arbeitest dich daran vor. Wie soll denn die GUI aussehen? Soll sie mit AWT/Swing oder einem ähnlichen Toolkit umgesetzt werden, oder würde es auch reichen, wenn du ein Gitter in der Konsole ausgibst? Beispielsweise so: Code: +------+------+------+------+------+ | | | | | | +------+------+------+------+------+ | | | | | | +------+------+------+------+------+ | | | | | | +------+------+------+------+------+ | X | O | | | | +------+------+------+------+------+ Du könntest also anfangen, die GUI zu schreiben, wie auch immer sie aussehen soll. Erst einmal alle Elemente positionieren und die Darstellung korrekt einrichten. Dann die einzelnen Widgets (sofern du AWT oder Swing benutzt) mit ActionListenern und was du sonst noch so brauchst, versehen. Dann könntest du dich daran machen, die Spiellogik zu schreiben. Methoden, die prüfen, ob der Stein an der Stelle gesetzt werden darf, ob irgendeine Siegeskombination vorliegt (vier in einer Reihe), welcher Spieler an der Reihe ist usw. Weitermachen kannst du dann mit der Berechnung der Spielsteinposition, d.h. wie weit muss der Stein nach unten fallen usw. Wo besteht denn das genaue Problem? Findest du nur keinen Anfangspunkt, oder hast du überhaupt keine Ahnung, wie das ganze funktionieren soll? + Multi-Zitat Zitieren
#3 21. April 2009 AW: hilfe bei 4 gewinnt.. Wird wohl eine Klasse sein, die ein Frame enthält. In dem Frame ein Panel im Gridlayout. z.B. Ein mehrdimensionales Array das die Spielsteinpositionen enthält. Und überprüfung der spielgegebenheiten vll ein panel mit nem Kreis drin, der verschieden eingefärbt werden kann. Dieses Panel kannst dann in das Gridlayout adden sollte klar sein... Hoffe das du so vll nen anfang findest. greetz Jojo + Multi-Zitat Zitieren
#4 21. April 2009 also noch ein paar weitere informationen ich schreibe in Netbeans und das prgramm sollte mit AWT/Swing geschrieben werden. mein groesstes problem liegt darin ein spielfeld zu erstellen.. ich habe ein canvas erstellt in dem ich dann Ovals erzeuge (mit hilfe der positionen... habe aber kein plan wie und wo ich das genau implementieren muss). Mit welcher methode kann ich auf einem canvas (drawOval) auslesen welcher wert drinne ist (welcher spieler an der reihe ist int 1 oder 0 ) ? geht das ueberhaupt? ich habe gehoert mit public Color getBackground sollte sowas moeglich sein. ich werde das jetzt wahrscheinlich doch in 2 klassen schreiben .. eine fuer den spieler und eine mit dem spielfeld inklusiv oberflaeche . mfg TR!xX danke fuer die schnelle hilfe.. das hilft mir schonmal ein wenig wie das ganze ausehen sollte!! Edit: soweit bin ich schon gekommen dass ich diese attribute hinzugefuegt habe Code: private int spielfeld[][]; private int hoehe=6; private int breite=7; dann muesste ich doch nachher erstmal 42 ovals zeichnen indem die eine 2 schleifen mache die das 2dimensionale array durchgehn bis alle felder quasi ein Oval haben... die farbe ist noch nicht von belang... das wird doch dann spaeter im spiel veraendert. + Multi-Zitat Zitieren
#5 21. April 2009 AW: hilfe bei 4 gewinnt.. Zeichne die Ovale doch zur laufzeit, wenn du sie benoetigst. + Multi-Zitat Zitieren
#6 22. April 2009 AW: hilfe bei 4 gewinnt.. hmm dann hab ich aber ein weisses bild vor mir und das is dann nicht so interessant wenn da nix is.. des sollen einfach graue oder schwarze ovals sein... es soll der lehrerin ja auch ein bisschen gefallen + Multi-Zitat Zitieren
#7 22. April 2009 AW: hilfe bei 4 gewinnt Ich leg dir einfach mal nahe, dir das Java Openbook von Galileo Computing anzuschauen. Ist für sowas auf jeden Fall ausreichend und behandelt an einigen Beispielen, wie du auf einem Canvas (oder in einem JFrame direkt) diverse Elemente reinzeichnen kannst. Schau's dir auf jeden Fall mal an, damit wird dir denke ich am meisten geholfen sein. + Multi-Zitat Zitieren
#8 23. April 2009 AW: hilfe bei 4 gewinnt okay ich habs jetzt endlich alles hinbekommen 42 buttons erstellt.. am anfang sind die oberen deaktiviert.. nur die unteren kann man anklicken... dann wirds in die jeweilige farbe des spielers gefärbt... nebenbei wird dem feld spielfeld[x][y] einen wert uebergeben 1 oder 2.. der nachher mit eier methode in einem "gewinnchecker" überprüft ob der spieler gewonnen hat so jetzt will ich noch ein anfangsfenster machen indem man sienen namen eingibt! habe soweit alles erledigt.. nur will ich, nachdem man den OK button bestätigt direkt auf mein spielfeld kommen.. kennt einer von euch den befehl? die datei heisst Sggs.java und die sol dann ausgeführt oder geöffnet werden danke leute für eure hilfe!! + Multi-Zitat Zitieren
#9 24. April 2009 AW: hilfe bei 4 gewinnt Versteh nicht ganz wie du das mit dem Okay Button meinst, aber als ActionEvent kannst du in der actionPerfomed methode ja deklarieren, dass dann ein neues Ssgs Objekt erzeugt wird. if(event.getSource()==OKbutton){ new Ssgs(-je nachdem ob du mitgabewerte hast-); } wenn du nur ein spielfeld gleichzeitig öffnen willst ist es auch nicht nötig dem Objekt einen namen zu geben. kann gut sein dass ich dir zeug erzähle was du schon weisst, aber gib mal nähere infos was du meinst ^^ + Multi-Zitat Zitieren
#10 25. April 2009 AW: hilfe bei 4 gewinnt Wie wärs wenn Du hier ein bisschen Quellcode, oder am besten das ganze Programm zur Verfügung stellst? Dann kann Dir leichter geholfen werden + Multi-Zitat Zitieren