Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: 4 Gewinnt Spiel??

  1. #1
    Registriert seit
    03.09.2013
    Beiträge
    93
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag an alle die diesen Beitrag lesen

    Ich bin jetzt am SCL lernen und dabei möchte ich als Projekt für die Schule
    ein 4 Gewinnt zu programmieren.
    Das 4 Gewinnt muss kein Autonomer Gegner haben sonder 1vs1. Es wird mit RGB's LED's simuliert.
    Das Problem ist das ich noch keine Ahnung habe wie es lösen sollte, aber ansonsten verstehe ich mit der SPS-Technik gut.

    Wenn ihr mir auch nur ein kleiner Tipp geben könnt, wäre es für mich sehr toll.


    Ich danke Ihnen im Vorraus


    Mit Freundlichen Grüssen


    Burak Kizilkaya
    Zitieren Zitieren 4 Gewinnt Spiel??  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.337
    Danke
    448
    Erhielt 688 Danke für 513 Beiträge

    Standard

    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.
    Geändert von RONIN (03.09.2013 um 20:00 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ein paar Anregungen bekommst du vielleicht hier: http://www.vb-paradise.de/programmie...dokumentation/

    Das Spielfeld würde ich auf jeden Fall in einem Zweidimensionalen Array unterbringen. Darin kann man dann bequem horizontal, vertikal und diagonal suchen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    Registriert seit
    03.09.2013
    Beiträge
    93
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich danke euch beiden für die Antworten.

    In beiden Antworten redet Ihr über Array, aber ich habe keine Ahnung was mit Array gemeint ist.

    Könntet Ihr mir paar Therio beibringen über Array und ein paar beispiele aufzeigen für Array

  5. Folgender Benutzer sagt Danke zu bkizilkaya für den nützlichen Beitrag:

    jack911 (03.09.2013)

Ähnliche Themen

  1. Rollen-Antrieb eines Rohres - Hexerei im Spiel ?
    Von bits'bytes im Forum Antriebstechnik
    Antworten: 33
    Letzter Beitrag: 19.12.2012, 23:34
  2. der joe spiel am template rum...
    Von Markus im Forum Stammtisch
    Antworten: 84
    Letzter Beitrag: 12.11.2009, 00:30
  3. Antworten: 23
    Letzter Beitrag: 01.07.2008, 08:53

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •