Variable qui s'initialise à 0 toute seule
Salut Salut!
Voilà, je dev un petit programme pour m'amuser.
J'utilise c++ builder, et voici le code:
.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int ArgentJ1=2000, ArgentJ2=2000, VieJ1=20, VieJ2=20;
bool PouvoirNuc; //Variable Pouvoir Nucléaire
//Dimensions
Form1->Height=276;
Form1->Width=705;
Form1->Top=260;
Form1->Left=315;
Image4->Visible=false; //Je cache l'icone nucléaire de J1 en début de partie
Image5->Visible=false; //Je cache l'icone nucléaire de J2 en début de partie
Timer1->Enabled=true; //J'allume l'objet Timer
Timer1->Interval=400; //J'initialise le temps de répétition à 0.4 seconde
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
//Toutes les fonctions se trouvant ici seront répétées en fonction de l'interval du Timer1
Label1->Caption=AnsiString(ArgentJ1)+" $"; //Affichage de l'argent du joueur 1
Label2->Caption=AnsiString(ArgentJ2)+" $"; //Affichage de l'argent du joueur 2
ArgentJ1=ArgentJ1+1; //J'incrémente l'argent de J1 de 1$
ArgentJ2=ArgentJ2+1; //J'incrémente l'argent de J2 de 1$
if(ArgentJ1<=10000) //Si J1 à assez d'argent, j'active son pouvoir Nuc
{
Image4->Visible=true; //L'image de l'icone nucléaire devient visible
}
else
{
Image4->Visible=false;
}
if(ArgentJ2<=10000) //Si J2 à assez d'argent, j'active son pouvoir Nuc
{
Image5->Visible=true; //L'image de l'icone nucléaire devient visible
}
else
{
Image5->Visible=false;
}
}
//--------------------------------------------------------------------------- |
.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| //---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TImage *Image2;
TImage *Image3;
TTimer *Timer1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TImage *Image4;
TImage *Image5;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
private: // User declarations
public: // User declarations
int ArgentJ1;
int ArgentJ2;
int VieJ1;
int VieJ2;
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif |
J'utilise le Timer pour répéter l'action qui consiste à gagner 1$ toutes les 0.4 seconde.
Le problème c'est que j'initialise la valeur de l'argent à 2000$, mais lorsque j’exécute le programme elle reste 0.4 seconde sur 2000$,
s'initialise à 0 puis ensuite ca repart (0$,1$,2$...)
Moi, j'aimerai que ça parte directement de 2000$... Comment faire SVP :) Merci d'avance aux courageux !