0
点赞
收藏
分享

微信扫一扫

小熊猫C++编写海龟作图程序

未完待续。。。

初遇问题

使用内置的模板创建海龟作图小程序:

小熊猫C++编写海龟作图程序_基本命令

但是,编译运行时出现错误:

小熊猫C++编写海龟作图程序_基本命令_02

rturtle海龟绘图命令小结

在小海龟行动之前,我们需要熟悉一下绘图环境。这里用列表小结一下​​作者介绍过的命令​​。就像手册一样,你可以在用到时再查看。

函数名通常是由其功能作用相关的英文单词构成的组合或简写,还是比较好理解的。使用函数时,模仿一定要细致到位,比如要区分字母大小写参数数量和顺序、中英文符号格式,还要注意缩进、多写注释、不漏写字符等。

画布窗口相关命令

  • 创建作图窗口 initWorld( 800, 600 ) 尺寸为像素数
  • 设置背景色 setBackgroundColor( LIGHTBLUE )
  • 设置背景图片 setBackgroundImageFile( "d:\\banner-001.png" ) F4 隐藏/显示背景图片
  • 重新设置网格 createGrids() 如:createGrids(50,1,16,DARKGREEN,DARKRED); F2 隐藏/显示坐标网格
  • 截图 F5键来抓取当前窗口中的图形,并保存图片文件到.exe所在文件夹
  • 清屏 clearScreee( ) 或 cs( )
  • 等待关闭窗口 waitClose( );
  • 清理作图窗口 closeWorld( );

画笔和填充

想象海龟的身子下方有一只笔,笔的尺寸和颜色决定了海龟痕迹的粗细和颜色。

  • 画笔线条粗细 setPenSize( 3 )
  • 画笔颜色 setPenColor( DARKRED )
  • 落笔 penDown( ) 或 pd( ) 默认落下
  • 抬笔 penUp( ) 或 pu( )
  • 是否落下 isPenDown( )
  • 填充图形 beginFill( ) 开始……endFill( LIGHTGREEN )结束

*利用抬笔和落笔可绘制虚线。填充时,如果路径中存在交叉,则可能会有部分区域不能被填充。

*泛洪填充(fillToBorder、fill )还没有看到如何使用。

海龟移动基本命令

  • 设置速度 setSpeed( 500 ) 默认速度为100像素/秒
  • 前进距离 forward( ) 或 fd( 100 ) 尺寸为像素数
  • 后退距离 backward( ) 或 bk( 100 )
  • 左转角度 leftTurn( ) 或 lt( 90 ) 单位为度,360度为一圈
  • 右转角度 rightTurn( ) 或 rt( 90 )
  • 返回初始位置 home( )

坐标系和高级移动函数

后面的函数基于坐标系和方向角。

坐标系

小熊猫C++编写海龟作图程序_基本命令_03

【注意】原点在窗口正中间。

方向角

小熊猫C++编写海龟作图程序_背景图片_04

*后面的函数就是在坐标系和方向角基础上描述的。

有过程移动

  • 爬到点(x,y)处 gotoXY(x,y)
  • 转到方向角angle turnTo(angle)
  • 朝向点(x,y)转动 faceXY(x,y)

无过程瞬移

  • 瞬移到点(x,y)处 setXY(x,y)
  • 横移到横坐标为x setX(x)
  • 纵移到纵坐标为y setX(y)
  • 转到方向角angle setHeading(angle) 或 setAngle(angle) 貌似与 turnTo(angle) 相同啊,都是原地转
  • 瞬移回原点(0,0) home() 初始方向角为90度

获取海龟位置

  • 获取x、y坐标 getXY( )
  • 获取x坐标 getX( )
  • 获取y坐标 getY( )
  • 获取方向角 getHeading( ) 或 getAngle

还有一些函数,用到时再介绍吧。


引用

  • ​​https://www.zhihu.com/column/c_1554405188471123968​​


举报

相关推荐

0 条评论