CX-LOGO,这个软件不是特好用,特麻烦,可以锻炼智力,我记得小学时学过,当时觉得挺有意思的,后来才觉得无趣。你要下载百度一下就行了,^_^。其实,几何画板挺好用的(画图),比它强。
〔问题描述〕
设计并实现海龟抽象数据类型Turtle,并以此为基础设计一个演示海龟作图的程序。
〔基本要求〕
(1)设置海龟类型的基本 *** 作为:
procedure StartTurtleGraphlcs ;
{显示作图窗口,并在窗口内写出本人的姓名、上机号和实验题号。}
procedure StartTurtle;
{令海龟处于作图的初始状态。即显示作图窗口,并将海龟定位在窗口正中;}
procedure PenUp;
{改变画笔状态为抬笔。从此时起,海龟移动将不在屏幕上作图。}
procedure PenDown;
{改变画笔状态为落笔。从此时起,海龟移动将在屏幕上作图。}
function TurtleHeadins:inteser ;
{返回海龟头当前朝向的角度。}
function TurtlePos:PaPoint;
{返回海龟的当前位置。}
procedureMove(steps:Integer);
{依照海龟头的当前朝向,向前移动海龟steps步。}
procedureTurn(degrees:Integer);
{改变海龟头的当前朝向,逆时针旋转degrees度。}
procedure MoveTTo(newPos:aPolnt);
{将海龟移动到新的位置 newPos。如果是落笔状态,则同时作图。}
Procedure TurnTTo(angle:real);
{改变海龟头的当前朝向为,从正东方向起的angle度。}
proceduresetTurtleColor(color:Integer);
{设置海龟画笔的颜色为color。}
(2)利用上述定义的海龟实现作图命令,以画出任意长度的线段、任意大小的矩形和圆。
〔测试数据〕
由学生自行指定线段(的长度)、矩形(的长度和宽度)及圆(的半径)等参数。
〔实现提示〕
(1)海龟的相关类型说明为:
type penstate=(up,down);
aPoint=record v,h:real end;
newTurtle=record
heading:integer;
{龟头(画笔)方向,简称龟头朝向}
pen:penstate;
{画笔状态:uP抬笔,down落笔}
color:Integer;
{画笔当前颜色}
Pos:aPoint
{海龟当前位置}
end;
(2)将“海龟”实现为 Turbo Pascal的一个单元,并将其相关类型和变量说明封装在年元的实现部分,宿主程序仅通过单元的接口部分调用海龟进行作图。
Logo语言教程
>
repeat 5[fd 50 rt 140 fd 50 lt 68]
50是边长,可以自己修改成别的数字,
rt 140 和 lt 68 是画图过程中的两次转弯动作。右转的角度要永远比左转的角度大72度就可以保证画出来的是五角星。
你也可以用别的度数来试,比如150和78,100和28,都可以。不同的角度,画出来的效果是不一样的。五角星有的很“胖”,有的很“瘦”。
如果要想把五角星摆正,可以这样画:
rt 20 repeat 5[fd 50 rt 140 fd 50 lt 68]
提前右转一个角度,这个20度是这样算的:
90-140/2=90-70=20
如果你用别的角度如: rt a lt b, (a-b=72)
那么提前转弯的角度就是:90-a/2
以下是从logo的帮助文档里复制过来的关于towards命令的说明:
TOWARDS
Syntax
TOWARDS [xcoordinate ycoordinate]
Explanation
TOWARDS outputs a number which is the heading necessary for the turtle to rotate from its present position to the new position indicated by its input
list
SETHEADING TOWARDS [xcoordinate ycoordinate] heads the turtle in the direction of its input list
我试了一下,这个命令就是输出一个关于方向(角度)的数,用以指明海龟从现在所在的位置点朝向下一个目标位置点的方向(角度)。如果配合使用seth命令,就可以将海龟的方向直接指向目标点。
比如,海龟现在位于[0 0],如果海龟想要“看”向目标点[30 60],该设定多少度的方向呢?
towards [30 60]的结果是2657度,这样,只要使用seth 2657,就可以设置海龟的方向为2657度,海龟的头就朝向目标点[30 60]所在的方向了。
两个命令可以合起来用,就是 seth towards [30 60],意思就是“将海龟的头转向目标点[30 60]所在的方向”。
以上就是关于一个有小海龟的绘图软件全部的内容,包括:一个有小海龟的绘图软件、LOGO问题、logo 语言的命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)