欢迎来到天天文库
浏览记录
ID:57254235
大小:2.54 MB
页数:58页
时间:2020-08-04
《海龟画图讲课资料.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C程序设计基础——海龟画图林大经管学院瞿华海龟画图建立海龟画图项目基本命令循环与基本图形一、建立海龟画图项目选择“C语言程序设计”选项卡中的“C语言-海龟作图”注意填写项目名称一、建立海龟画图项目选择项目文件(.dev文件)的保存位置最好将每个项目的文件放在单独的目录中可使用该按钮创建新目录一、建立海龟画图项目项目向导会自动为项目生成一个可以运行的demo程序。直接在该程序基础上进行修改即可。一、建立海龟画图项目注意:打开已有项目时,要打开项目文件(.dev文件)二、基本命令海龟作图(TurtleGraphics)的基本思想是这样的:屏幕上
2、有一只小海龟,我们可以给它下命令在屏幕上爬行海龟爬行的时候,会在屏幕上留下痕迹,从而产生图形。二、基本命令程序初始化和控制相关:initWorld(width,height);设置绘图窗口大小为width*heightsetSpeed(x);设置海龟的爬行速度,1为最慢,1000为最快setImmediate(x);设置是否显示动画。0为显示,1为不显示。缺省为显示动画pause();程序等待用户按任意键setRewind(x);设置海龟爬到屏幕边缘时是否自动回绕。0为自动回绕,1为不自动回绕。缺省为自动回绕二、基本命令海龟运动相关:fd(
3、x);forward(x);向前爬行x个像素(x可以为小数)bk(x);backward(x);向后爬行x个像素lt(degree);leftTurn(degree);海龟向左转degree度(degree可以为小数)rt(double);rightTurn(degree);海龟向右转degree度home();海龟返回起始点(屏幕正中央)voidcs();voidclear();voidclearScreen();海龟返回起始点,同时清除屏幕上的所有痕迹二、基本命令画笔相关:voidpenUp();voidpu();抬笔,此时海龟爬行不留
4、痕迹voidpd();voidpenDown();落笔,此时海龟爬行留痕迹voidsetPenColor(color_tcolor);设置画笔的颜色常用颜色常量:BLACK黑色BLUE蓝色GREEN绿色CYAN青色RED红色MAGENTA紫色BROWN棕色LIGHTGRAY浅灰色DARKGRAY深灰色LIGHTBLUE浅蓝色LIGHTGREEN浅绿色LIGHTCYAN浅青色LIGHTRED浅红色LIGHTMAGENTA浅紫色YELLOW黄色WHITE白色2.1简单示例forward(100);rightTurn(90);forward(10
5、0);rightTurn(90);forward(100);rightTurn(90);forward(100);rightTurn(90);绘制正方形2.1.1正方形绘制for(i=1;i<=4;i++){forward(100);rightTurn(90);}绘制正方形(使用循环)2.1.2三角形绘制绘制三角形,思考:每次绘制完一条边后,海龟应该转多少度?应循环多少次?for(i=1;i<=3;i++){forward(100);rightTurn(120);}2.1.2三角形绘制思考(见下图):如果想绘制一个底边和窗口下沿平行的三角形
6、,该怎么办?希望画完图后,海龟的头部还是指向正上方,该怎么办?rightTurn(30);for(i=1;i<=3;i++){forward(100);rightTurn(120);}leftTurn(30);2.1.3复合图形思考:想绘制如下的图形,该怎么办?三、循环绘图使用循环和多重循环,可以绘制出更多美丽的图案3.1美丽花样forward(100);rightTurn(90);forward(100);rightTurn(90);forward(50);rightTurn(90);forward(50);rightTurn(90);f
7、orward(100);rightTurn(90);forward(25);rightTurn(90);forward(25);rightTurn(90);forward(50);3.1美丽花样for(i=1;i<=4;i++){forward(100);rightTurn(90);forward(100);rightTurn(90);forward(50);rightTurn(90);forward(50);rightTurn(90);forward(100);rightTurn(90);forward(25);rightTurn(90)
8、;forward(25);rightTurn(90);forward(50);}循环4次3.1美丽花样错开一点距离和角度,不断重复for(;;){forward(100);rig
此文档下载收益归作者所有