• Domingo 15 de Diciembre de 2024, 02:57

Autor Tema:  Ayuda Para Desplazar Texto  (Leído 866 veces)

hanamichi

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Ayuda Para Desplazar Texto
« en: Sábado 7 de Julio de 2007, 02:15 »
0
necesito ayuda con mi codigo para q tenga un efecto de marquesina , el programa solo mueve el texto pero al llegar a las esquinas se salta de linea y nose como arreglarlo.

*********************************
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
#include <bios.h>

#define ESC 0x11b

int opcion,indice,espacio1,largo;
char arreglo[5][80];
int letra[5][5][5]=
{{{0,1,1,1,0},{1,0,0,0,1},{1,1,1,1,1},{1,0,0,0,1},{1,0,0,0,1}}, //A
{{1,0,0,0,1},{1,0,0,0,1},{1,1,1,1,1},{1,0,0,0,1},{1,0,0,0,1}}, //H
{{1,0,0,0,0},{1,0,0,0,0},{1,0,0,0,0},{1,0,0,0,0},{1,1,1,1,1}}, //L
{{1,1,1,1,1},{1,0,0,0,1},{1,0,0,0,1},{1,0,0,0,1},{1,1,1,1,1}}}; //O

char abc[5]={'a','h','l','o'};

// FUNCIONES
void tam1(int esp, int ind);
void busca(char frase1[]);
void markesina( char frase[5][80]);
//******************************

int main()

{
char frase[5]={'h','o','l','a'};
textcolor(GREEN);
largo=strlen(frase);
busca(frase);
markesina(arreglo);
return 0;
}

void busca(char frase1[])
{

espacio1=0;

int conta1=0,conta2=0;
for(conta1=0;conta1<=largo ;conta1++)
{ espacio1=espacio1+6;
for( conta2=0;conta2 < 5;conta2++)
{
if (frase1[conta1] == abc[conta2])
{ indice=conta2;
tam1(espacio1,indice); }
}
}
}


void tam1(int esp,int ind) // aka lo guardo en un arreglo
{
int fil,col,i,j;

for ( fil=0, i=5; i <=9; i++,fil++ )
{
for ( col=0,j=5; j <=9; j++,col++ )
{

if (letra[ind][fil][col] == 0)
{ arreglo[fil][col+esp-6]=' '; }
else
{ arreglo[fil][col+esp-6]='*'; }
}
}
}

void markesina( char frase[5][80])
{
int xz=0,dr=0;
int a=79;
int tecla=0;
clrscr();
do
{ if(kbhit())
{ tecla=bioskey(0);

}
for (xz=0;xz<=4;xz++)
{
for (dr=0;dr<=79;dr++)
{
gotoxy(a+dr,xz+5); cprintf("%c", frase[xz][dr]);
}
}
delay(150);
a--;
if(a==1) {a=79; clrscr();}

}
while(tecla != ESC);
}