Puh... ziehmlich coole Idee und sicher nicht einfach.
Mal abgesehen von der Steuerung wo ein Stein landet wenn man ich in eine Spalte wirft (finde den ersten freien Platz über dem ersten belegten Platz) wird wohl die Analyse wann wer gewonnen hat das schwierigste. Ich versuch mal nieder zu schreiben was mir auf die schnelle mal so einfällt.
Das wichtigste wird zunächst eine vernünftige Datenstruktur sein mit der du das Spielraster darstellst. Ich hab kurz überlegt ob man irgendwie
binär arbeiten könnten um später eventuell einfacherer Vergleiche anstellen zu können aber mir ist eigentlich nur ein 7x6 Array aus Integern eingefallen in dem du dann von mir aus 1 oder 2 für den Stein des jeweiligen Spielers schreibst.
Das Auswerten könntest du mit Schleifen machen die die Spalten/Zeilen mit indirekter Adressierung ansprechen.
Zuerst eine Schleife für die senkrechten: Eine Prüfung in der du die einzelnen Felder einer Spalte für Spieler 1 prüfst. Also irgendwie so:
Beginn Array an der Stelle [1/1] -> wenn 1 dann Zähler hoch-zählen
nächster Schleifendurchlauf an Stelle [1/2] dann [1/3] usw. Wenn der Zähler 4 erreicht hat ein Spieler 1 gewonnen.
Darüber könntest du dann eine Schleife legen die alle Spalten abarbeitet.
Soviel zu den senkrechten, für die waagrechten gilt eigentlich dass selbe, nur dass du dich von [1/1] nach [2/1] usw. vorarbeitest und die darüber liegende Schleife die Zeilen wechselt ([2/1] - [2/2] - usw.]
Die schrägen sind komplizierter, funktionieren aber nach dem selben Prinzip. Du brauchst hier wieder 2 Schleifen für die beiden Arten wie die schrägen Reihen liegen können. Anders ist jedoch dass du in jedem Durchlauf sowohl x als auch y ändern musst. Müsste dann:
[4/1] - [3/2] - [2/1] - [1/4] (1.Durchlauf)
[5/1] - [4/2] - [3/3] - [2/4] - [5-1] (2.Durchlauf) usw...
prüfen.
Lässt sich eigentlich ganz einfach als for-Schleife schreiben.
Das selbe dann adäquat angepasst für die andere Orientierung der schrägen Reihen.
Und das ganze noch für beide Spieler, wobei hier könnte noch eine allumfassende Schleife die deinen Vergleichswert austauscht reinpassen.
Ganz schön kompliziert und blutig, aber heut ist bei mir offizieller "Wie viele Schleifen passen in einen Codevorschlag"-Tag
Das war jetzt nur schnell ausgedacht, vielleicht hat wer noch besserer Ideen. Und die gibt es bestimmt.
