失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【c语言】小游戏程序——弹跳小球

【c语言】小游戏程序——弹跳小球

时间:2021-10-13 07:21:29

相关推荐

【c语言】小游戏程序——弹跳小球

在说一下其中一个最简单的小程序:弹跳小球 (易懂,容易学会)

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

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

转换到c语言的思维的话:X0既是打印出X0个“\n”,Y0既是打印出Y0个空格!!!!

代码如下

#include <stdio.h>#include <stdlib.h>int main(){int i,j;int x = 30;int y = 10;system("cls");for(j=0;j<y;j++){printf("\n");}for(i=0;i<x;i++){printf(" ");}printf("O\n");return 0;}

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

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

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

#include <stdio.h>#include <stdlib.h>int main(){int i,j;int x = 30;int y = 10;for(int z=10;z>=y;y--){system("cls");for(j=0;j<y;j++){printf("\n");}for(i=0;i<x;i++){printf(" ");}printf("O\n");}return 0;}

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

为什么呢?

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

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

int TOP = 1;

int Bottom = 10;

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

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

int speed = 1;

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

int speed =1;

if(y > Bottom || y < TOP)

{

speed = -speed;

}

y = y - speed;

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

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

源码如下

#include <stdio.h>#include <stdlib.h>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<TOP){speed_y = -speed_y;}if(x<Left || x>Right){speed_x = -speed_x;}x = x - speed_x;y = y - speed_y;system("cls");for(j=0;j<y;j++){printf("\n");}for(i=0;i<x;i++){printf(" ");}printf("O\n");}return 0;}

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

如果觉得《【c语言】小游戏程序——弹跳小球》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。