Implementación del lenguaje C [media bola de rebote de media hora] animación básica + borde de animación

Aprendí de [mooc]: [Introducción y práctica de la programación del lenguaje C basada en el desarrollo del juego] del profesor Tong Jing


El efecto objetivo es:

1. Una pelota pequeña rebota en la ventana
2. El borde se establece con un borde
3. La dirección del rebote es un rebote diagonal


Código de lenguaje C:

#include<stdio.h>
#include<stdlib.h>		//system("cls"); 
#include<windows.h>		//Sleep(50) 

int main(){
	int i,j;
	int x = 2, y = 2;
	int velocity_x = 1;
	int velocity_y = 1;
	int top = 0;	//x上边界 
	int bottom = 24-3;	//x下边界
	int left = 0;	//y左边界
	int right = 80-2;	//y右边界
	while( 1 ){		//每运行一次输出一个静态图像
	//通过变换由x,y表示小球O的的位置,每次输出不一样的图像,形成动画 
		if( x==top || x==bottom || y==left || y==right)
			printf("\a");	//遇边界提示声音 
		if( x==top || x==bottom)	//遇见边界,速度方向掉头 
			velocity_x *= -1;	 
		if( y==left || y==right)	//遇见边界,速度方向掉头 
			velocity_y *= -1;
		x += velocity_x;	//小球位置:多少回车 
		y += velocity_y;	//小球位置:多少空格 
		system("cls");	//清屏 
		for( i=1; i<=x; i++){	//循环完x个回车
			if( i==1 ){
				printf("----------------------------------------\
---------------------------------------");
				putchar('\n');
			}else{
				printf("|                                       \
                                      |");
				putchar('\n');
			}
		} 
		for( j=1; j<=y;j++){		//循环完y个空格  
			if( j==1){
				putchar('|'); 
			}else
				putchar(' ');
		} 
		putchar('O');		//输出指定位置的形状‘O ’ 
		for( i=y+1; i<=right;i++){		//循环完O之后的个空格  
			if( i==right){
				putchar('|'); 
			}else
				putchar(' ');
	    }
	    putchar('\n');
	    for( i=x+1; i<=bottom;i++){		//循环完O之后的回车  
			if( i==bottom){
				printf("----------------------------------------\
---------------------------------------"); 
				putchar('\n');
			}else
				printf("|                                       \
                                      |");
                putchar('\n');
	    }
		Sleep(50);		//让速度慢下来,数值越大,小球运动越慢。 
	}
	return 0;
}

(Debe tenerse en cuenta que se debe garantizar el tamaño de la ventana que muestra un pequeño marco negro, que generalmente es el valor predeterminado de 80 * 25)


El método de visualización del tamaño de la ventana es:

Haga clic derecho en la parte de la barra de título sobre el pequeño marco negro-> haga clic en el atributo inferior-> aparece una nueva ventana emergente, haga clic en el diseño superior-> aparece la siguiente interfaz: se debe garantizar que sea 80 * 25
Inserte la descripción de la imagen aquí


La captura de pantalla del resultado en ejecución es la siguiente:

(Realmente animación, rebotando en caso de borde)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

8 artículos originales publicados · Me gusta1 · Visitantes 179

Supongo que te gusta

Origin blog.csdn.net/weixin_43503632/article/details/105300075
Recomendado
Clasificación