Vier Gewinnt



  • Hallo!

    Ich bin gerade dabei ein Vier Gewinnt Spiel zu programmieren, also halt man ganz einfach, alle möglichen Spielzüge in ein binärfile schreiben.

    Sagen wir, ich hab ein 4x4 Feld, also sind 16 Spielzüge möglich.

    Wenn ich den Spielzug 1,2 haben. Dann heißt das, dass er dort ist wo ich ihn hier(http://www.imagebanana.com/view/5dfkniku/game.png) eingezeichnet habe. Man kann es auch umgekehrt einzeichnen, aber das ist egal.

    Aber ich weis nicht wie ich alle Spielzüge reinschreibe in ein Struktur-Array.

    Also: 1(1.zahl),1(2.zahl) - 1,2 - 1,3 - 1,4 - 2,1 usw. bis 4,4 soll dann im Struktur-Array drinnen stehn.

    In der Struktur stehn halt 2 Variablen eine wo die 1. Zahl und eine wo die 2. Zahl gespeichert wird.

    Meine Frage ist nun wie ich das machen könnte, das ich diese 16 verschiedene "Felder" in ein struct-Array bekomme.

    Könnte mir einer ein paar Tipps geben bitte. Wahrscheinlich funktioniert das mit einer Schleife.

    Danke im voraus!

    mfg hobbit


  • Mod

    Ich habe keine Ahnung, was du wissen möchtest. Ich bin bestimmt nicht der einzige. Lies dir am Besten mal den ersten Link in meiner Signatur durch.

    Ich bin mir noch nicht einmal sicher, um welches Spiel es überhaupt geht - 4 gewinnt kenne ich ganz anders.



  • Mh sorry ich weiß nicht wie ich mich anders ausdrücken könnte...

    Ja, es ist so ähnlich wie Tic tac toe wenn man 4 in einer Reihe dann gewinnt man.

    Wenn man jetzt mein Bild anguckt dann sieht man das Schwarze Feld, das ist ein Spielzug des Spielers(der andere Spieler hat dann halt ein anderes Symbol für seinen Zug dann).

    Ich hab ja das Feld nummeriert oben und links. Die Nummerierung oben gilt für die Spalten von oben nach unten und die Nummerierung rechts gilt für die Spalten von rechts nach links.

    Und nun schauen wir einfach in Welcher Spalte von Links nach rechts, das Schwarze Feld, also der Spielzug ist. Er ist auf Spalte 2. Und jetzt schauen wir in welcher Spalte er oben im Bild ist(da gibts auch ne Nummerierung, wie schon erwähnt). Er ist in der 1. Spalte also 1.

    Der Spielzug des Spielers ist also 2,1.

    Und ich soll jetzt alle möglichen Spielzüge in ein Binärfile schreiben.

    1,1 ist ja auch ein Spielzug wenn man schaut. Dann 1,2 - 1,3 - 1,4 und 2,1 - 2,2 - 2,3 - 2,4 usw. bis 4,4.

    Und diese Spielzüge, also Werte, Zahlen etc. soll ich in ein Binärfile schreiben.

    Ich hab mir eine Struktur gemacht mit einer Variable wo die Spaltenzahl der obenen(bis unten) Spalten steht und eine Variable wo die Spaltenzahl der linken(links nach rechts) Spalten steht.

    struct struct_züge
    {
      int spalte_oben;
      int spalte_rechts;
    };
    
    typedef struct struct_züge züge
    
    for(x=0; x<len; x++)//wir haben ein 4x4 Spielfeld, d.h. len ist 16
    {
      züge[x].spalte_oben=o;//o wird am Anfang mit 1 initialisiert.
      züge[x].spalte_unten=u;//u wird am Anfang mit 1 initialisiert.
      u++;
    
      if(u == x)//wir haben ein 4x4 Spielfeld. In unserem Fall ist x = 4.
      {
        u++;
        o++;
        u=1;
      }
    }
    

    Und so wird jeder Spielzug in das Struct-Array geschrieben.

    Was sagt ihr dazu?

    Ich hoffe ich hab mich einigermaßen gut ausgedrückt.



  • Hier mal einen Beschreibung zu vier gewinnt:
    http://de.wikipedia.org/wiki/Vier_gewinnt

    Spielfeld 7 breit und 6 hoch.
    Spielziel 4 Felder eines Spielers horizontal, vertikal oder diagonal ohne Unterbrechung aneinander reihen.

    Spielsteine werden nur von oben zugeführt und fallen bis auf den Grund oder vorhandene Steine.

    Oder sollst du ein erweitertes Tic-Tac-Toe erstellen 😕
    Statt der meist 3x3 Felder 4x4 oder 2x2 😕

    Scheinbar bist du dir selber noch nicht klar 😕

    MfG f.-th.



  • Ja es ist ein erweitertes Tic-Tac-Toe... Hab den Titel falsch gewählt.

    Nun möchte ich fragen, ob das in etwa passt was ich da gemacht habe.



  • Hier noch ein weiteres Spiel:
    http://de.wikipedia.org/wiki/Sogo



  • So wenig Quelltext?
    Da kannst du fast alles mit machen 😃

    Kann mich irren, vermute du musst den wenigen Quelltext wahrscheinlich noch ändern?

    Aber schaunen wir mal ob und wie du das noch fortführst.
    Gib Gas, oder wie viel Zeit hast du noch?



  • Danke!

    Ich soll ja nur wie oben beschrieben die möglichen Spielzüge(bie 4x4 = 16 Züge) in eine Struct-Array speichern und einfach in ein binärfile speichern.

    Ich muss das Game nicht fertig machen :D.

    Wollte nur fragen ob ich das einigermaßen richtig machen mit den Spielzügen sind Array speichern 🙂

    Zeit bis 20 Uhr.



  • hobbit12 schrieb:

    Wollte nur fragen ob ich das einigermaßen richtig machen mit den Spielzügen sind Array speichern 🙂

    Wollte nur fragen ob ich das einigermaßen richtig mache mit den Spielzügen ins Array speichern*



  • Wie wäre es, wenn du mal mehr Quelltext schreibst und selbst etwas testest?
    Sonst wird das mager mit dem Lehrerfolg. Was machst du bei Prüfung oder Klausur?


Anmelden zum Antworten