Juego de programación fraccionada
# incluir ltconio.h gt
# incluir ltgraphics.h gt
# incluir lttime.h gt
# pragma comment (lib, " winmm . lib ")//Referencia Windows Multimedia APT
int score = 0 //Variable global * * * * * * Puntuación entera
char s[5]; //Variable global * * *Puntuación del tipo de carácter
Struct player_ //Personaliza la estructura y define una variable de estructura por cierto.
{
nombre del personaje[20];
puntuación int _;
} jugador[11];
/* * * * * * * * * * * * *Declaración de función* * * * * * * * * * * * *
void record _(); //Registra el registro de la otra parte función de rendimiento
void bienvenido(); //Función de interfaz de bienvenida
void command(); //Función de interfaz de descripción del juego
void gane(int rango 2) );/ /Función de juego
void record(); //Función de visualización de registro
int rank _(char range 1); //Función de selección de nivel
void adiós ();//Salir de la función de interfaz
* * * * * * * * * * * *Función principal* * * * * * * * * *
int main()
{
char rango 1; //rank1 acepta caracteres ingresados desde el teclado y determina el rango en función de los caracteres.
int rank 2 = 15; //Controla el tiempo de retardo para controlar la velocidad.
int sign = 1; // Como marca, se utiliza para marcar si se abre el cuadro de diálogo MessageBox.
welcome(); //Llamar a la función de la interfaz de bienvenida
Descripción(); //¿Qué función del juego se llama?
record(); //Llama a la función de visualización de registro
Inputbox (reproductor [10]). Nombre, 20, "Ingrese el apodo del jugador" //Obtenga la función de entrada del usuario en forma de cuadro de diálogo.
rango 1 = getch(); //Leer una carta
rango 2 = rango _(rango 1 //Llamar a la función de nivel
Juego); (rango 2); // Llama a la función del juego
HWND wnd = GetHWnd();
while(sign)//Ejecuta el bucle como un símbolo de marca.
If (MessageBox(wnd), "¡¡¡El juego ha terminado!!!\nJuguemos otro juego y desafiemos una puntuación más alta", "Preguntar", MB _ sí no | MB _ icono pregunta)= = id sí)
Juego (rango 2);
Otro
{
Símbolo = 0;
Adiós();
}
closegraph();
Devuelve 0;
}
/ * * * * * * * * * * * * * *Función de rendimiento de registro* * * * * * * * *
Registro no válido_()
{
FILE * fp//Puntero de archivo
int i, j;
struct player _ t; //Definir la variable de estructura T, utilizada cuando el método de burbujeo es grande.
Reproductor[10]. puntuación _ = puntuación; //Asigna la puntuación de este juego a la variable de estructura del usuario de este juego.
Fp=fopen ("record.dat", "Rb"); //Abrir archivo binario
for(I = 0;ilt10;i)
{
fread(player[i]. name, 20, l, FP); //Lee la partitura y el nombre en el registro.
fred(ampplayer[i].score_, 4, l, FP
}
fclose(FP); //Cerrar archivo binario
p>for(j = 0;j lt10;J) //Clasificación de burbujas
for(I = 0;i lt10-j;i)
if (jugador [i]. puntuación_)
{
t = jugador[I];
jugador[I]=jugador[I 1] ;
player[I 1]= t;
}
Fp=fopen ("record. dat", "WB"); //Abrir el archivo
for(I = 0; I lt10; I) //Almacena los datos ordenados en el archivo de registro.
{
fwrite(jugador[i]). nombre, 20, l, FP);
fwrite( amp; jugador [i].
score_, 4, l, FP);
}
fclose(FP); //Cerrar el archivo
}
/ * * * * * * * * * * * * * * * *Función de interfaz de bienvenida* * * * * * * * * *
Bienvenida no válida()
{ p >
char ch
mciSendString(" open \ " RES \ \ Sleep away . MP3 \ " alias mi música ", NULL, 0,
initgraph(); 640, 480); //Inicializa la interfaz de dibujo
Imagen img//Define el objeto de imagen
loadimage(amp;img, "RES\\00.jpg");/ /Colocar la imagen Leer en objeto img
putimage (0, 0 amp; img); //Mostrar el objeto de imagen en las coordenadas (0, 0)
ch = getch(); ; //Absorber una clave
clear device(); //Borrar la pantalla
}
/* * * * * * * * * * * * * * Juego Describe las funciones de la interfaz * * * * * * * * * *
Comando no válido()
{
int c = 255//Variable para controlar el color
setcolor(amarillo); //Establecer color
Setfont (30, 0, " negrita "); //Establecer fuente
Outtextxy( 0, 0, "Descripción del juego"); //Texto de salida
setcolor(white);
Setfont(28, 0, "invert");
Outtextxy(0, 30, "Suelta 200 letras primero en cada ronda"); //Texto de salida
Outtextxy(0, 58, "Segundos, presione las teclas numéricas para seleccionar el nivel del juego")
Outtextxy(0,86,"Tercero, contar clics");
Setfont(30,0,"Fuente china")
Outtextxy (20,220) ,"Level 123456789");
Outtextxy(20, 260, " key 123456789 ");
Y (!kbhit()//kihit() se utiliza para determinar si hay son entradas de subtítulos
{
setcolor(RGB(c, 255, 0));
Setfont (80, 0, "cursiva"); /p>
Outtextxy(140, 130, "Seleccione un nivel");
setcolor(RGB(c, 0, 255)); 0, "Power Kendon Café NDP");
outtextxy(100, 135, "¡Vamos! ! ! ");
c-= 25; //Controla la variable autorreducción de color.
if(c lt; 0)c = 255; //Al controlar el color Cuando la variable es menor que 0, se asigna 255 a c.
clear device(); //Borrar la pantalla
}
/* * * * * * * * * * * *Salir de la función de interfaz* * * * * * * * * * * *
Adiós nulo()
{
int c = 255//Controlar la variable de decoloración
clear device(); //Borrar la pantalla
setcolor(amarillo);
Setfont (48, 0, " negrita "); Outtextxy (104, 120, "La puntuación final es: ");
Setfont (48, 0, "cursiva china"); ));
Outtextxy(140, 320, "Presiona cualquier tecla para salir del juego");
setcolor (amarillo); 0, " negrita ");
Outtextxy (104, 120, "La puntuación final es: ";
outtextxy (104, 70, jugador[10]); Name);
record _(); //Llama a la función que registra esta puntuación.
And(!kbhit())
{
setcolor(RGB(255, 0, c-100)); //Establece el color p >
setfont(100,0,"Wickenden Cafe NDP");
outtextxy(400,90,s); //Números de salida
setcolor(RGB (c) , 0, 255));
Setfont(48, 0, " negrita ");
If (puntuación == 200)
Outtextxy( 100, 200, "¡¡¡Todos los éxitos!!! ");
Otros
if(score gt; 190)
Outtextxy(100, 200, "Tampoco está mal ! ¡Sigue así ");
Otro
outtextxy(100200, "¡No te desanimes! ¡Sigue así!");
c- = 25;
if(c lt; 0)
c = 255
sleep(20); //Retraso 20 segundos
} p>
getch(); //Cuando se proporciona al usuario, debe esperar la entrada antes de salir.
}
/* * * * * * * * * * * *Función de selección de rango* * * * * * * * * *
int rank_ (char rango1)
{
int rango2
Switch(rank1) //Juzga el personaje y determina el nivel.
{
Caso "0": rango 2 = 11;
Caso "1": rango 2 = 10;
Caso "2": rango 2 = 9;
Caso "3": rango 2 = 8;
Caso "4": rango 2 = 7; ;Break;
Caso "5": rango 2 = 6;Break;
Caso "6": rango 2 = 5;Break;
Caso " 7": rango 2 = 4; roto;
Caso "8": rango 2 = 3; roto;
Caso "9": rango 2 = 2; roto; p>
p>
Predeterminado: rango 2 = 15;
}
Volver al rango 2
}
/* * * * * * * * * * * *Mostrar función de grabación* * * * * * * *
Registro no válido()
{
FILE * p; //Puntero de archivo
int a[10],j;
char b[10][10];
Fp= fopen ("Record. dat ", "Rb"); //Abrir archivo
for(j = 0; j lt10; j )
{
fread(player[j] .name, 20, 1, FP); // Lee la información en el archivo
Fred (amp player[j]. score_, 4, 1, FP); p>
}
fclose(FP); //Cerrar el archivo
setfont(60, 0, "Arial");
setcolor( RGB(250, 250, 0));
outtextxy(250, 0, " 10 principales ");
for(j = 0; j lt10; j )
{
sprintf("b[j],d",player[j].score_); //Convierte números enteros en caracteres.
setcolor(RGB(0, 100, 255));
setfont(40, 0, "Arial");
outtextxy(420, 50 40). *j, b[j]);
outtextxy(120, 50 40*j, player[j]. //Nombre de salida
/* * * * *); * * * *Funciones del juego* * * * * * * * * * * * * *
Juego no válido (int rango2)
{
borrar dispositivo (); //Borrar la pantalla
Puntuación = 0; //Borrar la partitura original
Outtextxy(0, 0, "Player:");
outtextxy (90, 0, jugador[10]). Name);
setfont(20, 0, "Arial");
outtextxy(100460) "La vida tiene derecho a disfrutar de un momento de elegancia y tranquilidad, luego ven a jugar. ¡el juego del alfabeto que te permitirá relajarte!");
int I;
char target; //letra de destino
char key; //user's key
intx, y; //La posición de la letra
int flag = 1; //Marca si se presiona la tecla Salir.
int sum = 0; //Recuento de puntuaciones
int num = 200//Especifique el número de letras de firma.
srand(time(NULL)); //Semilla de tiempo aleatorio, establece el valor de la primera función aleatoria.
setfillstyle(black); //Establece el color de la imagen dentro del rectángulo de abajo.
setcolor(amarillo); //
Line(0, 450, 640, 450); //Utiliza 3 líneas para definir el área de trabajo.
Line(0, 440, 640, 440); // Definir el área de trabajo con 3 líneas.
Line(0, 40, 640, 40); // Definir el área de trabajo con 3 líneas.
while(flag amp; amp number)
{
Setfont(40, 0, "Kong Xiangé"); //Establece la fuente y la fuente de el tamaño de las letras.
I = rand() 2; //la función rand() devuelve un número entero entre 0 y 32767.
if(i)
target = 97 rand() 26; //generar letras minúsculas
other
target = 65 rand() 26; //Generar cualquier letra mayúscula
x = rand() 610 //Generar cualquier posición de colocación.
for(y = 41; y lt380; y )
{
setcolor (RGB(255, 0, 255)); p>outtextxy(x, y, target); //Mostrar letras
if(kbhit())
{
key = getch();/ /Obtener clave de usuario.
if((clave == objetivo)| |(clave == objetivo-32)| |(clave == objetivo 32))
{
Puntuación; //Estadísticas de puntuación
sprintf(s, puntuación "d"
setfont(30, 0, "Arial"); 500, 0, "puntuación");
outtextxy(600, 0, s); //Puntuación de salida
Bar(x-10, y-10, x 35, y 50); //Haga clic para borrar las letras con un marco negro.
Break; //Salta del bucle y pasa a la siguiente letra.
}
Else if (key==27) //Determina si presionar.
{
flag = 0; //Si presionas ESC, sales del bucle principal del juego.
Descanso;
}
}
Dormir (rango 2); //Controla el tiempo para borrar letras. Amarte significa controlar la velocidad del declive.
bar(x, y, x 35, y 60); //Borrar caracteres inferiores
}
num- //Contar
}
}