Windows Forms Spiel



  • Hallo liebe Community,

    Ich habe im 2. Semester Info2-OOP bekommen und soll nun ein kleines Spiel mit grafischer Oberfläche, mit Windows Forms programmieren.

    Also in diesem Fall kann ich leider nicht auf C# umsteigen, da im Kurs C++ verlangt wird. Danach dann. 🙂

    Doch zu meinem Problem:
    Ich bekomme eine header Datei geöffnet: Form1.h und eine Projektaufgabe.cpp

    Wie greife ich von "main" aus, auf die Ereignisse bzw. buttons der Form1.h zu?

    Bsp:
    Ich möchte einen Zug beenden button, der den Zug von Spieler 1 beendet...
    Wie binde ich das in main ein?

    Danke euch.



  • ...



  • Naja, es ist eigentlich schon klar was er meint. Nur scheint er leider nur sehr wenig Ahnung zu haben, von dem her wirds schwer, hier irgendwas auf die Schnelle zu erklären.
    Da du C++ und WinForms verwenden musst, spar ich mir mal den üblichen Kommentar, dass C++/Cli für sowas (und für fast alles) eine schlechte Idee ist.
    GUI Programmierung läuft über Events ab. Vergiss die main. Im Designer kannst du grafisch (oder wenn du unbedingt willst auch im Code) Events von den Controlls mit Event Handler verknüpfen. Diese Event Handler musst du implementieren und da deine Logik abbilden.



  • Cool, vielen Dank für die Antwort.

    Also noch aus dem Konsolen-Denken her würde ich ein Spiel mit einer Schleife realisieren, die die Züge immer wiederholt, bis einer gewonnen hat. Jetzt frage ich mich wie ich das hier realisieren soll?

    Also wo soll ich definieren Spieler1 zieht 1-3 Hölzer; Zug beenden; Spieler2 zieht 1-3 Hölzer; Zug beenden;.....

    Zum allgemeinen Aufbau:
    Die Form besteht aus x buttons für die Hölzer, Ereignis für einen Klick ist: Der button verschwindet und die Eigenschaft: 'Hoelzer' wird um 1 verringert.

    Nun dachte ich in Richtung zwei Methoden schreiben für Spieler1 und Spieler2, doch so richtig weiß ich nicht was ich machen soll. 😕



  • ...



  • Du hast immer einen gewissen Zustand... Wenn du auf einen Button klickst, wird der Zustand verändert und dann prüfst du, ob jemand gewonnen hat. Davor musst du evtl. noch prüfen, ob die Aktion grad gültig ist.



  • Vielen Dank für die Motivationen.
    Habe alles im Kasten, auch eine CPU mit etwas Strategie. 🙂

    Alles was jetzt noch fehlt ist eine Statistik gegen den Computer.
    Ich denke, das läuft ähnlich wie bei der Konsole, in eine Textdatei schreiben und dann wieder herauslesen?!


Anmelden zum Antworten