[CLI] Hilfe bei Programmierung von Pong-Spiel

  • C++

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    [CLI] Hilfe bei Programmierung von Pong-Spiel

    Ich soll ein Pong Spiel programmieren und habe dabei das folgende Problem:

    Ich habe ein neues Formular zu den Spiel hinzugefügt das die Größe des Spielfelds bestimmt. Diese werden über RadioButton in einer GroupBox eingestellt und über ein Button (Übernehmen) mit der Eigenschaft DialogResult-OK übertragen. Mein Problem dabei ist das bei Setzen der Größe für das Spielfeld immer die Einstellung 640*480 Punkte markiert ist. Ich soll das ändern so, dass in dem Formular für die Größenänderung
    des Spielfeldes die jeweils aktuell gesetzte Einstellung korrekt markiert ist.


    Hier ist die Methode vom Formular für die Einstellung die an das Pong Spiel übergeben wird:

    C++/CLI

    C-Quellcode

    1. Point liefereWert()
    2. {
    3. Point rückgabe;
    4. if (radioButton320->Checked == true)
    5. rückgabe = Point(320,200);
    6. if (radioButton640->Checked == true)
    7. rückgabe = Point(640,480);
    8. if (radioButton1024->Checked == true)
    9. rückgabe = Point(1024,768);
    10. if (radioButtonMaximal->Checked == true)
    11. rückgabe = Point(Screen::PrimaryScreen->Bounds.Width, Screen::PrimaryScreen->Bounds.Height);
    12. return rückgabe;
    13. }



    Hier ist die Methode bzw. das Ereignis vom Pong Spiel in der die Methode liefereWert zurückgegeben wird:
    C++/CLI

    C-Quellcode

    1. private: System::Void spielfeldToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
    2. {
    3. Point neueGröße;
    4. einstellungenDialog ^neueWerte = gcnew einstellungenDialog();
    5. if (neueWerte->ShowDialog() == ::DialogResult::OK)
    6. {
    7. neueGröße = neueWerte->liefereWert();
    8. neueWerte->Close();
    9. this->Width = neueGröße.X;
    10. this->Height = neueGröße.Y;
    11. this->Left = (Screen::PrimaryScreen->Bounds.Width - this->Width) / 2;
    12. this->Top = (Screen::PrimaryScreen->Bounds.Height - this->Height) / 2;
    13. zeichenfläche=spielfeld->CreateGraphics();
    14. setzeSpielfeld();
    15. zeichenfläche->Clear(spielfeld->BackColor);
    16. neuerBall();
    17. }
    18. }



    Ich habe schon versucht Informationen vom Pong Spiel zu den Einstellungen zu schicken dies hat aber leider nicht funktioniert.


    Wie kann ich die Anzeige der Einstellungen sichern?

    Edit by nikeee13:
    C-Codetags eingefügt, Post ordentlicher gemacht, Threadtitel+Präfix angepasst und Thread verschoben.
    In Zukunft bitte folgendes beachten: Bitte VB Tags benutzen - was ist damit gemeint?!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „nikeee13“ ()

    Kleiner Tipp für die Zukunft: C++/CLI sollte man nur für InterOp Zwecke nutzen(.NET <=> Native).

    Zu deiner Frage: Erstell eine Datei und speicher die Einstellungen darin? Oder nimm eine Lib aus dem Showroom. gibt dort einige Settings Libs/INI Libs, da du C++/CLI nutzt kannst du die Libraries ohne Probleme verwenden.
    Muss Pinki recht geben. Es gibt nicht wirklich einen Grund um C++/CLI zu verwenden außer für Dinge wie z.B. ComImporte usw.
    Wenn dann C# oder VB.NET (würde c# bevorzugen).

    @buschmanR My.* kannste sowohl in VB als auch sonst überal vergessen. Sollte nicht verwendet werden.


    Je nach dem wie komplex die Einstellungen sind, würde ich sie einfach in eine Textdatei schreiben oder als xml serialisieren.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.