Red de conocimiento informático - Conocimiento sistemático - Escritura del código fuente del juego

Escritura del código fuente del juego

La velocidad y la longitud de la placa de conexión no se pueden cambiar.

Entonces es más difícil jugar.

#Include "graphics.h"

#Include "stdio.h"

#include "conio.h" /*Archivo de encabezado requerido*/

int on/*Declarar una variable global con una función de conmutación*/

Puntuación int estática /*Declarar una variable de puntuación estática*/

/* Definir; función de interfaz de inicio */

int open()

{

setviewport(100, 100, 500, 380, 1); Area*/

set color(4); /*Establece el color del dibujo*/

Rectangle (0, 0, 399, 279) /* Rellena el gráfico establecido con un; rectángulo Área de ventana*/

setfillstyle(SOLID_FILL, 7); /*Establecer método de relleno*/

Inundación de relleno(50, 50, 4 /*Establecer rango de relleno*/);

establecer color(8);

settextstyle(0, 0, 9); /*Configuración de fuente de texto*/

outtextxy(90, 80, " ball "); /*Contenido de texto de salida*/

settextstyle(0, 0, 1);

outtextxy(110, 180, "Versión 1.0");

outtextxy(110, 190, "Hecho con DDT");

set color(128);

settextstyle(0, 0, 1); p> outtextxy(120, 240, "Presione cualquier tecla para continuar...");

}

/*Definir la función de la interfaz de salida*/

int quitwindow()

{

char s[100];/*Declarar una matriz utilizada para almacenar cadenas*/

setviewport(100, 150, 540, 420, 1);

setcolor (amarillo);

Rectángulo (0, 0, 439, 279);

setfillstyle (SOLID_FILL, 7) ;

Rellenar(50, 50, 14);

establecer color(12);

outtextxy(120, 80, "Fin");

settextstyle(0, 0, 2);

outtextxy(120, 200, "¿Salir?" y/N");

sprintf(s, "Tu puntuación es: d", puntuación); /*Imprime el valor del puntuador de formato*/

outtextxy(120 , 180, s);

on = 1; /*Inicializar variables de cambio*/

}

/*Función principal*/

main()

{

int gdriver, gmode

gdriver = DETECT/*Establecer adaptador de gráficos*/

gmode = 0 ; /*Establecer modo de gráficos*/

registerbgidriver(EGA VGA_driver); /*Después de registrar el controlador BGI, se puede ejecutar sin soporte.

Archivo BGI */

init graph( amp; g driver amp; gmode, "";

setbkcolor(14);

open(); /* Llame a la función de interfaz de inicio*/

getch(); /*pause*/

Y (1) /*Este gran bucle controla la repetición del juego*/

{

controlador int, modo, l=320, t=400, r, a, b, dl=5, n, x=200, y=400, r1=10, dx = -2, dy =-2; /*Inicializa los parámetros relevantes de la pelota*/

int left[100], top[100], right[100], bottom[100], I, j, k , off=1, m, num[100][100]; /*Parámetros relacionados de la matriz de mosaicos cuadrados*/

static int pp

static int frase / *Una serie de variables que actúan como interruptores */

int OOP = 15

PP = 1

Puntuación = 0; >Drive = Detect ;

modo = VGA

registerbgidriver(EGA VGA _ controlador);

init gráfico( amp; controlador amp modo, "";

setbkcolor(10);

clear device();/*Borrar la pantalla en estado de gráficos*/

clear viewport();/*Borrar el contenido de la ventana gráfica actual* /

b = t 6

r = l 60

set color(1); >Rectángulo (0, 0, 639, 479);

establecer color(4);

Rectángulo (l, t, r, b); setfillstyle(SOLID_FILL, 1) ;

relleno de inundación(l 2, t 2, 4

for(i=0,k=0;ilt=6;i)/ *Este bucle dibuja una matriz de ladrillos cuadrados*/

{

top[I]= k;

bottom[I]= top[I] 20;

k = k 21;

OOP-;

for(j=0, m = 0; j lt=7; j )

{

izquierda[j]= m

derecha[j]=izquierda[j]

m = m 81; p>

establecer color(4);

Rectángulo(izquierda[j], arriba[i], derecha[j], abajo[I]);

setfillstyle( SOLID_FILL, j OOP );

floodfill(izquierda[j] 1, arriba[i] 1, 4);

num[I][j]= pp;

}

}

While(1) /*Este bucle controla toda la animación*/

{

Y (! kbhit())

{

x = x dx; /*Control variable central del movimiento de la pelota*/

y = y dy;

si(x r 1 gt; r | | x r 1 lt; r)

{ frase = 0;}

if((x-r 1 lt; = r | | x

r 1 lt; = r) amp; ampx r 1 gt; = l)

{

if(y lt;t)

frase = 1;

if(y r 1 gt; = t amp amp frase==1)

{ dy =-dy; y = t-1-r 1;}

}

if(off==0)

Continuar;

for(I = 0; I lt=6; I ) /*Este bucle Se utiliza para juzgar y controlar el impacto y el borrado de la matriz de ladrillos cuadrados*/

for(j = 0; j lt=7; j )

{

if((x r 1 lt;= derecha[j] amp; ampx r 1 gt;= izquierda[j])| | |(x-r 1 lt;= derecha[j] amp; ampx-r 1 gt;=izquierda[j ] ))

{

if((y-r 1 gt; arriba[I] amp; ampy-r 1 lt;= abajo[I])| |(y r 1 gt; = superior[I] amp; ampy r 1 lt;=inferior[i])

{

if(num[i][j]==0)

{Continuar;}

establecer color(10);

Rectángulo(izquierda[j], arriba[i], derecha[j], abajo[I]);

setfillstyle(SOLID_FILL, 10);

floodfill(izquierda [j] 1, arriba [i] 1,

dy =-dy;

num[I][j]= 0;

Puntuación = puntuación 10

printf("d\b\b\b ", puntuación) ;

}

}

if((y r 1 gt; = arriba[I] amp; ampy r 1 lt; = abajo[I])| (y-r 1 gt;= arriba[I] amp; ampy-r 1 lt;=bottom[i])

{

if((x r 1 gt;= izquierda[ | j ] amp; ampx r 1 lt; derecha[j])|(x-r 1 lt; = derecha[j] amp; ampx-r 1 gt; izquierda[j]))

{

if(num[i][j]==0)

{Continue;}

establecer color(10);

Rectángulo ( izquierda[j], arriba[i], derecha[j], abajo[I]);

setfillstyle(SOLID_FILL, 10);

floodfill(izquierda[j] 1 , arriba[i] 1, 10);

dx =-dx;

num[I][j]= 0

puntuación = puntuación 10;

printf("d\b\b\b ", puntuación

}

}

}

if(x r 1 gt; 639) /*Controla el rango emergente de la pelota*/

{ dx =-dx; x = 638-r 1;}

si( x lt;=r1)

{ dx =-dx; x = r 1 1;}

si(y r 1 gt;=479)

{ off = 0; salir de la ventana(); break;}

if(y lt;=r1)

{ dy =-dy; r 1 1;}

if (puntuación == 560)

{ off = 0; salir de la ventana(); break;}

establecer color(6

círculo(x, y, r 1);

setfillstyle(SOLID_FILL, 14);

inundación(x, y, 6); /p>

Retraso(1000);

establecer color(10);

círculo(x, y, r 1);

establecer estilo de relleno ( SOLID_FILL, 10);

inundación(x, y, 10);

}

a = getch(); color(10);

Rectángulo (l, t, r, b);

setfillstyle(SOLID_FILL, 10);

Relleno (l 2 , t 2, 10);

if(a = = 77 amp; ampl lt=565) /*Configuración de control del teclado*/

{ dl = 20l = l dl;}

if(a = = 75 amp; ampl gt=15)

{ dl =-20; l = l dl;}

if(a = = ' y ' amp; ampon==1)

Romper

if(a = = ' n ' amp; ampon==1)

Romper ;

if (a==27)

{ salir de la ventana(); apagado = 0;}

r = l 60;

set color(4);

Rectángulo (l, t, r, b);

setfillstyle(SOLID_FILL, 1);

Relleno de inundación( l 5 , t 5, 4);

Retraso (100);

}

if(a == ' y ' amp; ampOn== 1) / *Quieres salir del juego*/

{ break}

if(a == ' n ' amp; ampon==1)

{ Continuar;}

}

closegraph();

}

¿No pediste ejecutarlo en TC?

C no es lo mismo que c.

Si quieres hacerlo en C

Primero debes escribir la declaración de la función.

No está en clave de C.

Ya modificado. Probar.

Puedo hacerlo aquí.

Ese fue un problema fugaz en la interfaz gráfica.

El controlador no está instalado correctamente.