Hmmm noch ein paar feinheiten im Code



  • Hey könnt ihr mir noch helfen hier einzubauen das,

    - nach 60 sek schluss ist
    - es auch ein punkt abgezogen wird wenn überhaupt nicht geklickt wurde, sprich nach jeder sek. wenn nicht geklickt wurde.

    hier der code:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Buttoncatch.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    int x=0;
    int y=0;
    int Punkte=0;
    int Zeit=60;
    bool click=false;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      if (click == false)
       {
         click = true;
         Punkte = Punkte+1;
         Label2 -> Caption =IntToStr (Punkte);
       }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
       Button1 -> Height = 85;
       Button1 -> Width  = 85;
       Label4 -> Caption = IntToStr (Zeit);
       Timer1 -> Enabled = false;
       Punkte = 0;
       Label2 -> Caption =IntToStr (Punkte);
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
       Timer1 -> Enabled = true;
       Punkte = 0;
       Label2 -> Caption =IntToStr (Punkte);
       Zeit = 60;
       Label4 -> Caption = IntToStr (Zeit);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
       click = false;
       x = random (620);
       y = random (450);
       Button1 -> Left = x ;
       Button1 -> Top  = y ;
       Button1 -> Height --;
       Button1 -> Width --;
       Label4 -> Caption = IntToStr (Zeit --);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormClick(TObject *Sender)
    {
       Punkte = Punkte-1;
       Label2 -> Caption =IntToStr (Punkte);
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Label4Click(TObject *Sender)
    {
       Label4 -> Caption = IntToStr (Zeit);
    }
    //---------------------------------------------------------------------------
    

    der timer ist auf 1000 also 1s

    danke Galeoness

    p.s. das programm soll folgende aufgabe erfüllen:
    Ein Button ändert seine Position auf dem Formular jede sekunde zufällig (Objekt Timer).
    Mit der Maus soll man den Button erwischen und anklicken.
    Daraufhin wird ein Punktezähler inkrementiert und auf einer Komponente angezeigt, wenn daneben geklickt wird(also ins Formular) dann wird ein Punkt abgezogen.Ebenso, wenn die Zeit für den Button abgelaufen ist.
    Mehrfach-Click auf den Button ist zu unterbinden!


Anmelden zum Antworten