Jak poprawnie zrealizować zamysł z gier typu "Clicker", czyli generowanie np złota co jakiś czas.

0

Witam! Piszę sobie swoją grę, jest to raczej prosty Clicker, klikamy w smoka, za każde kliknięcie zdobywamy monetkę i jak już ich trochę mamy to możemy kupić "giermka" który co jakiś czas da nam np 10 monetek. Grę, piszę w Buliderze 6, i uznałem, że bardo dobrym rozwiązaniem będzie użycie Timera. Niestety nie mam pojęcia dlaczego to rozwiązanie nie działa i liczba monet nie zwiększa mi się, gdy już "giermka" zakupię. Ktoś ma pomysł dlaczego? Dzięki za pomoc!

A oto kod:



  #include <vcl.h>  
  #pragma hdrstop  



  #include "Unit1.h" 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

int coins=0 ;
int ilosc_giermkow=0;






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

void __fastcall TForm1::Image1Click(TObject *Sender)
{
             coins++ ;
             Label1->Caption= "Coins : "+ IntToStr(coins);
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if (coins>=20)
{
ilosc_giermkow++;
 coins=coins-20;
    TGiermek->Enabled=true;
     Label1->Caption= "Coins : "+ IntToStr(coins);
}
}
//---------------------------------------------------------------------------
   void __fastcall TForm1::TGiermekTimer(TObject *Sender)
{


coins+10*ilosc_giermkow;
 Label1->Caption= "Coins : "+ IntToStr(coins);
}




0

Na c++ się nie znam ale czy nie powinieneś przypisać do nowego giermka tego zdarzenia z timerem? Giermek jest, timer jest, tylko chyba brakuje połączenia jednego z drugim.

0

coins=coins+10*ilosc_giermkow;

dodaj też jakiś messagebox do timera, żeby upewnić się, że się w ogóle odpala

0
krwq napisał(a):

coins=coins+10*ilosc_giermkow;

dodaj też jakiś messagebox do timera, żeby upewnić się, że się w ogóle odpala

Nie wierzę, że tak banalny błąd zrobiłem, dzięki !

1 użytkowników online, w tym zalogowanych: 0, gości: 1