• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak wywołać tę metodę? C++ builder 6

0 głosów
836 wizyt
pytanie zadane 4 listopada 2015 w C i C++ przez Melchior Obywatel (1,300 p.)

Jestem na tym etapie https://youtu.be/vd0zDG4vwOw?t=27m33s , i zamiast przycisku chciałbym wyzerować plansze automatycznie, ale nie wiem jak wywołać FormCreate w voidzie Sprawdz(); 

kod:

void sprawdz()
{
if((p1==p2&&p2==p3&&p1!='n')||
(p4==p5&&p5==p6&&p4!='n')||
(p7==p8&&p8==p9&&p9!='n')||
(p1==p4&&p4==p7&&p1!='n')||
(p2==p5&&p5==p8&&p2!='n')||
(p3==p6&&p6==p9&&p3!='n')||
(p1==p5&&p5==p9&&p1!='n')||
(p7==p5&&p5==p3&&p3!='n'))
    {
    char * w ;
    if(kto=='x') w="Wygrywa kółko!" ;
    else w ="Wygrywa krzyżyk!" ;

    Application->MessageBox(w,"Koniec gry",MB_OK) ;
   //''odszarzenie'' planszy 
    Form1->Image1->Enabled = true ;
    Form1->Image2->Enabled = true ;
    Form1->Image3->Enabled = true ;
    Form1->Image4->Enabled = true ;
    Form1->Image5->Enabled = true ;
    Form1->Image6->Enabled = true ;
    Form1->Image7->Enabled = true ;
    Form1->Image8->Enabled = true ;
    Form1->Image9->Enabled = true ;
    //bla wywolanie metody FormCreate
  






    }

}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    //puste
   Image1->Picture->LoadFromFile("img/nic.bmp") ;
   Image2->Picture->LoadFromFile("img/nic.bmp") ;
   Image3->Picture->LoadFromFile("img/nic.bmp") ;
   Image4->Picture->LoadFromFile("img/nic.bmp") ;
   Image5->Picture->LoadFromFile("img/nic.bmp") ;
   Image6->Picture->LoadFromFile("img/nic.bmp") ;
   Image7->Picture->LoadFromFile("img/nic.bmp") ;
   Image8->Picture->LoadFromFile("img/nic.bmp") ;
   Image9->Picture->LoadFromFile("img/nic.bmp") ;
     //tura,punkty
    //losowanie kto zaczyna ;
   srand(time(NULL)) ;
    if((rand()%2)==1)
    tura->Picture->LoadFromFile("img/osmall.bmp"),kto='o' ;
    else
    tura->Picture->LoadFromFile("img/xsmall.bmp"),kto='x' ;

    punkty_x->Picture->LoadFromFile("img/xsmall.bmp") ;
    punkty_o->Picture->LoadFromFile("img/osmall.bmp") ;

    p1 = 'n' ; p2 = 'n' ;p3 = 'n' ;
     p4 = 'n' ; p5 = 'n' ;p6 = 'n' ;
      p7 = 'n' ; p8 = 'n' ;p9 = 'n' ;

}
//---------------------------------------------------------------------------

Jakieś sugestie ? :D

2 odpowiedzi

0 głosów
odpowiedź 4 listopada 2015 przez maly Nałogowiec (37,190 p.)
Nie byłoby bardziej sensownie zrobić funkcje wyczyść() i wywoływać ją w FormCreate i gdzie tam jeszcze chcesz?
Pozatym czemu chcesz ponownie ładować załadowane wcześniej obrazki?
komentarz 4 listopada 2015 przez Melchior Obywatel (1,300 p.)

Wlasnie na to wpadlem, ale i tak dzięki za chęciyes

//aa, obrazki nie byly wczesniej zaladowane, nie wkleilem tu calego kodu :D

0 głosów
odpowiedź 4 listopada 2015 przez Melchior Obywatel (1,300 p.)

Zrobilem cos takiego i dziala, ale nie wiem czy to do konca najlepsza droga.

void wczytaj()
{
   Form1->Image1->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image2->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image3->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image4->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image5->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image6->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image7->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image8->Picture->LoadFromFile("img/nic.bmp") ;
   Form1->Image9->Picture->LoadFromFile("img/nic.bmp") ;
     //tura,punkty
    //losowanie kto zaczyna ;
   srand(time(NULL)) ;
    if((rand()%2)==1)
    Form1->tura->Picture->LoadFromFile("img/osmall.bmp"),kto='o' ;
    else
    Form1->tura->Picture->LoadFromFile("img/xsmall.bmp"),kto='x' ;

    Form1->punkty_x->Picture->LoadFromFile("img/xsmall.bmp") ;
    Form1->punkty_o->Picture->LoadFromFile("img/osmall.bmp") ;

    p1 = 'n' ; p2 = 'n' ;p3 = 'n' ;
     p4 = 'n' ; p5 = 'n' ;p6 = 'n' ;
      p7 = 'n' ; p8 = 'n' ;p9 = 'n' ;
}


void sprawdz()
{
if((p1==p2&&p2==p3&&p1!='n')||
(p4==p5&&p5==p6&&p4!='n')||
(p7==p8&&p8==p9&&p9!='n')||
(p1==p4&&p4==p7&&p1!='n')||
(p2==p5&&p5==p8&&p2!='n')||
(p3==p6&&p6==p9&&p3!='n')||
(p1==p5&&p5==p9&&p1!='n')||
(p7==p5&&p5==p3&&p3!='n'))
    {
    char * w ;
    if(kto=='x') w="Wygrywa kółko!" ;
    else w ="Wygrywa krzyżyk!" ;

    Application->MessageBox(w,"Koniec gry",MB_OK) ;
    Form1->Image1->Enabled = true ;
    Form1->Image2->Enabled = true ;
    Form1->Image3->Enabled = true ;
    Form1->Image4->Enabled = true ;
    Form1->Image5->Enabled = true ;
    Form1->Image6->Enabled = true ;
    Form1->Image7->Enabled = true ;
    Form1->Image8->Enabled = true ;
    Form1->Image9->Enabled = true ;
    wczytaj();







    }

}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    wczytaj();


}

 

Podobne pytania

0 głosów
2 odpowiedzi 465 wizyt
pytanie zadane 7 sierpnia 2017 w C i C++ przez Huberti Gaduła (4,500 p.)
0 głosów
3 odpowiedzi 600 wizyt
pytanie zadane 6 stycznia 2016 w C i C++ przez Savuelo Początkujący (310 p.)
0 głosów
1 odpowiedź 689 wizyt

93,800 zapytań

142,768 odpowiedzi

323,461 komentarzy

63,421 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...