Hi erstmal,
ich habe folgendes problem, ich möchte wie der titel schon sagt 7 arraylisten vergleichen, sie sind alle gleich lang.
Hier ein Beispiel
AL0 AL1 AL2 AL3 AL4 AL5 AL6
1 2 2 2 2 1 1
1 2 1 2 1 2 1
2 1 1 2 1 1 1
0 2 0 1 2 1 2
ich muss herausfinden, dass in der ersten zeile 4x die 2 nacheinander kommt, aber wie löse ich das am besten?
Bitte um Hilfe/Anregung, denn ich habe keinen plan wie ich das umsetzen soll
lg KSK
eine simple for-schleife die durch alle arraylisten gleichzeitig geht und ein temporäres dictionary, das den wert aufnimmt und wenn der wert schon im dictionary drinn ist, den value (ein count integer) um eins erhöht. dann musst du am ende nur noch schauen, welcher wert am häufigsten (größten count) im dictionary vorhanden ist.
Hallo KS-Kommando,
ich muss herausfinden, dass in der ersten zeile 4x die 2 nacheinander kommt, aber wie löse ich das am besten?
meinst du das wirklich so, wie es da steht? Also nur in der ersten Zeile nachschauen, ob es der Fall ist, dass vier Zweien hintereinander stehen? Das wäre ja nun trivial. Oder willst du doch was anderes, zum Beispiel was JAck30lena vermutet hat (also die längste Kette von gleichen Elementen in irgendeiner Zeile)?
BTW: ArrayList gehört in die Mottenkiste und sollte wie alle untypisierten Collections aus System.Collections nicht mehr benutzt werden. Verwende stattdessen List<T> und alle anderen typisierten Collections aus System.Collections.Generic.
herbivore
meinst du das wirklich so, wie es da steht?
kurz und knapp es geht um das Spiel 4 Gewinnt, also direkt grade um die sieg bedingung
dann eben 2 verschachtelte for-schleifen, wo du durch jedes element gehst und in lle richtungen prüfst, ob der wert die nächsten 3 felder in der entsprechenden richtung den selben wert haben, wie das ausgangsfeld.
hierbei kannst du noch optimieren, indem du auf abstände zum feldrand prüfst.
Hallo KS-Kommando,
bei vier gewinnt, musst du ja nur immer horizontal, vertikal und diagonal ausgehend von der Position des letzten geworfenen Steins die angrenzenden Felder auf die gleiche Steinfarbe prüfen.
Nicht vollkommen trivial, aber sicher durch eigene Überlegung leicht zu lösen. Beachte dabei bitte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
Hallo,
ein zweidimensionales Array ist sicherlich besser geeignet als mehrere Listen, da man durch Inkrementieren und Dekrementieren der Indizes in der Umgebung der letzten Aktion die angrenzenden Punkte direkt analysieren kann (Seitengrenzen beachten!).
habe es inzwischen gelöst mit:
int[,] gridcoord = new int[6, 7];
welches ich dann den werten des players zuweise z.b.:
gridcoord[x, y] = player;
einziges problem, was ich vorher behoben hatte ist, dass ich die "puks" wieder irgendwohin ins grid setzen kann, aber das schaffe ich schon wieder^^
ich bedanke mich bei auch
lg KSK