c语言小游戏跳一跳代码及注释,c语言小游戏程序之弹跳小球的实现代码

现在说一下其中一个最简单的小程序:弹跳小球

―――――――――――――――LINE――――――――――――――――

首先我们知道,在窗口的坐标系原点是在窗口左上角的,如图所示

d096691a3231c7615567d501fe246567.png

然后我们如果想在这个坐标系里面的某个点上画出一个小球,那么它的坐标系应该就是这样的

6396e64eff1666e5d0e5e5739615fa48.png

转换到c语言的思维的话:X0既是打印出X0个“

”,Y0既是打印出Y0个空格!!!!

SO

代码如下

#include

#include

int main()

{

int i,j;

int x = 30;

int y = 10;

system("cls");

for(j=0;j

{

printf("

");

}

for(i=0;i

{

printf(" ");

}

printf("O

");

return 0;

}

↓↓↓↓编译好的效果就像这样↓↓↓↓

491f8c4dac2e273d988115f2fc4a3968.png

如果想让小球往上(往下)运动要怎么办呢?

我们看前面的那个图就可以知道,只要X轴保持不变,Y轴往上做减法就可以完成,所以

#include

#include

int main()

{

int i,j;

int x = 30;

int y = 10;

for(int z=10;z>=y;y--)

{

system("cls");

for(j=0;j

{

printf("

");

}

for(i=0;i

{

printf(" ");

}

printf("O

");

}

return 0;

}

从运行效果中可以知道,小球会一直往上运动,没有停止

087744861194681a7530adda40aaba32.png

为什么呢?

因为我们没有设定边界,所以球碰到边缘也不会停止

所以我们在程序中加入两个变量:顶部和底部

int TOP = 1;

int Bottom = 10;

并且规定当小球达到窗口的顶部和底部时做反方向运动

但在做反方向运动时,需要有个和正常运动相反的速度,所以加入一个变量:速度

int speed = 1;

在正常运动时,speed变量为正数,当触碰边缘时,speed变量为负数,使得小球反方向运动

int speed =1;

if(y > Bottom || y < TOP)

{

speed = -speed;

}

y = y - speed;

根据效果图可知,小球在做上下来回跳动

9d3eeb67cb38123af238764f827b8528.png

由此可知,如果想上下左右跳动,只需在Y轴上也增加左右边界,使得触碰到左右边界的时候小球做相反方向运动,即可完成小程序的初步效果,实现出小球来回跳动的效果。

源码如下

#include

#include

int main()

{

int i,j;

int x = 30;

int y = 10;

int TOP = 1;

int Bottom = 10;

int Left = 0;

int Right = 50;

int speed_x = 1;

int speed_y = 1;

while(1)

{

if(y>Bottom || y

{

speed_y = -speed_y;

}

if(xRight)

{

speed_x = -speed_x;

}

x = x - speed_x;

y = y - speed_y;

system("cls");

for(j=0;j

{

printf("

");

}

for(i=0;i

{

printf(" ");

}

printf("O

");

}

return 0;

}

PS:如果觉得小球跳动速度太快,可以添加一些延时代码令小球速度减缓,具体可自行百度

到此这篇关于c语言小游戏程序之弹跳小球的实现代码的文章就介绍到这了,更多相关c语言弹跳小球内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值