首页 > 代码库 > 小球弹跳

小球弹跳

知乎上看到一个小球弹跳的代码,觉得挺有意思的,就打出来自己看看

https://zhuanlan.zhihu.com/p/24633092

#include<stdio.h>//上下跳动
#include<stdlib.h>
int main()
{
    int i,j;
    int x=5,y=10;//小球坐标
    int h=20;//高度
    int v=1;//速度
    while(1)
    {
        x=x+v;//坐标=坐标+速度
        system("cls");//清屏函数
        for(i=0; i<x; i++)
            printf("\n");//小球上面的空行
        for(j=0; j<y; j++)
            printf(" ");//小球前面的空格
        printf("o");//输出小球
        printf("\n");
        if(x==h)
            v=-v;
        if(x==0)
            v=-v;

    }
    return 0;
}

 

 

 

#include<stdio.h>//斜着跳动
#include<stdlib.h>
int main()
{
    int i,j;
    int x=0,y=5;//小球坐标
    int l=0,r=20;//x方向的范围
    int top=0,bottom=10;//y方向的范围
    int v_x=1,v_y=1;//x,y方向上的速度速度
    while(1)
    {
        x=x+v_x;//坐标=坐标+速度
        y=y+v_y;
        system("cls");//清屏函数
        for(i=0; i<x; i++)
            printf("\n");//小球上面的空行
        for(j=0; j<y; j++)
            printf(" ");//小球前面的空格
        printf("o");//输出小球
        printf("\n");
        if((x==top)||(x==bottom))
         {
             v_x=-v_x;//如果到了最底或者顶部就反向
         }

         if((y==l)||(y==r))
         {
             v_y=-v_y;//到了最左边或者最右边反向

        }


    }
    return 0;
}

小球弹跳