c语言简单的反弹球
作者:互联网
简单的反弹球
小白第一次写没什么经验就不废话了
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
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就是可以反馈循环次数;也等同于清屏的表现。
本人新手小白,不喜勿喷,准备自己学习游戏开发,上面的就是本人的学习经历,如果有学术问题欢迎批评指正,谢谢!
标签:清屏,语言,int,number,简单,velocity,反弹球,include 来源: https://blog.csdn.net/m0_46667398/article/details/106648355