Programación en lenguaje C
# incluir ltstdio.h gt
# incluir ltstdlib.h gt
# incluir ltconio.h gt
# incluir lttime. h gt
/*Definir variables globales*/
int? rompecabezas[9]; //Matriz de juego de nueve cuadros
int? i=0,j,k;//?Yo? Interfaz de inicialización rápida, J? Obtener la posición espacial, k? Número de movimientos
int? Espacio; //Vacante
/*Prototipo de función personalizada*/
¿No válido? interface(); ///?Interfaz, incluida la impresión de rectángulos y números rellenos.
¿Anulado? Cambiar (int? a, int? b); //Exchange
¿No es válido? Presione el botón (); //?
¿Anular? start(); //Inicializar y determinar si tiene éxito.
¿Anulado? comenzar()//? Inicialice y determine si tiene éxito.
{
int? A, B, C;
int? estrella[22]= { 30012032016036016032020034024026024028020024016028016030065438
k = 0
for(a = 0; a lt8; a )
puzz[a] = a 1 ;
puzz[8] = 0;
interfaz();
para(c = 0; c lt100; c )? //Interrumpir el orden a voluntad
{
a = rand() 9;
b =(a 2) 8;? //? En cuanto a si existe una solución, no está claro, cito.
Cambiar(a,b);
}
mientras(1)
{
interfaz( );
for(a = 0; a lt8; a )
Si (puzz[a]!=a 1)
Romper;
Si (a==8)
{
drawpoly(11, asterisco);//?Pentagrama
establece color(1); //? Color de relleno del texto
setfillstyle(1, 4); // ? Un poco dentro de la estrella de cinco puntas
outtextxy(260, 180, "¡¡Éxito!!");
getch();
start();
}
for(j = 0; j lt=8; j )
¿Si? (puzz[j]==0)
Romper
espacio = j
Presione (
} p>
}
¿No es válido? interfaz()//? Interfaz, incluida la impresión de rectángulos y números rellenos.
{
clear viewport(); //Borrar gráficos de pantalla
setbkcolor(6); //Establecer el color de fondo
setfillstyle(2, 2); //? Color de bloque rectangular
if(puzz[0]!=0)
Bar(160, 60, 240, 140);
if(puzz[1]!=0)
bar(260, 60, 340, 140);
if(puzz[2]!= 0)
Barra(360, 60, 440, 140);
if(puzz[3]!=0)
Barra(160, 160, 240, 240);
if(puzz[4]!=0)
Barra(260, 160, 340, 240);
if(puzz [5]! =0)
Barra(360, 160, 440, 240);
if(puzz[6]!=0)
Barra (160, 260, 240, 340);
if(puzz[7]!=0)
Barra (260, 260, 340, 340);
if(puzz[8]!=0)
Bar(360, 260, 440, 340);
gotoxy(25, 7
if(puzz[0]!=0)
printf("d ", rompecabezas[0]);
gotoxy(38, 7);
if(puzz[1]!=0)
printf("d ", rompecabezas[1]);
gotoxy(50, 7);
if(puzz[2]!=0)
printf("d ", rompecabezas[2]);
gotoxy(25, 13);
if(puzz[3]!=0)
printf("d ", rompecabezas[3]);
gotoxy(3813);
if (puzz[4]!=0)
printf("d ", rompecabezas[4]);
gotoxy(5013);
if(puzz [5]! =0)
printf("d ", rompecabezas[5]);
gotoxy(25,19);
if(puzz [6]! =0)
printf("d ", rompecabezas[6]);
gotoxy(3819);
if(puzz[7] ]! =0)
printf("d ", rompecabezas[7]);
gotoxy(5019);
if(puzz[8]!=0 )
printf("d ", rompecabezas[8]);
if (i==0)
{
printf ("\n\n\n\n\n\t\t¿Presiona? ¿La tienes? ¿Clave? ¿Adónde ir? ¿Te atreves?"
getch(); p>}
gotoxy(60, 4); // Número de movimientos de impresión
printf("d?th", k);
I = 1;
Retorno;
}
int? principal()
{
int? gdriver=VGA,gmode=VGAHI
iniciar
graph(&g driver & gmode, "c:\\tc30\\BGI");
srand((unsigned) time(null)); // seed
borrar ventana gráfica ();//?cls
printf(" \ n \ n \ t \ t \ t/////////////////// //// //////////\ n ");
printf(" \ n ");
printf("\t\t\t \tPUZZLE?Juego \n");
printf("\n");
printf("\t\t\t///////// ///// ////////////////////\ n ");
printf(" \ n \ n \ n \ n \ n \ n \ tPresionar? ¿Clave? ¿Dónde? ¿Empezar?");
printf("\n\n\t¿Presionar? ¿Dónde? Salir\n\n\t");
if(getch() ==27)
{
clr SCR();
borrar ventana gráfica();
printf(" \ n \ n \ n \ t \ t \ t///////////////////////////// //////////\ n "
printf(" \ n \ t \ t \ t \ t¿Ves? ¿Y tú? ¿Siguiente? Hora\ n "); t \ t////////////////////////////////// ////\ n ");
printf("\n\n\n\n\n\t\t\t¿Presionar? ¿Tienes una? ¿Clave? ¿Adónde ir? ¿Salir?");
getch();
closegraph();
¿Volver? 0;
}
inicio();
¿Regresar? 0;
}