# 一页纸 GoC 手册
基于 www.51goc.com (opens new window) 的手册进行修改
适用于佛山市南海区的孩子
# 设置笔的状态
# 设置笔的颜色
- 语法:
pen.c( color )
- c = color, 颜色
- color 表示“颜色”, 取值范围是 0 ~ 15
- 功能:
- 设置笔的颜色
- 一共有 16 种颜色, 编号 0 ~ 15
- 例子:
pen.c(1).fd(80)
# 设置笔的粗细
- 语法:
pen.size( width )
- size 表示“大小”
- width 表示“宽度”, 必须为正整数
- 功能:
- 设置笔的粗细为指定的宽度
- 例子:
pen.size(1).fd(100)
pen.size(8).fd(100)
# 抬笔
- 语法:
pen.up( )
- 功能:
- 抬笔之后, 笔移动就不会画出线段
- 抬笔只是影响 fd、bk、lineTo 命令,对画圆、椭圆、矩形等命令没有影响
- 例子:
pen.rt(90).fd(100).up( ).fd(100)
# 落笔
- 语法:
pen.down( )
- 功能:
- 程序默认就是落笔的状态
- 抬笔之后, 笔移动不会画出线段; 落笔之后, 笔移动会画出线段
- 例子:
pen.rt(90).fd(50).up( ).fd(50).down( ).fd(50)
# 基本画图命令
# 前进
- 语法:
pen.fd( length )
- fd = forward / 前进
- length 表示“长度”, 可以是整数或者小数
- 功能:
- 向前移动指定长度,画一条直线
- 例子:
pen.fd(50)
# 后退
- 语法:
pen.bk( length )
- bk = back / 后退
- length 表示“长度”, 可以是整数或者小数
- 功能:
- 向后移动指定长度,画一条直线
- 例子
pen.bk(80)
# 顺时针旋转
- 语法:
pen.rt( angle )
- rt = right / 向右
- angle 表示“角度”, 可以是整数或者小数
- 功能:
- 逆时针旋转指定角度
- 默认状态下, 笔的方向朝上, 是 0 度
- 例子:
pen.rt(60)
# 逆时针旋转
- 语法:
pen.lt( angle )
- lt = left / 向左
- angle 表示“角度”, 可以是整数或者小数
- 功能:
- 逆时针旋转指定角度
- 默认状态下, 笔的方向朝上, 是 0 度
- 例子:
pen.lt(60)
# 画圆
- 语法:
pen.o( r )
pen.o( r,c )
pen.oo( r )
pen.oo(r,c)
- 功能:
- 以笔所在的位置为圆心, 画圆,以 r 为半径, 以 c 为颜色
- 如果没有指定 c,就使用当前笔的颜色
pen.o()
是空心圆,pen.oo()
是实心圆
- 例子
pen.o(70).oo(50,3)
# 画椭圆
- 语法:
pen.e( w, h )
pen.e( w, h, c )
pen.ee( w, h )
pen.ee( w, h, c )
- 功能:
- 以笔所在的位置为圆心, 画椭圆, 以 w 为横半径, 以 h 为纵半径, 以 c 为颜色
- c 为颜色编号, 如果没有指定 c,就使用当前笔的颜色
pen.e( w, h )
是空心椭圆,pen.ee( w, h )
是实心椭圆- 如果设置了
picU(0)
, 绘制椭圆的方向, 会跟随笔头的方向
- 例子:
pen.rt(45).ee(40,70,13).e(30,60,1)
pen.rt(45).picU(0).ee(40,70,13).e(30,60,1)
# 画矩形
- 语法:
pen.r( w, h )
pen.r( w, h, c )
pen.rr( w, h )
pen.rr( w, h, c )
- 功能:
- 以笔的位置为中心,画矩形, 以 w 为矩形的宽, 以 h 为矩形的高
- c 为颜色编号, 如果没有指定 c,就使用当前笔的颜色
r
是空心矩形,rr
是实心矩形
# 清理屏幕
- 语法:
pen.cls( )
- cls = clearScreen / 清除屏幕
- 功能:
- 清除整个绘图区域。笔回到坐标原点,并且方向朝上(0度)
# 坐标命令
# 移动
- 语法:
pen.moveTo( x, y )
- 功能:
- 将笔移动到指定坐标,但不画图. 也就是说, 在移动的过程中, 不会画线
- 功能:
- moveTo命令不会画出线条,笔的方向也不会改变
- 注意:
- moveTo 命令不会画线,笔的方向也不会改变. lineTo 命令会画出线条,但笔的方向不会改变
- 例子
pen.oo(20,1).moveTo(40,0).oo(20,2).moveTo(80,0).oo(20,3)
# 连线
- 语法:
pen.lineTo( x, y )
- 功能:
- 将笔移动到指定坐标, 在移动的过程中会画线
- 注意:
- lineTo 命令会画出线条,但笔的方向不会改变. moveTo 命令不会画线,笔的方向也不会改变
- 例子:
pen.lineTo(50,50).lineTo(0,50).lineTo(0,0)
# 获取X坐标
- 语法:
getX( )
- 功能:
- 获得笔当前位置的X坐标值,并返回这个值
- 例子:
p.rt(60).fd(200).text(getX(),1)
# 获取Y坐标
- 语法:
getY( )
- 功能:
- 获得笔当前位置的Y坐标值,并返回这个值
- 例子:
pen.rt(60).fd(200); pen.text(getY())
# 获取角度
- 语法:
getAngle( )
- 功能:
- 获得笔当前的方向角度值,并返回这个值
- 例子:
pen.rt(60).fd(100); pen.text(pen.getAngle())
# 设置角度
- 语法:
pen.setAngle( a )
- 功能:
- 不管当前笔的方向,直接定位到角度a ( 记住, 朝上是 0 度)
- 例子:
pen.rt(60).fd(100).setAngle(180).fd(50)
# 输入 & 输出
# 键盘输入
- 语法:
cin>> x
- cin = c + in
- in 就是“输入”的意思
- 功能:
- 把键盘输入的数据, 存储到变量x
- 将获取输入的代码放入循环中, 就可以获取多次输入
- 例子:
int x; cin >> x;
# 设置键盘输入的提示
- 语法:
cinTitle( string )
- 功能:
- 设置键盘输入的提示
- 例子
int x; cinTitle("第1个人输入:"); cin >> x;
# 输出
- 语法:
cout<< x
- cout = c + out
- out 就是“输出”的意思
- 功能:
- 将信息输出显示到屏幕
- 例子:
cout << "面积=" <<12*5;
# 其他状态命令
# 显示笔
- 语法:
pen.show( )
- show 表示“显示”
- 功能:
- 显示笔头, 方便查看笔的位置、方向、颜色
- 配合
p.speed(3)
命令,可以减慢笔的移动过程, 可以直观地查看笔的运动, 方便调试代码
# 隐藏笔
- 语法:
pen.hide( )
- hide 表示“隐藏”
- 功能:
- 隐藏笔头
# 设置笔的移动速度
- 语法:
pen.speed( velocity )
- speed 表示“速度”
- velocity 表示“速度”, 一共分为 10 档,1 最慢,10 最快
- 功能:
- 配合
p.show()
命令可以直观地观察笔的运动过程, 方便调试程序
- 配合
# 等待
- 语法:
wait( second );
- wait 表示“等待”
- second 表示“秒数”
- 注意: wait 不是 pen 的命令,所以不能以
pen.
开头 - 非常适合用来制作动画
- 例子:
wait(0.2)
表示程序在这里会等待 0.2 秒
# 暂停
- 语法:
pause( )
: 使程序暂时停止运行。按任意键或鼠标点击时,程序继续运行pause( second )
: 使程序暂时停止运行- 非常适合用来调试代码 / Debug
- 例子:
pause(0.2)
表示程序在这里会等待 0.2 秒, 但是一旦按键, 就会继续执行
# 数学函数
# 随机函数
- 语法:
rand()
: 从 0 到 65535 这些整数当中,随机选取一个rand(a,b)
: 从 a 到 b 之间, 随机取一个整数