【C++】Te enseñará a dibujar un cielo estrellado para tu familia durante el Festival del Medio Otoño.

prefacio

¡Se acerca el Festival del Medio Otoño y todos quieren sorprender a sus familias! Hoy te enseñaré a dibujar un cielo estrellado con C++ y Easyx.

(mapa de efectos :)


1. Prepara Easyx

Primero tenemos que ir a la web oficial de Easyx para descargar el instalador,

Una vez completada la descarga, abra el programa y haga clic en "Siguiente";

Luego seleccione su editor y haga clic en "Instalar".


 2. Introducción a la función

Aquí presento brevemente algunas funciones que usaré hoy:

1, círculo sólido

Esta función se utiliza para dibujar círculos rellenos sin bordes.

Prototipo de función:

void solidcircle(
	int x,
	int y,
	int radius
);

Explicación de parámetros:

x: la coordenada x del centro del círculo

y: coordenada y del centro del círculo

radio: el radio del círculo

2, establecer color de relleno

Esta función se utiliza para establecer el color de relleno del dispositivo actual.

Prototipo de función:

void setfillcolor(COLORREF color);

Explicación de parámetros:

color: color de relleno

3, obtener color de fondo

Esta función se utiliza para obtener el color de fondo actual del dispositivo.

COLORREF getbkcolor();

4initgrafo

Esta función se utiliza para inicializar la ventana de dibujo.

Prototipo de función:

HWND initgraph(
	int width,
	int height,
	int flag = NULL
);

Explicación de parámetros:

ancho: el ancho de la ventana de dibujo

altura : la altura de la ventana de dibujo

bandera: el estilo de la ventana de dibujo, el valor predeterminado es NULL. Pueden ser los siguientes valores:

valor sentido
EW_DBLCLKS Admite el evento de doble clic del mouse en la ventana de dibujo
EW_NOCERRAR Deshabilitar el botón de cerrar de la ventana de trazado
EW_NOMINIMIZAR Deshabilitar el botón de minimizar de la ventana de trazado
EW_SHOWCONSOLA mostrar la ventana de la consola

5, gráfico cerrado

Esta función se utiliza para cerrar la ventana de dibujo.

void closegraph();

6, poner píxeles

Esta función se utiliza para dibujar puntos.

void putpixel(
	int x,
	int y,
	COLORREF color
);

parámetro

x: la coordenada x del punto

y: la coordenada y del punto

color: el color del punto


 3. Principio de realización

El principio de implementación de este proyecto no es difícil. La luna es un círculo relleno sin bordes; la estrella grande es dibujar un círculo primero y luego dibujar algunos círculos alrededor con el color de fondo; la estrella pequeña es dibujar puntos en posiciones aleatorias.


4. Tutoría

1. Abra el archivo de encabezado:

#include <graphics.h>

2. Inicialice la ventana en la función principal (lo mismo a continuación):

initgraph(640, 480);

3. Establezca el color de relleno:

setfillcolor(YELLOW);

4. Dibuja un círculo relleno sin borde:

solidcircle(450, 80, 50);

Dado que no solo estamos dibujando una gran estrella, es mejor hacerlo con una función.

5. Haz una función para dibujar una gran estrella fuera de la función principal:

void star(int x, int y) {
	setfillcolor(YELLOW);
	solidcircle(x, y, 20);
	setfillcolor(getbkcolor());
	solidcircle(x - 20, y - 20, 20);
	solidcircle(x + 20, y - 20, 20);
	solidcircle(x - 20, y + 20, 20);
	solidcircle(x + 20, y + 20, 20);
	return;
}

6. Luego escribe en la función principal:

star(50, 50);
star(570, 400);
star(300, 60);
star(250, 300);
star(50, 400);

Y debido a que las posiciones de nuestras pequeñas estrellas son aleatorias, para generar números aleatorios, necesitamos:

7. Importe el archivo de encabezado:

#include <time.h>

8. Escribe una oración al comienzo de la función principal:

srand((unsigned int)time(NULL));

9. Agregue un código para dibujar (cien) estrellas pequeñas después del código para dibujar estrellas grandes:

for (int i = 0; i < 100; i++) {
	putpixel(rand() % 640, rand() % 480, YELLOW);
}

Para tener el efecto de presionar cualquier tecla para salir, necesitamos:

10. Importe el archivo de encabezado:

#include <conio.h>

11. Escribe una oración después del código para dibujar la pequeña estrella:

_getch();

12. Finalmente, cierre la ventana y salga del programa:

closegraph();
return 0;

5. Código completo

#include <graphics.h>
#include <time.h>
#include <conio.h>

void star(int x, int y) {
	setfillcolor(YELLOW);
	solidcircle(x, y, 20);
	setfillcolor(getbkcolor());
	solidcircle(x - 20, y - 20, 20);
	solidcircle(x + 20, y - 20, 20);
	solidcircle(x - 20, y + 20, 20);
	solidcircle(x + 20, y + 20, 20);
	return;
}

int main() {
	srand((unsigned int)time(NULL));
	initgraph(640, 480);
	setfillcolor(YELLOW);
	solidcircle(450, 80, 50);
	star(50, 50);
	star(570, 400);
	star(300, 60);
	star(250, 300);
	star(50, 400);
	for (int i = 0; i < 100; i++) {
		putpixel(rand() % 640, rand() % 480, YELLOW);
	}
	_getch();
	closegraph();
	return 0;
}

Muy bien, eso es todo por hoy. El artículo tiene referencias. ¡Apoya si te gusta!

Supongo que te gusta

Origin blog.csdn.net/qq_43546083/article/details/126548294
Recomendado
Clasificación