Pong Einstellungen funktonieren nicht richtig



  • Hallo Leute

    Habe mein Pong gespielt und festgestellt, dass die das mit der Auswahl der Spielfeldgröße nicht so funktioniert wie sie sollte.

    Ich habe vier Radiobutton, mit denen ich die Spielfeldgröße einstellen kann. Wenn ich die Größe ausgewählt und übernommen habe soll der entsprechende Radiobutton markiert sein und auch markiert bleiben, wenn ich die Einstellungen noch mal aufrufe.

    Bei den ersten beiden Button 320 * 200 und 640 * 480 funktioniert das, aber bei 1024 * 768 und Maximal nicht. Außerdem habe ich den Eigenschaften der Form Einstellungen festgelegt, dass der Radiobutton 640 * 480 als Standart markiert sein soll. Das Funktioniert auch nicht. Das heißt wenn ich die Anweisungen

    if(breite == 320 && hoehe == 200)
    			{
                    radioButton320->Checked = true;
    			}
    			else if(breite == 640 && hoehe == 480)
    			{
                    radioButton640->Checked = true;
    			}
    			else if(breite == 1024 && hoehe == 768)
    			{
                    radioButton1024->Checked = true;
    			}
    			else 
    			{
                    radioButtonMaximal->Checked = true;
    			}
    

    auskommentiere und nur die Anweisungen

    Point liefereWert()
    		{
    			Point rueckgabe;
    
    			if (radioButton320 -> Checked == true)
    
    				rueckgabe = Point(320,200);
    
    			if (radioButton640 -> Checked == true)
    
    				rueckgabe = Point(640,480);
    
    			if (radioButton1024 -> Checked == true)
    
    				rueckgabe = Point(1024,760);
    
    			if (radioButtonMaximal -> Checked == true)
    
    				// bitte in einer Zeile eingeben
    
    				rueckgabe = Point(Screen::PrimaryScreen -> Bounds.Width, Screen::PrimaryScreen -> Bounds.Height);
    
    			return rueckgabe;
    		}
    

    stehen lasse, dann ist zwar der Radiobutton 640 * 480 markiert, wie es zu Anfang sein soll. doch mit dem ersten oberen Code nicht mehr. Da markiert er ständig Maximal. Wähle ich 1024 * 768 aus dann steht er ebenfalls auf Maximal. Die Auswahl funktioniert nur bei 320 * 200, 640 * 480 und Maximal.

    Was läuft da falsch und wie kann das berichtigt werden?

    Hier noch mal der Code aus dem Hauptprogramm, an dem das ganze übergeben werden soll.

    private: System::Void spielfeldToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) 
    		 {
    			 Point neueGroesse;
    
    			 // bitte jeweils in einer Zeile eingeben
    
    			 einstellungenDialog4 ^neueWerte = gcnew einstellungenDialog4(this->Width, this->Height, this->rahmenFarbe,this->malen);
    
    			 // wenn der Dialog über OK beendet wird
    
    			 if (neueWerte -> ShowDialog() == Windows::Forms::DialogResult::OK)
    			 {
    				 // die neue Größe holen
    
    				 neueGroesse = neueWerte -> liefereWert();
    				 spielfeld->BackColor = neueWerte->liefereBackColor();
    				 rahmenFarbe = neueWerte->liefereRahmenColor();
    
    				 // den Dialog wieder schließen
    
    				 neueWerte -> Close();
    
    				 // das Formular ändern
    
    				 this -> Width = neueGroesse.X;
    				 this -> Height = neueGroesse.Y;
    
    				 // neu ausrichten
    
    				 // bitte jeweils in einer Zeile eingeben
    
    				 this -> Left = (Screen::PrimaryScreen -> Bounds.Width - this -> Width) / 2;
    				 this -> Top = (Screen::PrimaryScreen -> Bounds.Height - this -> Height) / 2;
    
    				 // die Zeichenfläche neu beschaffen
    
    				 zeichenflaeche = spielfeld -> CreateGraphics();
    
    				 // das Spielfeld neu setzen
    
    				 setzeSpielfeld();
    
    				 // Spielfeld löschen
    
    				 zeichenflaeche -> Clear(spielfeld -> BackColor);
    
    				 zeichneSpielfeld();
    				 zeichnePunkte("0");
    				 zeichneZeit("0");
    
    				 // und einen neuen Ball und Schläger zeichnen
    
    				 neuerBall();
    			 }
    		 };
    

    Lieben Dank für Eure Hilfe und liebe Grüße

    champman


Log in to reply