[Java] hilfe bei 4 gewinnt

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von TR!xXZT4R, 21. April 2009 .

Schlagworte:
  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
     
  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?
     
  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
     
  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.
     
  5. 21. April 2009
    AW: hilfe bei 4 gewinnt..


    Zeichne die Ovale doch zur laufzeit, wenn du sie benoetigst.
     
  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
     
  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.
     
  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!!
     
  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 ^^
     
  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
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.