Skip to content

Instantly share code, notes, and snippets.

View lrlucena's full-sized avatar
🦐
Working on Potigol Language (potigol.github.io)

Leonardo Lucena lrlucena

🦐
Working on Potigol Language (potigol.github.io)
View GitHub Profile
//------------ GENERATOR ------------------
def fill(px: Int, py: Int)(word: String): Unit = {
var (x, y) = ind(px, py)(word)
for ((c, i) <- word.zipWithIndex) {
matrix(x + px * i)(y + py * i) = c
}
}
def ind(px: Int, py: Int)(word: String): (Int, Int) = {
@lrlucena
lrlucena / d3.poti
Created November 3, 2017 19:40
Desafio 03 - Os Programadores
# Usando a linguagem Potigol: potigol.github.io
palindromos(min, max: Inteiro) =
para i de min até max se i.texto == i.texto.inverta gere i fim
testes = [(0, 20), (3000, 3010), (0, 1000), (1000, 2000), (2000, 3000)]
para teste em testes faça
min, max = teste.primeiro, teste.segundo
escreva "{min} - {max}: {palindromos(min, max).junte(", ")}
|=========="
@lrlucena
lrlucena / texto1.poti
Last active October 19, 2017 19:00
Aula Texto
# Texto
a = "IFRN"
b = "TADS"
c = a + b # "IFRNTADS"
d = a * 2 # "IFRNIFRN"
x = 10
escreva "Alagoas {x}."
use "jerimum"
largura = jogo.largura div 20
altura = jogo.altura div 20
img_fundo = Imagem("grama.jpg")
img_cobra = Imagem("cobra.png")
img_comida = Imagem("comida.png")
cobra_x = largura div 4
cobra_y = altura div 2
@lrlucena
lrlucena / leiame.MD
Last active October 13, 2017 20:48
Compilando programas em Potigol

Compilando Potigol

Uma forma de tornar mais rápida a execução de programas em Potigol é transcrever os programas para a lingaugem Scala e em seguida realizar a compilação.

Download do Potigol

Faça o download da linguagem Potigol (https://github.com/potigol/Potigol/releases/download/0.9.13/potigol.zip) e descompacte. Copie os arquivos deste gist para a pasta do Potigol.

Download de Scala versão 2.11.8

@lrlucena
lrlucena / ParaEnquanto
Last active October 6, 2017 23:42
Enquanto
para i de 1 até 10 faça
escreva i
fim
var i := 1
var stop := falso
enquanto i <= 10 e não stop faça
escreva i
i := i + 1
se i > 5 então

Exercícios

1. Mostrar os números de 100 até 200 variando de 10 em 10.

para i de 100 até 200 passo 10 faça
  escreva i
fim

2. Mostrar os múltiplos positivos de 7 menores que 100.

use "ponto.poti"
use "IA.poti"
largura = 15
altura = 15
inicio = Ponto(3,3)
final = Ponto(8,9)
barreiras = [Ponto(3,5), Ponto(4,4), Ponto(4,3), Ponto(3,6)]
@lrlucena
lrlucena / dado.poti
Last active June 29, 2017 13:29
Definindo novos tipos
tipo Dado
lados: Inteiro
var valor = aleatório(1, lados)
rolar()
valor := aleatório(1, lados)
fim
fim
d1 = Dado(6)
escreva d1.valor
@lrlucena
lrlucena / mapa.poti
Last active June 26, 2017 11:27
Jogo para percorrer um mapa
mapa = Matriz.mutavel(12,12," ")
PAREDE = "▓"
JOGADOR = "♞"
var x := 3
var y := 11
montar_mapa()
para i de 1 até 12 faça
mapa[i][1] := PAREDE
mapa[i][12] := PAREDE