弹跳的小球

这段代码是我在书上学的,但是我感觉它里面一些细节不太利于理解,所以也做了一些改动,但是算法都是一样的。

我是C语言菜鸟,我们专业对C语言也要求不高,现在都是平时感兴趣写一下,所以有不好的地方请大家包含,也感谢指出
其实这个程序对于小白来说,应该就是怎么 输出小球的位置 比较困难。 这个可以参考我之前写的一个 用 * 打印菱形 的博文

就是我了,点我就对了

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>      //   调用Sleep函数要用到   
int main()
{
    int  i , j ;
    int x =0 ;
    int y = 0 ;               //  我们用 x , y 共同确定一个点 ,即小球位置   类似于一个二维坐标面
    int vx=1 ;           //  向下的速度      其实我觉得这里用速度并不合适,vx其实我觉得用在单位时间内的变化量描述更合适      但是速度的定义也就是单位时间的位移,emmmm  我在这也就提一下
    int vy =1 ;          //  横向的速度   
    int bottom = 30 ;      //  最下端     我们默认 x=0 是最上  y= 0 是最左    
    int wide =  50 ;        //最右端   
    while(1)                 //   形成一个无限循环      
    {
        x = x+vx ;          //不断刷新 x 位置  
        y = y+vy ;         //     不断刷新y 位置       
        system("cls");   //   清空屏幕      
        
        for(i=0 ;i<x; i++)  //  将光标 移动到 x 行  
                printf("\n");
        for(j=0;j<y;j++)    //    将光标移到到y 行 , 此处为了观察  我将 空格用 短线代替 
            printf("-");        
        printf("o");           //输出小球
        printf("\n");
        //控制小球的回弹   
        if(x==bottom || x ==0)
            vx = -vx ;
        if(y == wide || y ==0)
            vy = -vy ;
        Sleep(100);

    }


    return 0 ;

}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值