小球弹跳

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

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;
}

时间: 2024-10-01 00:31:26

小球弹跳的相关文章

小球弹跳递归

将一个小球从100米抛下,假设它每次弹起之前一半的高度,求小球弹跳总高度和弹跳高度 /** * @author Administrator jie * @param count 弹跳次数 * @return 返回第count次弹起的高度 */ public static double high(int count){ if(count==1){return 50;} return high(count-1)/2; } /** * * @param count 弹跳次数 * @return 第co

笔记-2.带尾巴小球弹跳

先说尾巴跟随: 尾巴跟随是典型的运动跟随,随着根部的运动,尾巴的每部分自然而柔软地跟随运动,中间帧不能出现直挺挺的尾巴这种不自然的状态,也不能出现僵硬的运动. 具体实现: 可以通过一个个中间帧调节尾巴不同部分来达到自然柔软的效果,但对于尾巴跟随运动最简单的是拖帧法,即从根部到尾部按顺序少选一个控制器,将关键帧依次向后拖动几帧(就是让尾巴从根部向尾部的运动变化依次向后慢几帧出现). 运动曲线是这样的: 可以拖动曲线让根部摆动幅度小些: 同理可以再做出尾巴其他方向的摆动 --------------

HTML5 Canvas 图像动画的实现(实例小球弹跳)

Canvas 中 clearRect 清除函数 var c=document.getElementById("php100"); var p100=c.getContext("2d"); p100.clearRect(x,y,x,y) // 擦除画布一个区域x-y.x-y ------ 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <

1实现弹跳小球

#include<stdio.h> #include<stdlib.h> #include<windows.h> void main(){ int i, j; int x = 0; int y = 5; int velocity_x = 1; int velocity_y = 1; int left = 0; int right = 20; int top = 0; int bottom = 10; while(1){ x += velocity_x; y += vel

原生js的弹力小球

有段日子没发博客了,今天来一弹. 这次发的东西,难度比较大,用原生js,写的一个弹力小球,而且是群发,下面是一张截图. 每一次点击"添加小球",都会触发程序,新创造一个div盒子.定义css样式,然后塞进大盒子中. 接着,给这个div小球创造一个定时器,让他开始移动,并且在碰到墙壁时,会停止匀速运行的定时器,执行另一个函数,开启变速移动的定时器,同时对div小球开启进行变形定时器,实现碰到墙壁后的减速.变形.改变方向.再加速和恢复体形. 讲述原理比较简单,而真正做起来,就麻烦了. 程序

贝塞尔曲线与CSS3动画、SVG和canvas的应用

简介 贝塞尔曲线是可以做出很多复杂的效果来的,比如弹跳球的复杂动画效果,首先加速下降,停止,然后弹起时逐渐减速的效果. 使用贝塞尔曲线常用的两个网址如下: 缓动函数:http://www.xuanfengge.com/easeing/easeing/ cubic-bezier:http://cubic-bezier.com/ 如何用贝塞尔曲线画曲线 一个标准的3次贝塞尔曲线需要4个点:起始点.终止点(也称锚点)以及两个相互分离的中间点. 无论SVG, Canvas还是CSS3动画,都牵扯到这4个

9款让你眼前一亮的HTML5/CSS3示例及源码

1.HTML5 3D点阵列波浪翻滚动画 今天我们要再分享一款基于HTML5 3D的点阵列波浪翻滚动画特效,同样是非常的壮观. 在线演示 源码下载 2.HTML5小球弹跳动画 很不错的3D小球 今天我要向大家分享一款很逼真的HTML5动画特效,它是3个色彩各异的弹跳小球,每一个小球在弹跳的时候都会有变化的小球投影,让整个动画更加逼真,而且具有3D的视觉效果. 在线演示 源码下载 3.纯CSS3纸片层叠而成的庙宇动画 今天要分享的这款纯CSS3动画非常特别,动画主体的原型是一座庙宇的屋顶,它用3张纸

OGEngine_修改器

前言 Modifier的作用是以编程的方式来修改Entity对象的关键属性.开发者可以用它来修改Entity的位置.缩放.颜色.角度.透明值等.介绍各种可用的Modifier类型,并讲述如何将Modifier对象组合成序列来使用. 修改的效果将会在Entity 的 registerEntityModifier之后执行,若被添加Modifier的Entity还没被添加至场景或者图层(没执行attachChild方法),那么效果直到Entity被添加到场景才会执行. 典型用例 entity.regi

HTML5之2D物理引擎 Box2D for javascript Games 系列 第二部分

这是系列第二部分,之前部分在本博客中找 源码demo存放在https://github.com/willian12345/Box2D-for-Javascript-Games 向世界添加刚体 刚体(Bodies)是我们用Box2D创建物理游戏的重要对象.任何你可以移动的或交互 的对象都是刚体(Bodies). 愤怒的小鸟(Angry Birds)中创建的小鸟和小猪是刚 体,同样在图腾破坏者(Totem Destroyer)中的黄金神像和图腾砖块也是刚体. 本章将带你学习创建各种类型的Box2D刚