Hallo!
Ich soll ein 4-gewinnt-Spiel bauen. Hierfür habe ich eine Gridpane mit Buttons gefüllt und wenn man einen der Buttons in der oberen Reihe drückt, "fällt" ein gefärbter Button in das Spielgestell.
Hierfür habe ich eine Liste, die buttonList, und hoehe und breite als Orientierungsmaße. zielindex ist die Variable, die zeigt, wohin ein Steinchen gefallen ist.
Jetzt soll ich den Gewinn prüfen. Bei der horizontalen Reihe und der vertikalen Reihe läufts schon, nur frage ich mich, wie ich es bei der diagonalen hinbekomme.
Ich hab dafür Höhe und Breite(hier 8) je als Limit für zwei For-Schleifen genommen und zähle immer v-- und w++. Das müsste in der Umrechnung, wo ich die Koordinaten wieder in den Index für die buttonList umrechne, zwischen zwei Werten eine Schrittweite von -7(-breite+1) ergeben. Aber es gibt entweder -8 oder+1, je nachdem, welche Schleife ich voranstelle.
Vielleicht kann mir jemand helfen. Wie bekomme ich es hin, dass die Ergebnisse bei umrechnen -7 voneinander entfernt sind?
Schrittweite in umrecnen=-8
(...)
Schrittweite in umrechnen=1
[/CODE]
(...)
Ich soll ein 4-gewinnt-Spiel bauen. Hierfür habe ich eine Gridpane mit Buttons gefüllt und wenn man einen der Buttons in der oberen Reihe drückt, "fällt" ein gefärbter Button in das Spielgestell.
Hierfür habe ich eine Liste, die buttonList, und hoehe und breite als Orientierungsmaße. zielindex ist die Variable, die zeigt, wohin ein Steinchen gefallen ist.
Jetzt soll ich den Gewinn prüfen. Bei der horizontalen Reihe und der vertikalen Reihe läufts schon, nur frage ich mich, wie ich es bei der diagonalen hinbekomme.
Ich hab dafür Höhe und Breite(hier 8) je als Limit für zwei For-Schleifen genommen und zähle immer v-- und w++. Das müsste in der Umrechnung, wo ich die Koordinaten wieder in den Index für die buttonList umrechne, zwischen zwei Werten eine Schrittweite von -7(-breite+1) ergeben. Aber es gibt entweder -8 oder+1, je nachdem, welche Schleife ich voranstelle.
Vielleicht kann mir jemand helfen. Wie bekomme ich es hin, dass die Ergebnisse bei umrechnen -7 voneinander entfernt sind?
Schrittweite in umrecnen=-8
Java:
for(int w=0;w<breite;w++) {
for (v = hoehe-1; v >= 0; v--) {
umrechnen = (v) * breite + (w);
(...)
Schrittweite in umrechnen=1
Code:
for (v = hoehe-1; v >= 0; v--) {
[CODE=java]for(int w=0;w<breite;w++) {
umrechnen = (v) * breite + (w);
(...)
Zuletzt bearbeitet: