hola yuyidt....te ofrezco la solucion pero en C++ Builder si no te importa
mira.... suponiendo que tengas el Form1 donde tienes la puntuacion, y Form2 y Form3 sean los niveles
en el Form1 .......ponemos los Use Units (includes) de los 3 Units
en el Form2 .......ponemos los Use Units (includes) de Unit2 y Unit1
en el Form3 .......ponemos los Use Units (includes) de Unit3 y Unit1
de esta forma nos aseguramos que todos tienen acceso a la variable extern int puntuacion ....
Código PHP:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int puntuacion = 0; //Declaramos esta variable AQUI visibilidad total
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
puntuacion = 0;
Label1->Caption = puntuacion; //boton poner a 0 la puntuacion
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form2->ShowModal(); //mostramos el 1º nivel de juego (Form2)
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form3->ShowModal(); //mostramos otro nivel de juego (Form3 y asi ...)
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Label1->Caption = puntuacion; Label1->Refresh();
}
//---------------------------------------------------------------------------
Unit2.cpp
Código PHP:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
extern int puntuacion; // asi el programa sabra que hay una variable llamada puntuacion por ahi fuera
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
puntuacion = puntuacion + 5; // sumamos 5 puntos en la variable puntuacion
Form1->Repaint(); //en el evento OnPaint del Form1 tenemos la actualizacion del Label de puntuaciones
// asi que llamamos a Repaint() aqui para que se actualice
}
//---------------------------------------------------------------------------
Unit3.cpp
Código PHP:
#include "Unit3.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
extern int puntuacion; // asi el programa sabra que hay una variable llamada puntuacion por ahi fuera
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
puntuacion = puntuacion + 10; // sumamos 5 puntos en la variable puntuacion
Form1->Repaint(); //en el evento OnPaint del Form1 tenemos la actualizacion del Label de puntuaciones
// asi que llamamos a Repaint() aqui para que se actualice
}
//---------------------------------------------------------------------------
Capturas:
http://www.qualinost.tk/descargas/punt1.jpg
http://www.qualinost.tk/descargas/punt2.jpg
http://www.qualinost.tk/descargas/punt3.jpg
aqui tienes los sources del proyecto:
http://www.qualinost.tk/descargas/vi...puntuacion.rar