Ver Mensaje Individual
  #5  
Antiguo 23-11-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Reputación: 0
Snaked Va por buen camino
Opcion para puntuaciones con diferentes forms

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(TComponentOwner)
    : 
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 =  puntuacionLabel1->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(TComponentOwner)
    : 
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(TComponentOwner)
    : 
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

Última edición por Snaked fecha: 23-11-2016 a las 20:58:05.
Responder Con Cita