海龟绘图

void tpen(int x,int y,int bs,str ps);
//(x,y):起点坐标
//bs: 放大倍数
//ps:绘图字符串

示例

tpen(10,50,1,"C15RG15RRG15RRG6RRG9LLG9RRG6");

语法表

命令 描述 备注
L 左转45度
R 右转45度
P【淘汰】 绘图到目标点 目标点坐标由X、Y命令设置
M【淘汰】 移动到目标点,不绘制
Gn 前进n点
Cn 设置新的颜色号
Xn【淘汰】 设置目标点的X坐标 相对于起点坐标
Yn【淘汰】 设置目标点的Y坐标 相对于起点坐标
Sn 记录当前位置点set n:0-7
Jn jump跳到记录位置 n:0-7;跳转后绘制方向不变
Tn 是否抬笔 n=0,抬笔,G命令不绘制
n=1,落笔,G命令绘制;
Fn 强制方向,不支持旋转,0~7对应8个方向 默认0表示右水平X方向
方向+1表示逆时针+45度
Zn 设置bin数组句柄
En 设置bin中的元件编号
Kn 将当前坐标记录到bin对应的管脚编号,
注意n必须从0开始按顺序依次累加
A 左转90度,相当于LL
B 右转90度,相当于RR
Hn 设置bin中的元件编号,用于传递Kn对应的锚点
Kn 设置锚点,使用Hn传递给外围控制

说明:

tpen(10,50,1,"C15RG15RRG15RRG6RRG9LLG9RRG6");
tpen(40,50,2,"C15RG15RRG15RRG6RRG9LLG9RRG6");
tpen(90,50,3,"C15RG15RRG15RRG6RRG9LLG9RRG6");

绘制成:

附录:

图形 字符串
C15RG15RRG15RRG6RRG9LLG9RRG6
C15RRRG15LLG15LLG6LLG9RRG9LLG6
C15X-2Y-4PG5X-2Y4PG5X0Y0PG5LLG2RRRRG4
C15K0G3AG1BG5BG1S0G1BG5BG1J0BG3K1
C15K0BG4BG3BBG6BT0G1BG1T1G4AT0G1AG1T1G2
C15K0G3AG3BBG6T0AG2AT1G3S0G3J0BG3K1
C15K0G3BG1AG2S0AG4S1AG2AG1S2G2J2BG3K1
J1BRG3RBG10BRG3
C15K0T1G3AG4BT0G2BT1G1S0G1
T0G1T1G1S1G1 T0G1T1G1S2G1
T0BG2T1BG5BB AJ0G4AG4K1
BJ1G1S3LG1J3BG1LJ3G3BG7K2 J0G1BBG2 BJ2G4
C15K0AG3AG2BBG4
C15K0G4LG1BG1BG1BG1BRT0
G4T1LG1S1BG1S0BG1BG1J0BRG4K1
J1T0AG1BG1 AA T1G6BBG3AG2