Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 28-05-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
Gracias por responder Neftali

te cuento, el bucle de dibujado de rectangulos/hexagonos es asi



Código:
	

#define ICON_WIDTH 76
#define ICON_HEIGHT 76

for (int y = 0; y < 17; ++y)
	{
		for (int x = 0; x < 12; ++x)
		{


			TPoint pos = PosPt(x, y);
                        celda[x][y].rect = TRect(pos.x, pos.y, pos.x + ICON_WIDTH, pos.y + ICON_HEIGHT);
	

			if(color == 1) TABLERO->Canvas->Draw(pos.x, pos.y, hexbitmap1->Picture->Graphic);
			else if(color == 2) TABLERO->Canvas->Draw(pos.x, pos.y, Image20->Picture->Graphic);

			if(y%2 == 0) TABLERO->Canvas->Draw(pos.x, pos.y, small_hex_orange->Picture->Graphic);
                 }
       }
los if son simplemente un control para pintar diferentes graficos de hexagonos dependiendo del valor "color" que le pases a la funcion de pintado

y "celda" esta definido asi, aunque tiene otras variables que aun no uso la que nos compete es "TRect rect" que como es obvio, almacena las coordenadas del hexagono/rectangulo para luego hacer la comprobacion de PtInRect()

Código:
struct uni {
			  struct {

						TRect rect;
						bool flag;
						int icon;
						int owner;
						int energy_level;
						int faction;
						struct conv convoy[8];
			  } celda[12][17];

			 }  UNIVERSE[MAX_UNIVERSE];
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error muy raro con ntdll.dll moz_an Varios 8 05-01-2011 14:30:04
error raro 11_8_88 C++ Builder 1 03-12-2008 20:37:01
Un error raro..... Rafe Varios 3 28-07-2005 23:07:02
un error un poco raro merlin Conexión con bases de datos 2 19-07-2004 12:45:06


La franja horaria es GMT +2. Ahora son las 10:54:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi