char* leer(int x,int y,char* cadena,int limite) { unsigned char tecla; int nx=x,i=0; do { caracter(nx,y,CURSOR); tecla=getch(); if(tecla==BACKSPACE) { if(nx>x) { caracter(nx,y,'#'); nx-=8; caracter(nx,y,'#'); i--; cadena[i]=0; } } else { if(i<limite) //Control del limite { caracter(nx,y,tecla); nx+=8; cadena[i]=tecla; i++; } } }while(tecla!=EENTER); strcat(cadena,"\0"); return cadena; }
int main () { int count = caracter(); printf("\nIngresaste %d caracteres\n", count); return 0; }
void imprimir(int x,int y,unsigned char* cadena) { int i,l,nx; nx=x; l=strlen(cadena); for(i=0;i<l;i++) if(cadena[i]=='\n') { nx=x; y=y+12; } else { caracter(nx,y,cadena[i]); nx+=8; } }
int mostrarTablero(int matriz[9][9],int cursorVertical,int cursorHorizontal, int validar) { int i,j; char pantalla[25][80]; char tablero[19][37]; char mensaje[19][30]; inicializarPantalla(pantalla); for(i=0;i<19;i++) { for(j=0;j<37;j++) { tablero[i][j]= iniciarTablero(i,j); } } strcpy(mensaje[0 ],"Bienvenido a Sudokux"); strcpy(mensaje[1 ],""); strcpy(mensaje[2 ],"Teclas de juego:"); strcpy(mensaje[3 ],""); strcpy(mensaje[4 ]," W -> Arriba"); strcpy(mensaje[5 ]," S -> Abajo"); strcpy(mensaje[6 ]," A -> Izquierda"); strcpy(mensaje[7 ]," D -> Derecha"); strcpy(mensaje[8 ]," 0 -> Borrar"); strcpy(mensaje[9 ]," C -> Salir"); strcpy(mensaje[10]," K -> Resetear tablero"); strcpy(mensaje[11],""); strcpy(mensaje[12],""); strcpy(mensaje[13],""); if(validar) { strcpy(mensaje[12],"EL NUMERO ESTA REPETIDO!!!!"); strcpy(mensaje[13]," INTENTE OTRO NUMERO"); } for(i=0; i<9;i++) { for(j=0;j<9;j++) { tablero[numeroCoordenadaVertical(i)][numeroCoordenadaHorizontal(j)] = caracter(matriz[i][j]); } } tablero[numeroCoordenadaVertical(cursorVertical)][numeroCoordenadaHorizontal(cursorHorizontal)-1] = '*'; tablero[numeroCoordenadaVertical(cursorVertical)][numeroCoordenadaHorizontal(cursorHorizontal)+1] = '*'; for(i=0;i<19;i++) { for(j=0;j<37;j++) { pantalla[i][j] = tablero[i][j]; } } for(i=0;i<14; i++) { for(j=0;j<30;j++) { if(mensaje[i][j] != '\0') { pantalla[i+1][j+40] = mensaje[i][j]; } else { break; } } } imprimirPantalla(pantalla); return 0; }