Random



  • Ein Array erstellen okay:
    int MypictureBox[16]+1;
    aber aber wie ordne ich das jetzt den pictureBox´n einzeln zu?



  • Das Array muss natürlich den Typ der PictureBox haben (weiß nicht, welcher Typ das in C++/CLI genau ist) bzw. Zeiger oder Referenzen darauf.



  • _matze schrieb:

    Das Array muss natürlich den Typ der PictureBox haben (weiß nicht, welcher Typ das in C++/CLI genau ist) bzw. Zeiger oder Referenzen darauf.

    hmm soviel ahnung hab ich davon nun leider net...hmmm problem



  • Die entsprechende Klass heisst PictureBox.
    http://msdn.microsoft.com/de-de/library/system.windows.forms.picturebox.aspx

    array<PictureBox^>^ myPictureBoxes = gcnew array<PictureBox^>(3);
    myPictureBoxes[0] = pictureBox1;
    myPictureBoxes[1] = pictureBox2;
    myPictureBoxes[2] = pictureBox3;
    

    Dann via Random den Index generieren...



  • theta schrieb:

    Die entsprechende Klass heisst PictureBox.
    http://msdn.microsoft.com/de-de/library/system.windows.forms.picturebox.aspx

    array<PictureBox^>^ myPictureBoxes = gcnew array<PictureBox^>(3);
    myPictureBoxes[0] = pictureBox1;
    myPictureBoxes[1] = pictureBox2;
    myPictureBoxes[2] = pictureBox3;
    

    Dann via Random den Index generieren...

    boah! Keine Fehlermeldung. Danke!!! 👍 👍 👍 👍



  • theta schrieb:

    Dann via Random den Index generieren...

    jez weiß ich nur noch nicht wie das funktioniert

    int i1;
    System::Random randgen;
    i1=randgen.Next(6)+1;
    this.label->Texti1.ToString();
    so kann ich eine zufällige Zahl von 1-6 als Text ausgegeben, aber wie ich das Array jez mit random verknüpfe...hmm...das ist mir jez leider auch noch nicht klar



  • So wie in thetas Beispiel bei der Zuweisung ein Array-Index benutzt wurde ("myPictureBoxes[0] = pictureBox1;"), musst du nun deinen Random-Wert als Index benutzen. Der Bereich des Arrays beginnt aber bei 0, daher wäre 0-5 die korrekte Range für deinen Zufallswert.



  • _matze schrieb:

    So wie in thetas Beispiel bei der Zuweisung ein Array-Index benutzt wurde ("myPictureBoxes[0] = pictureBox1;"), musst du nun deinen Random-Wert als Index benutzen. Der Bereich des Arrays beginnt aber bei 0, daher wäre 0-5 die korrekte Range für deinen Zufallswert.

    wie muss ich das denn schreiben?
    wenn ich es einmal gesehen hab, dann verstehe ich es besser



  • int i1;

    i1=randgen.Next(15);
    switch(i1)
    {
    case 1:;

    this->pictureBox17->Visible=false;
    case 2:;
    this->pictureBox18->Visible=false;
    case 3:;

    this->pictureBox19->Visible=false;
    case 4:;
    this->pictureBox20->Visible=false;
    case 5:;
    this->pictureBox21->Visible=false;
    case 6:;
    this->pictureBox22->Visible=false;
    case 7:;
    this->pictureBox23->Visible=false;
    case 8:;
    this->pictureBox24->Visible=false;
    case 9:;
    this->pictureBox25->Visible=false;
    case 10:;
    this->pictureBox26->Visible=false;
    case 11:;
    this->pictureBox27->Visible=false;
    case 12:;
    this->pictureBox28->Visible=false;
    case 13:;
    this->pictureBox29->Visible=false;
    case 14:;
    this->pictureBox30->Visible=false;
    case 15:;
    this->pictureBox31->Visible=false;
    case 16:;
    this->pictureBox32->Visible=false;
    }
    Damit hab ich es erstmal allein hinbekommen, aber leider wechseln mehrere bilde rund net nur eins 😕



  • Bei einem case-Zweig musst du auch ein break notieren, wenn du nicht willst, dass im Anschluss in den nächsten Zweig gehüpft wird...

    Beispiel:

    myPictureBoxes[i1]->Visible=false;
    

    So in etwa...



  • _matze schrieb:

    Bei einem case-Zweig musst du auch ein break notieren, wenn du nicht willst, dass im Anschluss in den nächsten Zweig gehüpft wird...

    Beispiel:

    myPictureBoxes[i1]->Visible=false;
    

    So in etwa...

    Ja stimmt...vergessen^^

    Okay dann vielen Dank an alle!!!


Anmelden zum Antworten