2021-04-20

(童晶老师的mooc视频)弹跳小球

上下弹跳

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int x=1;
int y=20;
int velocity=1;
while(1)
{
if(x>10||x<1)
velocity=-1*velocity;
x=x+velocity;
system(“cls”);
for(i=0;i<x;i++)//坐标里的-y
printf("\n");
for(j=0;j<y;j++)//坐标里的x
printf(" ");
printf(“O”);}
return 0;
}

上下左右
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int 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=x+velocity_x;
y=y+velocity_y;

system(“cls”);//清屏函数

//空行与输出小球
for(i=0;i<x;i++)//坐标里的-y
printf("\n");
for(j=0;j<y;j++)//坐标里的x
printf(" “);
printf(“O”);
printf(” \n");

Sleep(50);
if((xtop)||(xbottom))//小球碰到上下底面的时候 速度会发生变化
velocity_x=-velocity_x;
if((yleft)||(yright))//速度变化逆向运动
velocity_y=-velocity_y;

}
return 0;
}
运行
在这里插入图片描述
1 不用sleep函数,利用循环语句实现小球速度变慢
2 为反弹绘制边框,利用printf("\a");边界 时响一声提示音
逐行打印
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int 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=x+velocity_x;
y=y+velocity_y;

system(“cls”);//清屏函数

		printf("********************");//在每次运行的第一行. 画一排#作为上边界
	printf("\n");

/画出运行至小球前一行的边框/
for (i = 0; i < x; i++)
{
printf(""); //第一个字符为 即左边框
for (j = 0; j < right - 1; j++) // 用循环画空格
printf(" “);
printf(”\n"); //用 再画一个右边框
}
/画出运行到小球这一行时左右边框和小球/
printf(""); //左边框
for (j = 0; j < y - 1; j++) //小球之前的空格
printf(" “);
printf(“o”); //小球
for (; j < right - 2; j++) //小球右边的空格
printf(” “);
printf(”
\n"); //右边框, 并且换行

/画出小球的下一行到底部边界前一行的界面/
for (i > x+1; i < bottom; i++)
{
printf("");
for (j = 0; j < right - 1; j++)
printf(" “);
printf(”
\n");
}

		printf("********************\n");// 画一排# 作为下边界

Sleep(100);
if((xtop)||(xbottom))//小球碰到上下底面的时候 速度会发生变化
{printf("\a");
velocity_x=-velocity_x;};
if((yleft)||(yright))//速度变化逆向运动
{velocity_y=-velocity_y;
printf("\a");};
}
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

约卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值