Gente tengo que modificar mi cuaro para que sea perfecto....alguien me puede ayudar...el codigo que tengo es:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MARGENX 10
#define MARGENY 2
#define ESPACIADO 3
#define BASE 36
#define ALTURA 23
void bloquearCasilla (int X, int Y) {
int i, h;
for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (
i > ((X * ESPACIADO + MARGENX) - ESPACIADO) &&
i < ((X * ESPACIADO + MARGENX)) &&
(MARGENY + h) > ((Y * ESPACIADO + MARGENY) - ESPACIADO) &&
(MARGENY + h) < ((Y * ESPACIADO + MARGENY))) {
gotoxy (i, (MARGENY + h));
printf ("%c", 177); // Bloquear con cubito ASCII
}
}
}
}
void ubicarLetra (char Letra, int X, int Y) {
int i, h;
for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (i == (X * ESPACIADO + MARGENX) && (MARGENY + h) == (Y * ESPACIADO + MARGENY)) {
gotoxy (i - ESPACIADO / 2, (MARGENY + h) - ESPACIADO / 2);
printf ("%c", Letra);
}
}
}
}
void ubicarReferencia(int Numero, int X, int Y) {
int i, h;
for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (i == (X * ESPACIADO + MARGENX) && (MARGENY + h) == (Y * ESPACIADO + MARGENY)) {
gotoxy (i - (ESPACIADO - 1), (MARGENY + h) - (ESPACIADO - 1));
printf ("%d", Numero);
}
}
}
}
void dibujarGrilla(void) {
int i, h;
for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (h % ESPACIADO == 0) {
gotoxy (i, (MARGENY + h));
printf ("%c", 196); // - horiz
}
}
}
for (i = MARGENY; i < (ALTURA + MARGENY) - 1; i++) {
for (h = 0; h <= BASE; h++) {
if (h % ESPACIADO == 0) {
gotoxy ((MARGENX + h), i);
printf ("%c", 179); // | vert
}
}
}
}
void ubicarPalabraHorizontal (char* palabra, int X, int Y) {
int i;
gotoxy (X, Y);
for (i = 0; i < (BASE / ESPACIADO); i++, X++) {
ubicarLetra (palabra[i], X, Y);
}
}
void ubicarPalabraVertical (char *palabra, int X, int Y) {
int i;
gotoxy (X, Y);
for (i = 0; i < (BASE / ESPACIADO); i++, Y++) {
ubicarLetra (palabra[i], X, Y);
}
}
void imprimirControles(void) {
gotoxy (49, 18);
printf (":: CONTROLES ::");
gotoxy (49, 20);
printf ("ENT : Ingresar Palabra.");
gotoxy (49, 21);
printf ("<- : Ver Palabras Horizontales");
gotoxy (49, 22);
printf ("-> : Ver Palabras Verticales");
gotoxy (49, 23);
printf ("ESC : Sale");
}
void pedirPalabra (void) {
char input[255];
int indice, hov;
gotoxy (49, 5);
printf ("[H]orizontal o [V]ertical?\n");
while (hov != 'h' && hov != 'v') {
gotoxy (49, 6);
hov = getch();
}
(hov == 'h') ? printf ("Horizontal") : printf ("Vertical");
gotoxy (49, 7);
printf ("Ingrese numero de referencia:\n");
gotoxy (49, 8);
scanf ("%d", &indice);
gotoxy (49, 9);
printf ("Ingrese palabra:\n");
gotoxy (49, 10);
scanf ("%s", &input);
if (hov == 'h')
ubicarPalabraHorizontal (input, 2, 2);
else if (hov == 'v')
ubicarPalabraVertical (input, 2, 2);
}
int main () {
int tecla = 0, subtecla;
while (tecla != 27) {
clrscr();
dibujarGrilla();
imprimirControles();