从锦囊妙计想到的31–让您的图形上下动起来

前面30中, 我们做到了让程序动起来, 但是他仅仅是动了, 我们了解了动的原理, 今天我们让程序更进一步动起来, 先从上下移, 移动到最下面后, 在像是移动, 彼此往返

一。 创建一个项目, 输出一个三角形, 如下图

完整参考代码如下:

#include <stdio.h>
#include <stdlib.h>
// 演示程序中三角形上下移动

#include <windows.h>

// 定义一个输出三角形的函数, lineCount为三角形具有的行数
int shuSanJiaoXing(int lineCount)
{
for(int i = 0; i < lineCount; i++){
shuChuHang(i);
}

// 输出倒三角形的部分代码
for(int i = 1; i < lineCount; i++)
{
shuChuHang(lineCount - i - 1);
}
}

// 输出一行的星号
int shuChuHang(int xingCount)
{
for(int i = 0; i < xingCount; i++)
{
printf("*");
}
printf("\n");
}

int main()
{
printf("Hello world!\n");

shuSanJiaoXing(5);
return 0;
}

 

二。 让图形从上向下移动

如下图

111

参考代码如下:

#include <stdio.h>
#include <stdlib.h>
// 演示程序中三角形上下移动

#include <windows.h>

// 定义一个输出三角形的函数, lineCount为三角形具有的行数
int shuSanJiaoXing(int lineCount)
{
for(int i = 0; i < lineCount; i++){
shuChuHang(i);
}

// 输出倒三角形的部分代码
for(int i = 1; i < lineCount; i++)
{
shuChuHang(lineCount - i - 1);
}
}

// 输出一行的星号
int shuChuHang(int xingCount)
{
for(int i = 0; i < xingCount; i++)
{
printf("*");
}
printf("\n");
}

int movieLine(int line)
{
for(int i = 0; i < line; i++)
{
printf("\n");
}
}

int main()
{
printf("Hello world!\n");

for(int i = 5; i < 15; i++){
system("cls");
movieLine(i);
shuSanJiaoXing(5);
Sleep(1000);
}

return 0;
}

重点代码解释如下:

 

三。让图形上下移动

添加一些使图形向下移动的代码,最终效果如下:

shangxia

参考代码如下:

#include <stdio.h>
#include <stdlib.h>
// 演示程序中三角形上下移动

#include <windows.h>

// 定义一个输出三角形的函数, lineCount为三角形具有的行数
int shuSanJiaoXing(int lineCount)
{
 for(int i = 0; i < lineCount; i++){
 shuChuHang(i);
 }

 // 输出倒三角形的部分代码
 for(int i = 1; i < lineCount; i++)
 {
 shuChuHang(lineCount - i - 1);
 }
}

// 输出一行的星号
int shuChuHang(int xingCount)
{
 for(int i = 0; i < xingCount; i++)
 {
 printf("*");
 }
 printf("\n");
}

int movieLine(int line)
{
 for(int i = 0; i < line; i++)
 {
 printf("\n");
 }
}

int main()
{
 printf("Hello world!\n");

 // 向下移动
 for(int i = 1; i < 15; i++){
 system("cls");
 movieLine(i);
 shuSanJiaoXing(5);
 Sleep(1000);
 }

 Sleep(1000);

 // 向上移动
 for(int i = 15; i > 0; i--){
 system("cls");
 movieLine(i);
 shuSanJiaoXing(5);
 Sleep(1000);
 }

 return 0;
}

上面代码中已经添加了注释部分,一部分包括向上移动的代码, 另外一部分是向下移动的代码

 四。想象中的事物和逻辑代码

对于程序就是一些列代码, 他能执行, 但是能动吗, 他一直在计算机里面,没出来过。 那么动的是什么?

是人看到了三角形, 看到了三角形先向下动,  然后三角形 向上动。

非常显然 , 对于人来说, 看到的主体是 三角形,   三角形的运动是主体的行为。

那么代码中, 有体现三角形的东西吗?   有体现主体的行为的东西吗?若是没有那么代码空间, 同我们的思维空间中的东西, 就有点 怪怪的!

 五。代码改造, 参照想象中的对象, 改造代码,尽量符合一致

1. 首先我们定义一个主体  就是三角形, 其实就是绘制三角形, 这个似乎已经有了

2. 专门有个功能是 三角形移动

3. 对三角形移动做出细分, 分为向上移动, 以及向下移动

4. 在细分一下, 向下移动多少后, 停止移动

5. 停止移动多少后, 开始向上移动

 

 

相关文章

计算机介绍                                  从锦囊妙计想到的01

流程图(分支结构)介绍          从锦囊妙计想到的02

线程介绍                                     从锦囊妙计想到的03

循环结构介绍                             从锦囊妙计想到的05

流程线程总结                             从锦囊妙计想到的06

cpu和线程定义、开始               从锦囊妙计想到的07

分布式计算                                  从锦囊妙计想到的08

分布式中事件和计数                 从锦囊妙计想到的09

内容总结                                     从锦囊妙计想到的10

数据类型,变量简介                从锦囊妙计想到的11

函数和参数                                从锦囊妙计想到的12

用户交互与数据输入输出       从锦囊妙计想到的13

人机交互界面                            从锦囊妙计想到的15 

过程与对象                                从锦囊妙计想到的16

同步和异步                                从锦囊妙计想到的17

顺序打印                                    从锦囊妙计想到的18

数据输入输出                            从锦囊妙计想到的19

屏幕坐标和打印                        从锦囊妙计想到的20

java函数控制输出                     从锦囊妙计想到的21

逐步细化解决复杂问题           从锦囊妙计想到的22

java入门                                    从锦囊妙计想到的23

java复杂过程分析                   从锦囊妙计想到的25

中间辅助功能解决问题          从锦囊妙计想到的26

叠加操作输出复杂图形          从锦囊妙计想到的27

时间和空间                               从锦囊妙计想到的28

编写边测解决问题                  从锦囊妙计想到的29

让程序动起来                          从锦囊妙计想到的30

程序往复运动                           从锦囊妙计想到的31