//Funcion para imprimir un numero void Matriz::imprimirNumero(byte valor){ index=valor%10; //Extraemos la unidad del numero byte i; //byte auxiliar para contar en que fila estamos for(i = 0; i < 5; i++){ imprimirPantalla(i1[i], unidad[(i+5*index)]); //Imprimimos en la pantalla la fila y la/las columnas indicadas } index=valor/10; //Extraemos la decena del numero for(i = 0; i < 5; i++){ imprimirPantalla(i1[i], decena[(i+5*index)]); //Imprimimos en la pantalla la fila y la/las columnas indicadas } }
int mensajeGanar() { char pantalla[25][80]; inicializarPantalla(pantalla); strcpy(pantalla[3 ]," ^ ^"); strcpy(pantalla[4 ]," ^ ^ ^ ^"); strcpy(pantalla[5 ]," ^ ^ ^ ^"); strcpy(pantalla[9 ]," ----------"); strcpy(pantalla[12]," SS U U DD OO K K U U X X !! !!"); strcpy(pantalla[13]," S S U U D D O O K K U U X X !! !!"); strcpy(pantalla[14]," S U U D D O O KK U U X X !! !!"); strcpy(pantalla[15]," SS U U D D O O KK U U X !! !!"); strcpy(pantalla[16]," S U U D D O O K K U U X X !! !!"); strcpy(pantalla[17]," S S U U D D O O K K U U X X "); strcpy(pantalla[18]," SS UU DD OO K K UU X X !! !!"); imprimirPantalla(pantalla); getch(); return 0; }
int menuInicio() { char pantalla[25][80]; inicializarPantalla(pantalla); strcpy(pantalla[3]," SS U U DD OO K K U U X X !! !!"); strcpy(pantalla[4]," S S U U D D O O K K U U X X !! !!"); strcpy(pantalla[5]," S U U D D O O KK U U X X !! !!"); strcpy(pantalla[6]," SS U U D D O O KK U U X !! !!"); strcpy(pantalla[7]," S U U D D O O K K U U X X !! !!"); strcpy(pantalla[8]," S S U U D D O O K K U U X X "); strcpy(pantalla[9]," SS UU DD OO K K UU X X !! !!"); strcpy(pantalla[15]," 1 - Facil"); strcpy(pantalla[16]," 2 - Medio"); strcpy(pantalla[17]," 3 - Dificil"); strcpy(pantalla[18]," H - Ayuda"); strcpy(pantalla[19]," C - Salir"); imprimirPantalla(pantalla); return 0; }
int mensajeAyuda() { char pantalla[25][80]; inicializarPantalla(pantalla); strcpy(pantalla[3]," Las reglas de Sudoku son bastante simples. Para completar"); strcpy(pantalla[4]," el puzle, debe rellenar cada cuadrado con un numero entre"); strcpy(pantalla[5]," 1 y 9 tal que cada fila, columna y caja de 3x3 del tablero"); strcpy(pantalla[6]," contenga los numeros del 1 al 9. Dicho de otra manera,"); strcpy(pantalla[7]," debe rellenar cada cuadrado tal que no se repita ningun"); strcpy(pantalla[8]," numero en la misma fila, columna o caja de 3x3."); strcpy(pantalla[12]," Presione una tecla para volver al menu"); strcpy(pantalla[19],"Este mensaje de ayuda es propiedad de:"); strcpy(pantalla[20]," - Thomas M. Hinkle"); strcpy(pantalla[21]," - Jorge Gonzalez "); imprimirPantalla(pantalla); getch(); return 0; }
//Funcion para imprimir pixel en (i ,j) void Matriz::imprimirPixel(byte i0, byte j0){ byte i=i0; byte j=j0; imprimirPantalla(i1[i-1], j1[j-1]); //Imprimimos en la pantalla la fila y columna necesaria para encender el pixel correspondiente }
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; }