Riccarda: vier gewinnt

Hallo zusammen

könnte mir jemand von euch helfen? ich würde gerne ein Game programmieren. habe gerade an vier gewinnt gedacht. hat jemand eine Idee, wie man dies umsetzen könnte?

Danke

  1. Hallo,

    ich würde gerne ein Game programmieren. habe gerade an vier gewinnt gedacht. hat jemand eine Idee, wie man dies umsetzen könnte?

    Was erwartest du jetzt eigentlich von uns? Sollen wir dir die Lösung präsentieren? Welche Probleme hast du denn? Hast du denn schon überhaupt angefangen?

    Grüße
    Jeena Paradies

    --
    "Of course it does not work, but look how fast it is!"
    1. hallo.

      nein, ich erwarte keine Lösung. Es würde mich lediglich interessieren, wie ihr das machen würdet...

      1. Hallo,

        nein, ich erwarte keine Lösung. Es würde mich lediglich interessieren, wie ihr das machen würdet...

        Ehrlichgesagt würde ich es nicht mittels PHP sondern mit JavaScript realisieren.

        Grüße
        Jeena Paradies

        --
        "Of course it does not work, but look how fast it is!"
  2. Huhu Riccarda

    könnte mir jemand von euch helfen? ich würde gerne ein Game programmieren. habe gerade an vier gewinnt gedacht. hat jemand eine Idee, wie man dies umsetzen könnte?

    Ja, aber war das Deine Frage?

    Starte am besten mit tic-tac-toe, das ist zwar nicht ganz so spannend, aber einige grundlegende Sachen kannst Du dabei erarbeiten und anschliessend für 4-gewinnt weiterentwickeln.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  3. Hallo Riccarda,

    könnte mir jemand von euch helfen? ich würde gerne ein Game programmieren. habe gerade an vier gewinnt gedacht. hat jemand eine Idee, wie man dies umsetzen könnte?

    beginne am besten mit einem zweidimensionalen Array. Es symbolisiert dein Spielbrett. Eine Methode die Spielsteine (beliebiger Farbe) auf ein freies Feld setzt, und eine die prüft ob 4 gleiche Steine horizontal, vertikal oder diagonal gesetzt sind.

    Wenn du soweit bist hast du bereits ein einfaches 4-Gewinnt für 2 Spieler. Etwas komplizierter wird es wenn du gegen den Computer antreten willst. Es gibt zwar mehr oder weniger fertige Scripte. Aber da lernst du ja nix. Fange zuerst mit einer einfachen Implementierung an indem du den Computer so "intelligent machst, das er deinen Sieg durch entsprechende Züge verhindert. In einem zweiten Schritt kannst du dann versuchen die Intelligenz so zu erweitern, dass er selbst versucht zu gewinnen.

    btw wenn du *deine* 4-Gewinnt-Spielstrategie programmierst, und du beim Spiel keinen Fehler machst ... müsste jedes eurer Spiele remis enden.

    Viele Grüße,

    Jochen

    1. Hello,

      btw wenn du *deine* 4-Gewinnt-Spielstrategie programmierst, und du beim Spiel keinen Fehler machst ... müsste jedes eurer Spiele remis enden.

      Kommt darauf an, wer anfangen darf...

      Grüße

      Tom

      1. Hi Tom,

        btw wenn du *deine* 4-Gewinnt-Spielstrategie programmierst, und du beim Spiel keinen Fehler machst ... müsste jedes eurer Spiele remis enden.

        Kommt darauf an, wer anfangen darf...

        Nein, egal wer beginnt. Wenn beide (Du und dein Computergegner, oder Du und dein menschlicher Gegner) _keinen_ Fehler machen _muss_ das Spiel remis enden. Je nach Größe des Feldes, Anzahl der Dimensionen und ob es ein 3, 4, 5-Gewinnt ist hat derjenige der den ersten Zug ausführt den Vorteil, dass der Gegner nur reagieren aber nicht agieren kann. Ausnahme mag vielleicht ein 3 dimensionales Tic-Tac-Toe sein, oder ähnliche Zusammenstellungen. Aber welchen Sinn machen Spiele wenn sich die Gewinnermittlung auf das Auslosen des ersten Zuges reduziert?

        Grüße,

        Jochen

        1. Hallo Maxx,

          Nein, egal wer beginnt. Wenn beide (Du und
          dein Computergegner, oder Du und dein
          menschlicher Gegner) _keinen_ Fehler machen
          _muss_ das Spiel remis enden.

          Korrekt bei einer "KI", die in die Zukunft schauen
          kann (heisst, Zuege vorrausberechnen kann). Aber
          programmiere das mal...

          Aber welchen Sinn machen Spiele wenn sich die
          Gewinnermittlung auf das Auslosen des ersten
          Zuges reduziert?

          Tut sie nicht. Es spielen menschliche Faktoren mit
          hinein. Menschen machen Fehler, Menschen
          durchschauen bestimmte Strategien nicht, usw ;)
          Die Kapazitaet ist halt, wie beim PC, begrenzt.

          Gruesse,
           CK

          --
          Unsere Vorstellungen von der Ewigkeit sind genauso nuetlich wie die Mutmassungen eines Kuehkens ueber die Aussenwelt bevor es die Eierschale aufbricht.
          1. Hallo Christian,

            Nein, egal wer beginnt. Wenn beide (Du und
            dein Computergegner, oder Du und dein
            menschlicher Gegner) _keinen_ Fehler machen
            _muss_ das Spiel remis enden.

            Korrekt bei einer "KI", die in die Zukunft schauen
            kann (heisst, Zuege vorrausberechnen kann). Aber
            programmiere das mal...

            Jein, ich habe mir das so vorgestellt: Riccarda programmiert ein
            4 Gewinnt. Der Algorithmus zur Berechnung der Züge basiert
            demnach auf Riccardas Spielweise und individueller Strategie.
            Oder anders ausgedrückt: Der Computer spielt genau so gut
            (oder schlecht) wie Riccarda.
            Ergo müsste es in dieser Kombination immer (sehr häufig) ein remis geben.

            Grüße,

            Jochen

            1. Hallo Maxx,

              Jein, ich habe mir das so vorgestellt: Riccarda
              programmiert ein 4 Gewinnt. Der Algorithmus zur
              Berechnung der Züge basiert demnach auf
              Riccardas Spielweise und individueller
              Strategie.

              Das kann nur bedingt funktionieren. Ein Mensch
              ueberlegt, was sein Gegenspieler wohl als
              naechstes tun wird. Das geht per Computer nur
              schwer in Form eines Baums, der alle moeglichen
              Zuege abbildet und die Zuege selber bewertet,
              nachgebildet werden. Der naechste Zug wird dann
              nach der besten Bewertung ausgewaehlt. Kein
              leichtes Unterfangen, sowas zu programmieren.

              Gruesse,
               CK

              --
              Wenn auf Erden alle das Schoene als schoen erkennen, so ist dadurch schon das Haessliche bestimmt.
  4. Hello,

    wie lulu schon sagte, sit das nicht unbedingt leicht so aus dem Stand. Allerdings kannst Du ja auch erstmal mit einer "Passivlösung" beginnen, bei der der Server nicht spielt, sondern nur das Spiel von zwei Clients betreut.

    Grafik aufbauen
    Grafik ändern je nach Spielzustand
    Spielzüge kontrollieren: die Chips müssen ja immer durchfallen bis auf den vorigen
    Kontrollfunktion, ob waagerecht, senkrecht oder in zwei Diagonalen irgendwo vier erreicht sind.

    Usersteuerung: wer ist am Zug und wie signalisiere ich ihm das?

    Und dann kommt der große Klotz: der Server ersetzt einen der User.

    Viel Erfolg

    Tom

  5. Mahlzeit

    könnte mir jemand von euch helfen? ich würde gerne ein Game programmieren. habe gerade an vier gewinnt gedacht. hat jemand eine Idee, wie man dies umsetzen könnte?

    Bisher hab ich 2 Spiele als CGI geschrieben, siehe Ordner Spiele. Auf jeden Fall musst du dir Gedanken machen wo der Spielstand mandantenfähig gespeichert wird. Mein Streichholzspiel speichert den Spielstand in der URI, für das Matrixspiel verwende ich session-cookies. Wenn ich demnächst mal wieder Langeweile habe kommt 17und4 oder MauMau dazu, die Karten habe ich schon ;-)

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?