153 lines
3.6 KiB
C++
153 lines
3.6 KiB
C++
#include <stdio.h>
|
||
|
||
#include <dos.h>
|
||
#include <string.h>
|
||
#include <alloc.h>
|
||
#include <conio.h>
|
||
#include <stdlib.h>
|
||
#include <graphics.h>
|
||
|
||
|
||
#include "..\..\..\jd_lib\f_lib\make_bot.h" // Fuciones de MAKE_BOTON
|
||
//extern int Fichero_bot(char Dinamicos_Estaticos);
|
||
|
||
void Acerca_de( void );
|
||
void Circulos3(int PosX, int PosY, int RadioX, int RadioY, int Velocidad);
|
||
|
||
void Acerca_de( void )
|
||
{
|
||
|
||
void *Imagen;
|
||
|
||
while(kbhit()) getch();
|
||
setfillstyle(SOLID_FILL, 0);
|
||
bar( 9, 372, 542, 471);
|
||
|
||
if ( (Imagen = malloc( JD_imagesize(200, 212, 440, 267) ) ) == NULL ) {
|
||
Espera_Tecla_o_Raton();
|
||
Anclar_Raton();
|
||
return;
|
||
} else {
|
||
getimage( 200, 212, 440, 267, Imagen );
|
||
Imprime_Estaticos( 300, "PLC.DAT");
|
||
// Fichero_bot(300);
|
||
|
||
|
||
Circulos3( 269 + 6, 52 + 369, /*48*/80, 48, 5);
|
||
|
||
putimage( 200, 212, Imagen, COPY_PUT);
|
||
free(Imagen);
|
||
|
||
setfillstyle(SOLID_FILL, 0);
|
||
bar( 9, 372, 542, 471);
|
||
|
||
while(kbhit()) getch();
|
||
|
||
return;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
void Circulos3(int PosX, int PosY, int RadioX, int RadioY, int Velocidad){
|
||
|
||
// Circulo con apariencia de 3D, por: Jos‚ David Guill‚n
|
||
|
||
int x=RadioX,
|
||
y=0,
|
||
oldx=RadioX, oldx2 = RadioX, oldx3 = RadioX,
|
||
oldy=RadioY, oldy2 = RadioY, oldy3 = RadioY,
|
||
// giroX = 0,
|
||
// vezX = 0,
|
||
cicloX = 1,
|
||
// giroY = 0,
|
||
// vezY = 0,
|
||
cicloY = 1,
|
||
Angulo = 0;
|
||
char c=8;
|
||
|
||
|
||
do{
|
||
setcolor(0);
|
||
ellipse(PosX, PosY, 0+ Angulo, 360+ Angulo, abs(oldx), RadioY );
|
||
ellipse(PosX, PosY, 0/*+*/- Angulo, 360/*+*/- Angulo, RadioX, abs(oldy) );
|
||
|
||
|
||
/*if(giroX==1)*//*{*/ setcolor(c/*56*/);// else setcolor(c+1/*63*/);
|
||
/// ellipse(PosX, PosY, 90+ Angulo, 270+ Angulo, abs(x), /*abs(y)*/50 );
|
||
ellipse(PosX, PosY, 0+ Angulo, 90+ Angulo, abs(x), RadioY );
|
||
ellipse(PosX, PosY, 180+ Angulo, 270+ Angulo, abs(x), RadioY );
|
||
/*if(giroY==1)*/ setcolor(c/*56*/);// else setcolor(c+1/*63*/);
|
||
/// ellipse(PosX, PosY, 0+ Angulo, 180+ Angulo, /*abs(y)*/50, abs(x) );
|
||
ellipse(PosX, PosY, 90/*+*/- Angulo, 180/*+*/- Angulo, RadioX, abs(y));
|
||
ellipse(PosX, PosY, 270/*+*/- Angulo, 360/*+*/- Angulo, RadioX, abs(y) );
|
||
|
||
|
||
/*if(giroX==1) */ setcolor(c+1/*63*/); // else setcolor(c/*56*/);
|
||
/// ellipse(PosX, PosY, 270+ Angulo, 90+ Angulo, abs(x), /*abs(y)*/50 );
|
||
ellipse(PosX, PosY, 90+ Angulo, 180+ Angulo, abs(x), RadioY );
|
||
ellipse(PosX, PosY, 270+ Angulo, 360+ Angulo, abs(x), RadioY );
|
||
|
||
/*if(giroY==1) */setcolor(c+1/*63*/);// else setcolor(c/*56*/);
|
||
/// ellipse(PosX, PosY, 180+ Angulo, 360+ Angulo, /*abs(y)*/50, abs(x) );
|
||
ellipse(PosX, PosY, 0/*+*/- Angulo, 90/*+*/- Angulo, RadioX, abs(y) );
|
||
ellipse(PosX, PosY, 180/*+*/- Angulo, 270/*+*/- Angulo, RadioX, abs(y) );
|
||
|
||
oldx = oldx2;
|
||
oldx2 = oldx3;
|
||
oldx3 = x;
|
||
|
||
oldy = oldy2;
|
||
oldy2 = oldy3;
|
||
oldy3 = y;
|
||
|
||
x--;
|
||
if(x<=-(RadioX-1) ) x=RadioX;
|
||
y--;
|
||
if(y<=-(RadioY-1) ) y=RadioY;
|
||
|
||
if(cicloX == 0 && x == RadioX ) { cicloX = 1; //vezX = 0;
|
||
c++; if (c==14) c=9;
|
||
} else
|
||
if(cicloX == 1 && x == RadioX ) { cicloX = 0;// vezX = 1;
|
||
}
|
||
|
||
|
||
//if(vezX==0){
|
||
// if(x<0) giroX=1; else giroX=0;
|
||
//}
|
||
//if(vezX==1){
|
||
// if(x<0) giroX=0; else giroX=1;
|
||
//}
|
||
|
||
if(cicloY == 0 && y == RadioY ) { cicloY = 1; //vezY = 0; // c++; if (c==14) c=1;
|
||
} else
|
||
if(cicloY == 1 && y == RadioY ) { cicloY = 0; //vezY = 1;
|
||
}
|
||
|
||
/*
|
||
if(vezY==0){
|
||
if(y<0) giroY=1; else giroY=0;
|
||
}
|
||
if(vezY==1){
|
||
if(y<0) giroY=0; else giroY=1;
|
||
}
|
||
*/
|
||
|
||
|
||
|
||
// delay(20);
|
||
Angulo++;
|
||
Angulo+= Velocidad; if( Angulo== (360 + 180) ) Angulo=0;
|
||
|
||
////////////////////////////////////////////////////////
|
||
////////////////////////////////////////////////////////
|
||
//giroX = 1;
|
||
//giroY = 1;
|
||
////////////////////////////////////////////////////////
|
||
////////////////////////////////////////////////////////
|
||
|
||
}while(!kbhit());
|
||
|
||
}
|