plc/PLC_ACER.CPP
2021-09-08 21:32:30 +02:00

153 lines
3.6 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 Guilln
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());
}