O universo das tartarugas

Esta é uma adaptação do LOGO para o Programmer's Learning Machine.

É diretamente inspirado no trabalho do matemático Seymour Papert nos anos 60. Inspirado no psicólogo suíço Jean Piaget, apresentou um método de ensino chamado LOGO para ensinar programação para crianças pequenas. O mundo é cheio de tartarugas que deixam um rastro de tinta por onde passam e que obedecem a comandos simples.

Funções para mover a tartaruga

[!java|c]void [/!]avançar([!java|c]double [/!]passos[!scala]:Double[/!])
[!java|c]void [/!]recuar([!java|c]double [/!]passos[!scala]:Double[/!])
Move para frente e para trás na quantidade de passos pedidos.
[!java|c]void [/!]direita([!java|c]double [/!]ângulo[!scala]:Double[/!])
[!java|c]void [/!]esquerda([!java|c]double [/!]ângulo[!scala]:Double[/!])
Vira à esquerda ou à direita um dado ângulo (em graus).
[!java|c]double [/!]getX()[!scala]:Double[/!]
[!java|c]double [/!]getY()[!scala]:Double[/!]
Retorna a posição atual da tartaruga. Observe que o ponto (0,0) está no canto superior esquerdo, como é comum na ciência da computação.
[!java|c]void [/!]setX([!java|c]double [/!]x[!scala]:Double[/!])
[!java|c]void [/!]setY([!java|c]double [/!]y[!scala]:Double[/!])
[!java|c]void [/!]setPos([!java|c]double [/!]x[!scala]:Double[/!], [!java|c]double [/!]y[!scala]:Double[/!])
Teletransporta a tartaruga para uma nova posição (sem deixar rastros).
[!java|c]void [/!]moverPara([!java|c]double [/!]x[!scala]:Double[/!], [!java|c]double [/!]y[!scala]:Double[/!])
Move a tartaruga para uma nova posição.
[!java|c]void [/!]círculo([!java|c]double [/!]raio[!scala]:Double[/!])
Desenha um círculo de raio especificado com o centro na tartaruga.
[!java|c]void [/!]hide()
Esconde a tartaruga.
[!java|c]void [/!]show()
Mostra novamente a tartaruga.
[!java]boolean [/!][!c]int [/!]isVisible()[!scala]:Boolean[/!]
Retorna se a tartaruga é visível ou não.
[!java|c]void [/!]clear()
Remove todos os rastros do papel.
[!java|c]double [/!]getHeading()[!scala]:Double[/!]
Retorna a direção atual da tartaruga (em graus).
[!java|c]void [/!]setDireção([!java|c]double [/!]ângulo[!scala]:Double[/!])
Ajusta uma nova direção para a tartaruga (em graus).

Funções da caneta

[!java|c]void [/!]penUp()
Levanta a caneta (tartarugas têm canetas, não pinceis, como os buggles). A tartaruga não vai deixar nenhum rastro durante os seus passos seguintes.
[!java|c]void [/!]penDown()
Abaixa a caneta. A tartaruga vai deixar um rastro nos próximos movimentos.
[!java]boolean [/!][!c]int [/!]isPenDown()[!scala]:Boolean[/!]
Retorna a posição atual da caneta como um booleano.
[!java|c]Color [/!]getColor()[!scala]:Color[/!]
Retorna a cor atual da caneta.
[!java|c]void [/!]setCor([!java|c]Cor [/!]cor[!scala]:Cor[/!])
Muda a cor da caneta.

Outras funções

[!java]boolean [/!][!c]int [/!]isSelected()[!scala]:Boolean[/!]
Retorna se a tartaruga atual está selecionada na interface gráfica.

Cores válidas

NomeCor
[!scala|java|python]Cor.[/!]black  
[!scala|java|python]Cor.[/!]azul  
[!scala|java|python]Cor.[/!]ciano  
[!scala|java|python]Cor.[/!]cinzentoEscuro  
[!scala|java|python]Cor.[/!]cinzento  
[!scala|java|python]Cor.[/!]verde  
[!scala|java|python]Cor.[/!]cinzentoClaro 
[!scala|java|python]Cor.[/!]magenta  
[!scala|java|python]Cor.[/!]laranja  
[!scala|java|python]Cor.[/!]rosa  
[!scala|java|python]Cor.[/!]vermelho  
[!scala|java|python]Cor.[/!]branco  
[!scala|java|python]Cor.[/!]amarelo