这个用C++的精灵库画苹果的价值何在呢?任何东西,只要放在了正确的位置,都能发挥出它最大的价值。我们先来看一下代码:

#include "sprites.h"  //包含C++精灵库 
Sprite t;      //建立角色叫t,t就像一只海龟,但它的造型默认是小火箭,因为C++精灵库的目标是培养走向星辰大海孩子

int main(){        //主功能块 
    
    t.bgcolor("black").speed(1).pu().addy(150).pd().left(30);
    //画苹果的轮廓
    t.circle(-400,12).circle(-100,90);
    t.circle(-200,200).circle(-100,90);
    t.circle(-400,12).fill("red",0,-10); //填充为红苹果
    
    t.penup().move(-30,-40); //移到这里开始画苹果的柄
    t.pensize(6).color("#520305").pendown();
    t.circle(100,60).circle(100,-30);    
    t.left(90).circle(100,30);
    t.right(90).color("#0fff33");
    t.pensize(2);    //开始画绿叶
    t.circle(60,90).left(90);
    t.circle(60,90).left(90);
    t.fill("green",5,15);  //填充绿色叶子
    t.left(90).color("#520305");
    t.pensize(6).circle(100,30);    
    
    t.ht().done();
  
   return 0;    //返回0
}

这是上面的程序运行的效果:

这段代码使用C++精灵库(Sprites)来绘制一个红苹果图形。它用类似Python turtle的circle命令来绘制苹果。所以上面的核心代码放到Python IDLE中,修改一下,也可以画出苹果.,我们来描述一下大概的绘画过程。

  1. 准备画布和角色
    包含C++精灵库:首先,代码通过 #include "sprites.h" 引入了精灵库,这是绘制图形的基础。
    创建角色:Sprite t; 创建了一个名为 t 的角色,这个角色就像一只可以画画的海龟,但它默认的造型是一个小火箭。为什么要设计一枚火箭作为角色的默认造型?这里面的讲究就是蕴涵航天科技。
  2. 设置画布背景和初始位置
    通过一定的准备工作,如设置背景色和速度,代码为,t.bgcolor("black").speed(1).pu().addy(150).pd().left(30); 这行代码设置了画布背景为黑色,角色移动速度为1(较慢),然后角色抬起笔(pu()),向上移动150个单位(addy(150)),放下笔(pd()),并向左转30度(left(30))。这样角色就准备好了。
  3. 画苹果的轮廓
    接着角色绘制苹果的轮廓:这几行代码 t.circle(-400,12).circle(-100,90); t.circle(-200,200).circle(-100,90); t.circle(-400,12).fill("red",0,-10); 通过多个 circle 方法绘制了苹果的轮廓。这些 circle 方法通过不同的参数(如半径和角度)来画出苹果的不规则圆形轮廓。最后,fill("red",0,-10); 将苹果的内部填充为红色。
  4. 画苹果的柄
    为了更加形象,画出苹果的其它组织。比如一个小柄,首先移动到柄的位置:t.penup().move(-30,-40);
    绘制柄:t.pensize(6).color("#520305").pendown(); t.circle(100,60).circle(100,-30); t.left(90).circle(100,30); 设置画笔的粗细为6,颜色为深棕色(#520305),然后放下笔开始画苹果的柄。通过几个 circle 方法和 left 方法来画出弯曲的柄。
  5. 画绿叶
    少了绿叶的衬托怎么行呢? 所以要绘制绿色的叶子:t.right(90).color("#0fff33"); t.pensize(2); t.circle(60,90).left(90); t.circle(60,90).left(90); t.fill("green",5,15); 角色右转90度,设置画笔颜色为亮绿色(#0fff33)和粗细为2,然后画两个弧形来形成叶子的形状,并用 fill("green",5,15); 填充为绿色。
  6. 完成柄的绘制
    完成柄的剩余部分:t.left(90).color("#520305"); t.pensize(6).circle(100,30); 角色左转90度,恢复柄的颜色和粗细,完成柄的剩余部分绘制。
  7. 结束绘制
    隐藏角色并完成:最后,t.ht().done(); 隐藏角色(ht())并结束绘制(done())。
    这样,一个红苹果就绘制完成了!这段代码通过一系列精确的移动和绘制命令,逐步构建出了一个形象生动的苹果图形。

总之,代码比较简单,只要灵活动用circle命令即可。它的最大价值在于青少儿C++编程的教育意义。遵循逐层递进的原则,让孩子们首先掌握在这一个层次的代码,以便为以后更加深入的算法等编程树立良好的信心。
https://www.bilibili.com/video/BV1vgz1BDEsv/?aid=115950242302...

标签: none

添加新评论