目录
扩展知识
清屏函数system("cls")
- 该函数位于stdlib.h函数库,头文件要机上#include <stdlib.h>。
- 作用:该函数可以在循环中清空上一次的画面,在这里实现飞机的自由移动(要不然飞机移动就跟重影一样,跟李白技能一样)
- 使用方法:system("cls");
Sleep函数
定义:属于windows.h函数库。根据不同系统和编译器,有时候也写做cwindow.h。头文件加上#include <windows.h>或者#include<cwindow.h>。
作用:在此处让程序运行暂缓***毫秒。
一般形式:Sleep();S是大写,括号内数字默认单位是毫秒。(根据不同系统和编译器,有时候也有可能是小写s)
标识符命名规则:
- 不能是关键字
- 只能由字母、数字和下划线组成,且区分字母大小写。
- 名称的第一个字符必须是字母或下划线,不能是数字。
- 名称中间不能有空格。
- 标识符可以为任意长度,但最好不要超过31个字符。
- 不要与C语言库函数名称相同
弹跳小球的步骤
第一步,显示静止的小球
#include<stdio.h>
int main()
{
int i, j;
int x = 5;
int y = 20;
for (i = 0; i < x; i++)
printf("\n");
for (j = 0; j < y; j++)
printf(" ");
printf("O");
printf("\n");
return 0;
}
第二步,通过改变小球坐标的变量,让小球下落
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, j;
int x = 1;
int y = 10;
for(i = 0;i < y;i++)
{
system("cls");
for (i = 0; i < x; i++)
printf("\n");
for (j = 0; j < y; j++)
printf(" ");
printf("O");
printf("\n");
}
return 0;
}
第三步,实现小球的上下在上面一步代码的基础上,增加记录速度的变量,小球的新位置=旧位置+速度。判断小球到达上下边界时,速度改变方向,即改变正负号。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, j;
int x = 0;
int y = 5;
int left = 0;
int right = 20;
int top = 0;
int buttom = 10;
int velocity_x = 1;
int velocity_y = 1;
while (1)
{
x += velocity_x;
y += velocity_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==buttom)
velocity_x = -velocity_x;
if(y==left||y==right)
velocity_y = -velocity_y;
}
return 0;
}
第四步,让程序更有趣,让小球斜着弹跳。主要思路是增加x,y两个方向的速度控制变量,一个碰到上下边界后改变正负号,一个碰到左右边界后改变正负号。
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
int i, j;
int x = 0;
int y = 5;
int left = 0;
int right = 20;
int top = 0;
int buttom = 10;
int velocity_x = 1;
int velocity_y = 1;
while (1)
{
x += velocity_x;
y += velocity_y;
system("cls");
for (i = 0; i < x; i++)
printf("\n");
for (j = 0; j < y; j++)
printf(" ");
printf("O");
printf("\n");
Sleep(10);
//小球位于边界时改变小球的速度方向
if (x == top||x==buttom)
velocity_x = -velocity_x;
if(y==left||y==right)
velocity_y = -velocity_y;
}
return 0;
}