Que tal amig@s nuevamente les traigo un código CPP para recordar viejos tiempos, se trata de un proyecto escolar el cual consistia en crear una imagen en el centro de la pantalla y que dicha imagen pudiera crecer y decrecer al pulsar determinadas teclas sin que la imagen se distorcione, asi como tambien poder moverse el las direcciones izquierda, derecha, arriba y abajo utilizando las teclas de direccionamiento.
Un proyecto donde aprendi que cuando se realiza un buen analisis para solucionar un problema, la programacion resulta más facil.
![]() |
| Resultado de ejecutar el codigo CPP. |
Aqui les dejo un segmento del archivo de codigo fuente, el archovo fuente completo lo podran descargar aqui triangulos.cpp.
#include "conio.h"
#include "stdio.h"
#include "graphics.h"
#include "math.h"
#include "dos.h"
#include "stdlib.h"
void graficos(void);
void menu(void);
void rombos(int x,int y,int inc);
void ayuda(void);
void tecla(char *asci,char *exa);
void main(void){
char asci,exa,hay;
int x,y,inc;
graficos();
menu();
x=getmaxx()/2-50;
y=getmaxy()/2+50;
inc=0;
rombos(x,y,0);
tecla(&asci,&exa);
while(exa!=68){
switch (exa){
//escalaminento decreciente F3
case 61:if(inc>-14){
setfillstyle(1,3);
bar(getmaxx()-96,310,getmaxx()-6,350);//F3
outtextxy(getmaxx()-94,320," F3 ESCALA");
outtextxy(getmaxx()-94,330,"DECRECIENTE");
delay(250);
cleardevice();
menu();
inc=inc-14;
rombos(x,y,inc);
}
break;//F3
//escalamiento creciente F2
case 60:setfillstyle(1,3);
bar(getmaxx()-96,265,getmaxx()-6,305);//F2
outtextxy(getmaxx()-93,275," F2 ESCALA");
outtextxy(getmaxx()-93,285," CRECIENTE");
delay(250);
cleardevice();
menu();
inc=inc+14;
rombos(x,y,inc);
break;//F2
//mover a la izquierda <- data-blogger-escaped--="" data-blogger-escaped-75:setfillstyle="" data-blogger-escaped-a="" data-blogger-escaped-bar="" data-blogger-escaped-break="" data-blogger-escaped-case="" data-blogger-escaped-cleardevice="" data-blogger-escaped-delay="" data-blogger-escaped-derecha="" data-blogger-escaped-getmaxx="" data-blogger-escaped-inc="" data-blogger-escaped-la="" data-blogger-escaped-menu="" data-blogger-escaped-mover="" data-blogger-escaped-outtextxy="" data-blogger-escaped-rombos="" data-blogger-escaped-x="" data-blogger-escaped-y="">
case 77:setfillstyle(1,3);
bar(getmaxx()-96,40,getmaxx()-6,80);//->
outtextxy(getmaxx()-90,50,"MOVER A LA");
outtextxy(getmaxx()-90,60," DERECHA");
delay(250);
cleardevice();
menu();
x=x+14;
rombos(x,y,inc);
break;
//mover hacia arriba ^
case 72:setfillstyle(1,3);
bar(getmaxx()-96,130,getmaxx()-6,170);//up
outtextxy(getmaxx()-94,140,"MOVER HACIA");
outtextxy(getmaxx()-94,150," ARRIBA");
delay(250);
cleardevice();
menu();
y=y-14;
rombos(x,y,inc);
break;
//mover hacia abajo v
case 80:setfillstyle(1,3);
bar(getmaxx()-96,175,getmaxx()-6,215);//down
outtextxy(getmaxx()-94,185,"MOVER HACIA");
outtextxy(getmaxx()-94,195," ABAJO");
delay(250);
cleardevice();
menu();
y=y+14;
rombos(x,y,inc);
break;
case 59:setfillstyle(1,3);
bar(getmaxx()-96,220,getmaxx()-6,260);//F1
outtextxy(getmaxx()-90,240," AYUDA F1");
delay(350);
cleardevice();
ayuda();
break;//F1
}/
tecla(&asci,&exa);
}
}
void rombos(int x, int y,int inc){
setcolor(4);
line(x,y,x-10-inc/2,y-20-inc);
line(x-10-inc/2,y-20-inc,x,y-40-inc*2);
line(x,y-40-inc*2,x+10+inc/2,y-20-inc);
line(x+10+inc/2,y-20-inc,x,y);
line(x,y,x-20-inc,y);
line(x-20-inc,y,x-30-inc-inc/2,y+20+inc);
line(x-30-inc-inc/2,y+20+inc,x-10-inc+inc/2,y+20+inc);
line(x-10-inc+inc/2,y+20+inc,x,y);
line(x,y,x+20+inc,y);
line(x+20+inc,y,x+30+inc+inc/2,y+20+inc);
line(x+30+inc+inc/2,y+20+inc,x+10+inc-inc/2,y+20+inc);
line(x+10+inc-inc/2,y+20+inc,x,y);
setfillstyle(1,4);
floodfill(x,y-4,4);//arriba
floodfill(x-4,y+4,4);//izq
floodfill(x+4,y+4,4);//der
setfillstyle(1,15);
setcolor(15);
}
...
Segmento del archivo de codigo fuente .CPP

No hay comentarios:
Publicar un comentario
Deja tu Comentario