Vier Gewinnt Gewinnalgorythmus

  • Vier Gewinnt Gewinnalgorythmus

    Hallo zusammen,

    gleich vorweg: ich weiß nicht, ob man das Algorythmus nennen kann.

    Aber es geht mir um folgendes: Mittels php hab ich ein Vier-gewinnt programmiert. Sieht so aus: Das Feld (7x7) ist am Anfang weiß. In der Kopfzeile der Tabelle sind je Spalte ein Link, um die Spielsteine einzuwerfen. Wird ein Link gedrückt, wird in dem Array ( $steine[zeile_spalte]) geschaut, was die nächste freie Zeile ist und fügt da dann den Wert b (oder r; je nach, welcher Spieler dran ist) ein.
    Was ich jetzt brauche:
    wie überprüfe ich, ob in einer Zeile, Spalte oder Diagonal min. 4 Steine sind? Wenn ich alle möglichen Varianten überprüfen lass, wird das ewig dauern.. wie kann ich eine Funktion bauen, die z. B. schaut: Hier ist ein Stein b, sind die nächsten drei Steine noch oben/unten, links/rechts, diagonal auch b? Kann mir da jemand helfen?

    LG

    Fipsi
  • Kann ich gerne machen.. ist soweit fertig, fehlt wie gesagt nurnoch das für die Gewinnerermittlung:

    html.html

    Quellcode

    1. <html>
    2. <head>
    3. <title>Vier gewinnt</title>
    4. <style type="text/css">
    5. * {
    6. font-family:Calibri;
    7. }
    8. #header {
    9. text-align:center;
    10. text-decoration:underline;
    11. }
    12. #reset {
    13. text-align:center;
    14. font-size:14pt;
    15. color:black;
    16. }
    17. #status {
    18. text-align:center;
    19. font-size:14pt;
    20. }
    21. #spieler_dran_rot {
    22. text-align:center;
    23. color:red;
    24. font-size:20pt;
    25. }
    26. #spieler_dran_blau {
    27. text-align:center;
    28. color:blue;
    29. font-size:20pt;
    30. }
    31. #table {
    32. position:relative;
    33. left:25%;
    34. width:50%;
    35. height:575px;
    36. }
    37. </style>
    38. </head>
    39. <body>
    40. <h1 id="header">Vier gewinnt</h1>
    41. <br />
    42. <a href="?do=reset">
    43. <div id="reset">
    44. Reset
    45. </div>
    46. </a>
    47. <br />
    48. <div id="status">
    49. Spielstatus: <b>{SPIEL_STATUS}</b>
    50. </div>
    51. <br />
    52. {SPIELER_DRAN}
    53. <br />
    54. <div id="table">
    55. <table width="100%" height="575px" border="1px; soild; black" style="text-align:center;">
    56. <tr>
    57. <td><a href="index.php?do=put&that=1_{FARBE_DRAN}">Stein</a></td>
    58. <td><a href="index.php?do=put&that=2_{FARBE_DRAN}">Stein</a></td>
    59. <td><a href="index.php?do=put&that=3_{FARBE_DRAN}">Stein</a></td>
    60. <td><a href="index.php?do=put&that=4_{FARBE_DRAN}">Stein</a></td>
    61. <td><a href="index.php?do=put&that=5_{FARBE_DRAN}">Stein</a></td>
    62. <td><a href="index.php?do=put&that=6_{FARBE_DRAN}">Stein</a></td>
    63. <td><a href="index.php?do=put&that=7_{FARBE_DRAN}">Stein</a></td>
    64. </tr>
    65. <tr>
    66. <td>{STEIN_1_1}</td>
    67. <td>{STEIN_1_2}</td>
    68. <td>{STEIN_1_3}</td>
    69. <td>{STEIN_1_4}</td>
    70. <td>{STEIN_1_5}</td>
    71. <td>{STEIN_1_6}</td>
    72. <td>{STEIN_1_7}</td>
    73. </tr>
    74. <tr>
    75. <td>{STEIN_2_1}</td>
    76. <td>{STEIN_2_2}</td>
    77. <td>{STEIN_2_3}</td>
    78. <td>{STEIN_2_4}</td>
    79. <td>{STEIN_2_5}</td>
    80. <td>{STEIN_2_6}</td>
    81. <td>{STEIN_2_7}</td>
    82. </tr>
    83. <tr>
    84. <td>{STEIN_3_1}</td>
    85. <td>{STEIN_3_2}</td>
    86. <td>{STEIN_3_3}</td>
    87. <td>{STEIN_3_4}</td>
    88. <td>{STEIN_3_5}</td>
    89. <td>{STEIN_3_6}</td>
    90. <td>{STEIN_3_7}</td>
    91. </tr>
    92. <tr>
    93. <td>{STEIN_4_1}</td>
    94. <td>{STEIN_4_2}</td>
    95. <td>{STEIN_4_3}</td>
    96. <td>{STEIN_4_4}</td>
    97. <td>{STEIN_4_5}</td>
    98. <td>{STEIN_4_6}</td>
    99. <td>{STEIN_4_7}</td>
    100. </tr>
    101. <tr>
    102. <td>{STEIN_5_1}</td>
    103. <td>{STEIN_5_2}</td>
    104. <td>{STEIN_5_3}</td>
    105. <td>{STEIN_5_4}</td>
    106. <td>{STEIN_5_5}</td>
    107. <td>{STEIN_5_6}</td>
    108. <td>{STEIN_5_7}</td>
    109. </tr>
    110. <tr>
    111. <td>{STEIN_6_1}</td>
    112. <td>{STEIN_6_2}</td>
    113. <td>{STEIN_6_3}</td>
    114. <td>{STEIN_6_4}</td>
    115. <td>{STEIN_6_5}</td>
    116. <td>{STEIN_6_6}</td>
    117. <td>{STEIN_6_7}</td>
    118. </tr>
    119. <tr>
    120. <td>{STEIN_7_1}</td>
    121. <td>{STEIN_7_2}</td>
    122. <td>{STEIN_7_3}</td>
    123. <td>{STEIN_7_4}</td>
    124. <td>{STEIN_7_5}</td>
    125. <td>{STEIN_7_6}</td>
    126. <td>{STEIN_7_7}</td>
    127. </tr>
    128. </table>
    129. </div>
    130. <br />
    131. <center>
    132. &copy; Phillip Seelig
    133. </center>
    134. </body>
    135. </html>
    Alles anzeigen


    index.php

    Quellcode

    1. <?php
    2. error_reporting(0);
    3. session_start();
    4. if (empty($_SESSION['steine']))
    5. {
    6. $_SESSION['farbe_dran'] = "r";
    7. $_SESSION['steine'] = array();
    8. $_SESSION['status'] = 0;
    9. $e = 1;
    10. while ($e<8)
    11. {
    12. $f = 1;
    13. while ($f<8)
    14. {
    15. $_SESSION['steine'][$e."_".$f] = "n";
    16. $f++;
    17. }
    18. $e++;
    19. }
    20. }
    21. $steine = $_SESSION['steine'];
    22. if ($_GET['do'] == "put")
    23. {
    24. $that = $_GET['that'];
    25. $player = substr($that,2,1);
    26. $spalte = substr($that,0,1);
    27. if ($steine['7_'.$spalte] == "n") {
    28. $steine['7_'.$spalte] = $player; }
    29. else if ($steine['6_'.$spalte] == "n") {
    30. $steine['6_'.$spalte] = $player; }
    31. else if ($steine['5_'.$spalte] == "n") {
    32. $steine['5_'.$spalte] = $player; }
    33. else if ($steine['4_'.$spalte] == "n") {
    34. $steine['4_'.$spalte] = $player; }
    35. else if ($steine['3_'.$spalte] == "n") {
    36. $steine['3_'.$spalte] = $player; }
    37. else if ($steine['2_'.$spalte] == "n") {
    38. $steine['2_'.$spalte] = $player; }
    39. else if ($steine['1_'.$spalte] == "n") {
    40. $steine['1_'.$spalte] = $player; }
    41. if ($_SESSION['farbe_dran'] == "r") {
    42. $_SESSION['farbe_dran'] = "b"; }
    43. else {
    44. $_SESSION['farbe_dran'] = "r"; }
    45. header("Location:index.php");
    46. }
    47. else if ($_GET['do'] == "reset")
    48. {
    49. unset($_SESSION['steine']);
    50. $steine = "";
    51. header("Location:index.php");
    52. }
    53. function ersetzen($text, $steine)
    54. {
    55. if ($_SESSION['status'] == 0) {
    56. if ($_SESSION['farbe_dran'] == "r") {
    57. $spieler_dran = "<div id=\"spieler_dran_rot\">Rot ist dran</div>"; }
    58. else {
    59. $spieler_dran = "<div id=\"spieler_dran_blau\">Blau ist dran</div>"; }
    60. $status = "Spiel l&auml;uft"; }
    61. else if ($_SESSION['status'] == 1) {
    62. $status = "Rot hat gewonnen"; }
    63. else if ($_SESSION['status'] == 2) {
    64. $status = "Blau hat gewonnen"; }
    65. else if ($_SESSION['status'] == 3) {
    66. $status = "Spiel beendet; kein Sieger"; }
    67. $text = str_replace("{SPIEL_STATUS}",$status,$text);
    68. $text = str_replace("{SPIELER_DRAN}",$spieler_dran,$text);
    69. $text = str_replace("{FARBE_DRAN}",$_SESSION['farbe_dran'],$text);
    70. $text = str_replace("{STEIN_1_1}","<img src=\"stein_".$steine['1_1'].".jpg\">",$text);
    71. $text = str_replace("{STEIN_1_2}","<img src=\"stein_".$steine['1_2'].".jpg\">",$text);
    72. $text = str_replace("{STEIN_1_3}","<img src=\"stein_".$steine['1_3'].".jpg\">",$text);
    73. $text = str_replace("{STEIN_1_4}","<img src=\"stein_".$steine['1_4'].".jpg\">",$text);
    74. $text = str_replace("{STEIN_1_5}","<img src=\"stein_".$steine['1_5'].".jpg\">",$text);
    75. $text = str_replace("{STEIN_1_6}","<img src=\"stein_".$steine['1_6'].".jpg\">",$text);
    76. $text = str_replace("{STEIN_1_7}","<img src=\"stein_".$steine['1_7'].".jpg\">",$text);
    77. $text = str_replace("{STEIN_2_1}","<img src=\"stein_".$steine['2_1'].".jpg\">",$text);
    78. $text = str_replace("{STEIN_2_2}","<img src=\"stein_".$steine['2_2'].".jpg\">",$text);
    79. $text = str_replace("{STEIN_2_3}","<img src=\"stein_".$steine['2_3'].".jpg\">",$text);
    80. $text = str_replace("{STEIN_2_4}","<img src=\"stein_".$steine['2_4'].".jpg\">",$text);
    81. $text = str_replace("{STEIN_2_5}","<img src=\"stein_".$steine['2_5'].".jpg\">",$text);
    82. $text = str_replace("{STEIN_2_6}","<img src=\"stein_".$steine['2_6'].".jpg\">",$text);
    83. $text = str_replace("{STEIN_2_7}","<img src=\"stein_".$steine['2_7'].".jpg\">",$text);
    84. $text = str_replace("{STEIN_3_1}","<img src=\"stein_".$steine['3_1'].".jpg\">",$text);
    85. $text = str_replace("{STEIN_3_2}","<img src=\"stein_".$steine['3_2'].".jpg\">",$text);
    86. $text = str_replace("{STEIN_3_3}","<img src=\"stein_".$steine['3_3'].".jpg\">",$text);
    87. $text = str_replace("{STEIN_3_4}","<img src=\"stein_".$steine['3_4'].".jpg\">",$text);
    88. $text = str_replace("{STEIN_3_5}","<img src=\"stein_".$steine['3_5'].".jpg\">",$text);
    89. $text = str_replace("{STEIN_3_6}","<img src=\"stein_".$steine['3_6'].".jpg\">",$text);
    90. $text = str_replace("{STEIN_3_7}","<img src=\"stein_".$steine['3_7'].".jpg\">",$text);
    91. $text = str_replace("{STEIN_4_1}","<img src=\"stein_".$steine['4_1'].".jpg\">",$text);
    92. $text = str_replace("{STEIN_4_2}","<img src=\"stein_".$steine['4_2'].".jpg\">",$text);
    93. $text = str_replace("{STEIN_4_3}","<img src=\"stein_".$steine['4_3'].".jpg\">",$text);
    94. $text = str_replace("{STEIN_4_4}","<img src=\"stein_".$steine['4_4'].".jpg\">",$text);
    95. $text = str_replace("{STEIN_4_5}","<img src=\"stein_".$steine['4_5'].".jpg\">",$text);
    96. $text = str_replace("{STEIN_4_6}","<img src=\"stein_".$steine['4_6'].".jpg\">",$text);
    97. $text = str_replace("{STEIN_4_7}","<img src=\"stein_".$steine['4_7'].".jpg\">",$text);
    98. $text = str_replace("{STEIN_5_1}","<img src=\"stein_".$steine['5_1'].".jpg\">",$text);
    99. $text = str_replace("{STEIN_5_2}","<img src=\"stein_".$steine['5_2'].".jpg\">",$text);
    100. $text = str_replace("{STEIN_5_3}","<img src=\"stein_".$steine['5_3'].".jpg\">",$text);
    101. $text = str_replace("{STEIN_5_4}","<img src=\"stein_".$steine['5_4'].".jpg\">",$text);
    102. $text = str_replace("{STEIN_5_5}","<img src=\"stein_".$steine['5_5'].".jpg\">",$text);
    103. $text = str_replace("{STEIN_5_6}","<img src=\"stein_".$steine['5_6'].".jpg\">",$text);
    104. $text = str_replace("{STEIN_5_7}","<img src=\"stein_".$steine['5_7'].".jpg\">",$text);
    105. $text = str_replace("{STEIN_6_1}","<img src=\"stein_".$steine['6_1'].".jpg\">",$text);
    106. $text = str_replace("{STEIN_6_2}","<img src=\"stein_".$steine['6_2'].".jpg\">",$text);
    107. $text = str_replace("{STEIN_6_3}","<img src=\"stein_".$steine['6_3'].".jpg\">",$text);
    108. $text = str_replace("{STEIN_6_4}","<img src=\"stein_".$steine['6_4'].".jpg\">",$text);
    109. $text = str_replace("{STEIN_6_5}","<img src=\"stein_".$steine['6_5'].".jpg\">",$text);
    110. $text = str_replace("{STEIN_6_6}","<img src=\"stein_".$steine['6_6'].".jpg\">",$text);
    111. $text = str_replace("{STEIN_6_7}","<img src=\"stein_".$steine['6_7'].".jpg\">",$text);
    112. $text = str_replace("{STEIN_7_1}","<img src=\"stein_".$steine['7_1'].".jpg\">",$text);
    113. $text = str_replace("{STEIN_7_2}","<img src=\"stein_".$steine['7_2'].".jpg\">",$text);
    114. $text = str_replace("{STEIN_7_3}","<img src=\"stein_".$steine['7_3'].".jpg\">",$text);
    115. $text = str_replace("{STEIN_7_4}","<img src=\"stein_".$steine['7_4'].".jpg\">",$text);
    116. $text = str_replace("{STEIN_7_5}","<img src=\"stein_".$steine['7_5'].".jpg\">",$text);
    117. $text = str_replace("{STEIN_7_6}","<img src=\"stein_".$steine['7_6'].".jpg\">",$text);
    118. $text = str_replace("{STEIN_7_7}","<img src=\"stein_".$steine['7_7'].".jpg\">",$text);
    119. return $text;
    120. }
    121. $side = fopen("html.html","r");
    122. $side_html = "";
    123. while ($inhalt = fgets($side,4096))
    124. {
    125. $side_html .= $inhalt;
    126. }
    127. echo ersetzen($side_html, $steine);
    128. $_SESSION['steine'] = $steine;
    129. ?>
    Alles anzeigen


    Die Dateien stein_b.jpg bzw. stein_r.jpg sind nur kleine weiße Bilder mit einem blauen, bzw. roten Punkt. Die Datei stein_n.jpg ist komplett weiß.

    (Wenn du den Code öffentlich verwendest, hätte ich nichts dagegen, wenn das Copyright in der html.html-Datei vorhanden bleibt, muss aber nicht sein ;) )
  • Eigentlich nicht schwer. Du musst vom neuen Stein ausgehen und nach gleichfarbigen Nachbarsteinen suchen. Wenn du einen findest, musst du schauen, ob dieser einen entsprechenden Nachbarn hat. Und das machst so so lange, bis du 4 gleiche Steine gefunden hast, oder keine entsprechenden Nachbarn mehr da sind.
    =O
  • *facepalm* auf die Idee hät ich auch kommen können..

    Jetzt hab ich's so programmiert, aber es funktioniert nicht. Wo ist der Fehler? Der Code:

    Quellcode

    1. $that = $_GET['that'];
    2. $player = substr($that,2,1);
    3. $spalte = (int)substr($that,0,1);
    4. if ($steine['7_'.$spalte] == "n") {
    5. $steine['7_'.$spalte] = $player;
    6. $zeile = 7; }
    7. else if ($steine['6_'.$spalte] == "n") {
    8. $steine['6_'.$spalte] = $player;
    9. $zeile = 6; }
    10. else if ($steine['5_'.$spalte] == "n") {
    11. $steine['5_'.$spalte] = $player;
    12. $zeile = 5; }
    13. else if ($steine['4_'.$spalte] == "n") {
    14. $steine['4_'.$spalte] = $player;
    15. $zeile = 4; }
    16. else if ($steine['3_'.$spalte] == "n") {
    17. $steine['3_'.$spalte] = $player;
    18. $zeile = 3; }
    19. else if ($steine['2_'.$spalte] == "n") {
    20. $steine['2_'.$spalte] = $player;
    21. $zeile = 2; }
    22. else if ($steine['1_'.$spalte] == "n") {
    23. $steine['1_'.$spalte] = $player;
    24. $zeile = 1; }
    25. $stones_1 = 1;
    26. $stones_2 = 1;
    27. $stones_3 = 1;
    28. $stones_4 = 1;
    29. echo $zeile."<br />".$spalte;
    30. if ($steine[$zeile-1 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    31. $stones_1++;
    32. if ($steine[$zeile-2 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    33. $stones_1++;
    34. if($steine[$zeile-3 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    35. $stones_1++;
    36. }
    37. }
    38. }
    39. if ($steine[$zeile+1 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    40. $stones_1++;
    41. if ($steine[$zeile+2 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    42. $stones_1++;
    43. if ($steine[$zeile+3 . "_" . $spalte] == $_SESSION['farbe_dran']) {
    44. $stones_1++;
    45. }
    46. }
    47. }
    48. if ($steine[$zeile . "_" . $spalte+1] == $_SESSION['farbe_dran']) {
    49. $stones_2++;
    50. if ($steine[$zeile . "_" . $spalte+2] == $_SESSION['farbe_dran']) {
    51. $stones_2++;
    52. if ($steine[$zeile . "_" . $spalte+3] == $_SESSION['farbe_dran']) {
    53. $stones_2++;
    54. }
    55. }
    56. }
    57. if ($steine[$zeile . "_" . $spalte-1] == $_SESSION['farbe_dran']) {
    58. $stones_2++;
    59. if ($steine[$zeile . "_" . $spalte-2] == $_SESSION['farbe_dran']) {
    60. $stones_2++;
    61. if ($steine[$zeile . "_" . $spalte-3] == $_SESSION['farbe_dran']) {
    62. $stones_2++;
    63. }
    64. }
    65. }
    66. if ($steine[$zeile+1 . "_" . $spalte+1] == $_SESSION['farbe_dran']) {
    67. $stones_3++;
    68. if ($steine[$zeile+2 . "_" . $spalte+2] == $_SESSION['farbe_dran']) {
    69. $stones_3++;
    70. if ($steine[$zeile+3 . "_" . $spalte+3] == $_SESSION['farbe_dran']) {
    71. $stones_3++;
    72. }
    73. }
    74. }
    75. if ($steine[$zeile-1 . "_" . $spalte-1] == $_SESSION['farbe_dran']) {
    76. $stones_3++;
    77. if ($steine[$zeile-2 . "_" . $spalte-2] == $_SESSION['farbe_dran']) {
    78. $stones_3++;
    79. if ($steine[$zeile-3 . "_" . $spalte-3] == $_SESSION['farbe_dran']) {
    80. $stones_3++;
    81. }
    82. }
    83. }
    84. if ($steine[$zeile+1 . "_" . $spalte-1] == $_SESSION['farbe_dran']) {
    85. $stones_4++;
    86. if ($steine[$zeile+2 . "_" . $spalte-2] == $_SESSION['farbe_dran']) {
    87. $stones_4++;
    88. if ($steine[$zeile+3 . "_" . $spalte-3] == $_SESSION['farbe_dran']) {
    89. $stones_4++;
    90. }
    91. }
    92. }
    93. if ($steine[$zeile-1 . "_" . $spalte+1] == $_SESSION['farbe_dran']) {
    94. $stones_4++;
    95. if ($steine[$zeile-2 . "_" . $spalte+2] == $_SESSION['farbe_dran']) {
    96. $stones_4++;
    97. if ($steine[$zeile-3 . "_" . $spalte+3] == $_SESSION['farbe_dran']) {
    98. $stones_4++;
    99. }
    100. }
    101. }
    102. echo $stones_2;
    103. if (($stones_1 >= 4)||($stones_2 >= 4)||($stones_3 >= 4)||($stones_4 >= 4))
    104. {
    105. if ($_SESSION['farbe_dran'] == "r") {
    106. $_SESSION['status'] = 1; }
    107. if ($_SESSION['farbe_dran'] == "b") {
    108. $_SESSION['status'] = 2; }
    109. }
    110. if (($steine['1_1'] != "n")&&($steine['1_2'] != "n")&&($steine['1_3'] != "n")&&($steine['1_4'] != "n")&&($steine['1_5'] != "n")&&($steine['1_6'] != "n")&&($steine['1_7'] != "n")) {
    111. $_SESSION['status'] == 3; }
    112. if ($_SESSION['farbe_dran'] == "r") {
    113. $_SESSION['farbe_dran'] = "b"; }
    114. else {
    115. $_SESSION['farbe_dran'] = "r"; }
    116. header("Location:index.php");
    Alles anzeigen


    Edit:
    ok, nein, das funktioniert sogar so weit. Jetzt nur ein Problem: Wenn es in verschiedenen Spalten ist, kriegt er das nicht auf die Reihe.. Fehlermeldung ist immer eine Offset und dann die Ziffer der Spalte..

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fipsi ()

  • Hab den in einem Post weiter oben stehenden Code gerade auf den aktuellen Stand gebracht.

    Ich kann nicht weiter: die Zeilenrechnerei funktioniert, aber wenn's um die Spalten geht, kriegt er nen Wurm rein, aber ich weiß nicht welchen. Zeilen und Spalten sind beide int, also liegt der Fehler nicht beim nicht-rechnen-können.

    Fehlermeldung ist es immer eine offset, bei jedem If-Teil, in dem er an Spalten rechnet.

    Bräuchte unbedingt Hilfe, Donnerstag Abend muss der Code fertig sein, da ich ihn in der Schule vorzeigen soll am Freitag.
  • Wie gesagt: bei allen if-Abfragen, bei denen ein Spalten-Wert verändert wird (also nicht nur "$spalte" sondern "spalte+-1/2/3"), kommt dieser Offset-Fehler. Dann aber immer nur mit einer Ziffer, anstatt mit dem ganzen Wert in dieser Klammer, was mich wundert.

    Edit:
    Er scheint wohl die zwei Zahlen dann zusammen zu zählen..?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fipsi ()

  • Hab es einmal umgesetzt. Dabei ist mir aufgefallen, dass es mehr Schreibarbeit ist, wenn man immer vom gesetzten Stein ausgeht (weil man in alle Richtungen bei diagonalen Reihen gehen muss). Darum eine etwas andere Umsetzung.

    Source: github.com/basteyy/4gewinnt
    Funktionsweise: Also bei horizontalen und vertikalen Reihen ist es eigentlich ganz einfach. Da schaut man einfach in welcher Spalte der neue Stein ist (respektive in welcher "Position/Höhe" er ist) und geht einfach die Reihe/Spalte lang und unterbricht sobald weniger als 4 Steine nebeneinander liegen und ein anderes Feld kommt (also das andere Zeichen oder ein leeres Feld).
    Beim diagonalen sind es verschachtelte Schleifen, die einfach von einer Ecke in die nächste gehen (und dass von jeder Zeile aus). Source sollte eigentlich verständlich sein.

    Viel Erfolg ;)
    Bilder
    • Unbenannt.png

      33,81 kB, 794×655, 225 mal angesehen
    =O

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von bastey ()

  • Wie er arbeitet, denke ich zu verstehn..
    Aber geht das nicht auch so, wie ich das gmacht hab? Will jetzt da ehrlich gesagt nicht unbedint mit OOP anfangen, dafür ist mir der "Zweck zu klein". Ich würde eher die Lösung für mein Problem suchen, da das auch ein eigener Code sein soll, den ich morgen in der Schule präsentieren muss.

    LG
  • Ok, nach ein paar Experimenten hab ichs jetzt so zum laufen gebracht:

    Da es ja immer die gleichen Rechnungen (+/- 1/2/3) sind, hab ich diese 6 einfach in extra variablen schon vorrechnen lassen, da die letzte Rechnung in der Arraybennenung einen Fehler reinhaut, dass er nurnoch 0 im Offset drin stehn hat.

    Aber danke für eure Bemühungen! :)
  • Achso, kay.. sah mir ein wenig im OOP-Stil aus (tut eig. alles, was mit klassen gemacht wird *hust*).

    Das, wofür ich das brauch, ist Informationstechnologie. Wir haben rgad in Excel Tik-Tak-Teo gemacht und sollten uns dann an Vier Gewinnt probieren. Ich hab gsagt, ich hab das schonmal in PHP gemacht, wenn ich's noch hab, bring ich's das nächste mal (morgen) mit. Das Problem war nur, dass ich's schon gelöscht hatte und da hatte ich's so gemacht, dass ich jede einzelne mögliche Kombination in IF-Abfragen gebaut hatte.. auf diese Schreibarbeit hatte ich dieses mal aber nicht wieder Lust.