c语言简单的反弹球

简单的反弹球

小白第一次写没什么经验就不废话了

#include 
#include 
#include  
int main()
{
	int i,j;
	int x = 0;
	int y = 5;
	int number=0; 
	int velocity_x = 1;
	int velocity_y = 1;
	int left = 0;
	int right = 20;
	int top = 0;
	int bottom = 10;
	
	while (1)
	{
		x = x + velocity_x;
		y = y + velocity_y;
		number++;
		system("cls");   // 清屏函数
		for(i=0;i<x;i++)
			printf("\n");// 输出小球前的空行
		for (j=0;j<y;j++)
			printf(" ");
		printf("o循环%d次",number);  // 输出小球o
		//printf("\n"); 
		
		Sleep(150);  // 等待若干毫秒
		//(循环等待时间我猜测就是一个用来计时的循环语句 数值到了就结束循环) 
		
		if ((x==top)||(x==bottom)){
			velocity_x = -velocity_x;
			printf(";我 pb");//碰壁输出pb 
		}
			
		if ((y==left)||(y==right)){
			velocity_y = -velocity_y;
			printf(":我 pb");//碰壁输出pb 
		}
			//碰撞判定前面的left;right;top;bottom是设置的边界
			//当x或者y有和边界相等的值的时候就执行x或者y的退格	
			//执行完毕后回到while清屏再次循环,原数据不变
			//(换句话说你看不见的空白区域就是换行和空格键)	
	}
	return 0;
}


上面有我自己的理解,
看懂了就不用看我下面的介绍。
接下来我就说说我自己对这个简单反弹球游戏的理解。
首先:反弹球要有自己的边界
其次:就是考虑反弹的要素

1.system(“cls”); 是清屏函数,其实动画就是一帧一帧的速度快了就是动画
因此每次循环画出小球的第一个位置后就清屏。
2.“velocity”是代表小球在某个方向运动趋势,1就是向下/向左;-1就是向上/向右。
3.然后进入循环x/y的值一直变大直到xtop/bottom或者yleft/right就把velocity_x/y变向。
4.number就是可以反馈循环次数;也等同于清屏的表现。


本人新手小白,不喜勿喷,准备自己学习游戏开发,上面的就是本人的学习经历,如果有学术问题欢迎批评指正,谢谢!

你可能感兴趣的:(反弹球)