打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小游戏程序——弹跳小球

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

———————————————LINE————————————————

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

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

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

 SO

代码如下

#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:如果觉得小球跳动速度太快,可以添加一些延时代码令小球速度减缓,具体可自行百度

--------------------- 

作者:吴童鞋丶 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
c语言编程实例——小球跳动
C++比C牛逼的七个点
深入理解C语言函数指针
C语言内存管理讲解
C语言中内存四区的详解
编程时const的那些细节!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服