4 gewinnt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    naja, nicht ganz, teilweise hat sie ganz komisch gezogen, aber da ich bei dem spiel immer verloren hab, kann das auch an mir liegen
    'komische' züge sollten schon vorkommen, man weiß ja nicht, was das teil in den nächsten zügen machen will.

    was ich meinte: hast du mal eine konkrete, fortgeschrittene situation (oder auch zwei) bewerten lassen und erhälts du das ergebnis, welches du per hand auch errechnen würdest?

    hast du die engine mal gegen sich selbst spielen lassen?
    auch mit unterschiedlichen bewertungen ... das wäre vielleicht eine methode, die bewertung zu tunen ...

    ansonsten hilft glaub ich nur probieren. aber wenn du (oder sonst wer) nicht gewinnen kannst, hat das teil doch seinen zweck erfüllt ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #17
      so, mal wieder ne frage an die allgemeinheit:

      die "ki" (noch kann ich sie nicht so nennen) macht folgendes:
      - eigenen stein in alle nicht vollen spalten werfen
      - gegnerischen stein in alle nicht vollen spalten werfen

      diese maximal 49 spielfelder (7 * 7) werden so bewertet:
      wenn ich gewinne: sofortiger abbruch
      wenn der gegner gewonnen hat: sofortiger abbruch

      wenn ich ne zwickmühle habe: sofortiger abbruch
      wenn der gegner ne zwickmühle hat: sofortiger abbruch

      trifft keine der vier situationen zu, werden ganz banal ausbaufähige 3er und 2er kombinationen gezählt (sowohl für mich (ki) als auch für den gegenspieler)

      läuft auch alles ganz gut, aber...
      bei einem sofortigen abbruch nach punkt 2 oder punkt 4 (gegner gewinnt oder hat zwickmühle), muss ich ja noch unterscheiden, ob er beispielsweise gewinnt, weil ich meinen stein in spalte 1 einwerfe und ihm deswegen spalte 3 lasse ode ob er gewinnt, weil ich meinen stein in spalte 1 einwerfe und er daraufhin ebenfalls in spalte 1 einwirft um zu gewinnen, kurz gesagt: gewinnt er, weil ich NICHT in eine best. spalte einwerfe oder weil ich in eine bestimmte spalte einwerfe?

      hat da jemand ganz spontan nen lösungsvorschlag?
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        Original geschrieben von mrhappiness
        trifft keine der vier situationen zu, werden ganz banal ausbaufähige 3er und 2er kombinationen gezählt (sowohl für mich (ki) als auch für den gegenspieler)
        1. solltest du dich nicht zunächst um gegnerische 3er positionen kümmern, und diese blocken?
        2. gibt es gegnerische 2+1 positionen, die beim nächsten stein der ki zum sieg führen
        3. schmeisst du (ki) im moment stein auf "ausbaufähige" 2er-positionen bei denen ein 4ter stein nicht mehr gesetzt werden kann.

        ^^ist zwar kein lösungsansatz, sind aber imho die prioritäten ... vielleicht hilfts ja
        Kissolino.com

        Kommentar


        • #19
          Original geschrieben von Wurzel
          1. solltest du dich nicht zunächst um gegnerische 3er positionen kümmern, und diese blocken?
          2. gibt es gegnerische 2+1 positionen, die beim nächsten stein der ki zum sieg führen
          3. schmeisst du (ki) im moment stein auf "ausbaufähige" 2er-positionen bei denen ein 4ter stein nicht mehr gesetzt werden kann.

          ^^ist zwar kein lösungsansatz, sind aber imho die prioritäten ... vielleicht hilfts ja
          1. was bringt's mir, ne gegnerische 3er position zu blocken, wenn er er ne 4er haben kann? (sind ja schließlich nur theoretische spielfelder, da alle möglichen züge durchprobiert werden)
          2. 2+1 positionen sind 3er positionen
            xxx_ ist das gleiche wie xx_x oder x_xx oder _xxx
          3. ausbaufähig = sieg / niederlage möglich
          klar oder suboptimal erklärt?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            Original geschrieben von mrhappiness
            2+1 positionen sind 3er positionen
            xxx_ ist das gleiche wie xx_x oder x_xx oder _xxx
            das sagst du....

            wenn ich mich nicht irre, habe ich so ziemlich oft gegen die k*hust* gewonnen....

            meist eben auch nur deshalb, weil die k*hust* (x) in spalte 4 wirft, statt in spalte 1

            Code:
            1 2 3 4 5 6 7
              o o   o . .
            x o x   x . .
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #21
              ja, das sage ich

              was du ansprichst is etwas anderes: wenn ich beim durchrechnen in spalte 4 werfe, sehe ich, dass du bei nem einwurf in spalte 4 gewinnst und genau deshalb werfe ich darein

              ich gehe momentan noch davon aus, dass du gewinnst, wenn ich NICHT in spalte 4 werfe
              die tatsache, dass du nur dann gewinnst, wenn ich wirklich da reinwerfe, ist mir momentan noch verborgen, genau das is mein problem

              Code:
              1 2 3 4 5 6 7
                o o   o . .
              x o x   x . .
              und
              Code:
              1 2 3 4 5 6 7
                o o   o o .
              x o x x x . .
              sehen nach dem durchexerzieren (nicht berücksichtigt die tatsache, das sich gewinnen kann) so aus
              Code:
              1 2 3 4 5 6 7
                o o [b]o[/b] o . .
              x o x [b]x[/b] x . .
              und
              Code:
              1 2 3 4 5 6 7
              [b]x[/b] o o [b]o[/b] o o .
              x o x x x . .
              fett = während der berechnung eingeworfene "virtuelle" steine

              irgendwie muss ich jetzt die beiden fälle voneinander unterscheiden, in beiden fällen merk ich: schmeißt der böse in spalte 4 gewinnt er; dass er das in fall 1 aber nur dann kann, wenn ich meinen stein vorher auch da reinschmeiße und in fall 2 dann, wenn ich meinen stein nicht da reinschmeiße, kann er noch nicht unterscheiden
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #22
                du musst für jeden stein, den du setzt prüfen, ob der nächste zug des gegners zum sieg führt ... wäre doch aber dasselbe wie der aufruf:
                wenn der gegner ne zwickmühle hat: sofortiger abbruch
                du führst sie schliesslich herbei (jedenfalls im moment)

                und was die 2er positionen angeht, scheint das [COLOR=red]rote[/COLOR] für ki eine ausbaufähige position zu sein:
                Code:
                . . . [COLOR=red]o[/COLOR] . . .
                . . . o . . .
                . . . o . . .
                . . . x . . .
                . . . o . . .
                . . x o x . x
                . . x o x . x
                Kissolino.com

                Kommentar


                • #23
                  du verstehst mich nicht
                  niemand versteht mich

                  die ganze welt ist gegen mich


                  hab aber tapfer weitergebastelt und befinde mich denke ich, auch dank haxes hilfe, jetzt auf einem der tausend richtigen nach rom führenden wege
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #24
                    OffTopic:
                    DU verstehst mich nicht ... DU willst meinen rat nicht ... und hättest du auf MEINE mutter gehört, hättest du was ordentliches gelernt
                    Kissolino.com

                    Kommentar


                    • #25
                      ich versteh dich, denn
                      du musst für jeden stein, den du setzt prüfen, ob der nächste zug des gegners zum sieg führt
                      mach ich ja schon

                      ich probier's nochmal: mein probelm war/ist folgendes:
                      Code:
                      . o o . o . .
                      x o x . o . .
                      jetzt komm ich bei meiner zugberechnung irgendwann dazu, in spalte 4 einen stein "gedacht" einzuwerfen
                      Code:
                      . o o . o . .
                      x o x [b]x[/b] o . .
                      daraufhin bekomme ich logischerweise geliefert: der böse gegenspieler schmeißt in spalte 4 => resultat: ich verliere, also darf ich auf gar keinen fall in spalte 4 werfen

                      fall2:
                      Code:
                      . o o . o . .
                      x o x x o . .
                      jetzt komm ich bei meiner zugberechnung irgendwann dazu, in spalte 1 einen stein "gedacht" einzuwerfen
                      Code:
                      x o o . o . .
                      x o x x o . .
                      daraufhin bekomme ich logischerweise geliefert: der böse gegenspieler schmeißt wieder in spalte 4 => resultat: ich verliere wieder, also muss ich auf zwingend in spalte 4 werfen!

                      und die beiden fällen galt es zu unterscheiden: beide male verliere ich, wenn der gegenspieler in spalte 4 schmeißt, allerdings tu ich das in fall 1 nur dann, wenn ich vorher einen stein reingeworfen habe

                      jetzt klara?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #26
                        Original geschrieben von mrhappiness
                        und die beiden fällen galt es zu unterscheiden: beide male verliere ich, wenn der gegenspieler in spalte 4 schmeißt, allerdings tu ich das in fall 1 nur dann, wenn ich vorher einen stein reingeworfen habe
                        du kannst das doch eigentlich unterscheiden.

                        wie ich dir eben schon 'gesagt' habe, musst du ja nur die prio-arrays prüfen, die du von deiner viewboard-class bekommst. damit weisst du ja, was 'abgeht'.

                        EDIT:
                        ach ja

                        Code:
                        Array
                        (
                            [spieler] => o
                            [player] => 3
                            [gameid] => 147
                        )
                        nach jeweils schon 6 steinen.

                        auch hier hat die k*hust* mir zu sieg verholfen.

                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #27
                          und wieder habe ich durch die k* gewonnen. -> 148
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #28
                            auf nix anderes wollte ich dich hinweisen ... nur dass ich meinte, dass es mit fortschreitendem spielverlauf wichtig ist
                            1. prüfen, wo du den stein setzen MUSST
                            2. sonst prüfen, wo du stein setzen kannst
                            3. VOR dem setzen prüfe, ob der gegner einen vorteil davon hat
                            4. stein setzen bzw 2&3 wiederholen

                            mit anderen worten, wir verstehen uns
                            Kissolino.com

                            Kommentar


                            • #29
                              149
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar


                              • #30
                                @Wurzel
                                das hatten wir eben alles schon durchdiskutiert...

                                zitat happy: "ich schreie gleich ...."
                                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                                Kommentar

                                Lädt...
                                X