Escribe tu código en español y presiona Ejectuar.
Bienvenido. En este lenguaje guardamos datos en cajas (variables) y mostramos mensajes con imprimir.
caja nombre = "Tu Nombre"
caja edad = 12
imprimir("Hola " + nombre)
imprimir("Tienes " + edad + " años")
Los programas pueden pensar. Usa si y sino para elegir caminos distintos.
caja hora = 14
si (hora < 12) entonces {
imprimir("Buenos días ☀️")
} sino {
imprimir("Buenas tardes 🌑")
}
// Operadores de comparación:
// == (igual), != (diferente)
// < (menor), > (mayor)
// <= (menor o igual), >= (mayor o igual)
Usa elegir para evaluar muchos casos posibles.
caja opcion = 2
elegir(opcion) {
caso 1: { imprimir("Ganaste Medalla Oro") }
caso 2: { imprimir("Ganaste Medalla Plata") }
defecto: { imprimir("Sigue intentando") }
}
Usa verdadero y falso para guardar decisiones.
caja esDeDia = verdadero
caja llueve = falso
si (esDeDia) entonces {
imprimir("¡Buenos días! ☀️")
}
hora a 9 para ver el saludo de la mañana.
Usa mientras para repetir algo muchas veces sin escribirlo de nuevo.
caja cohete = 5
mientras (cohete > 0) {
imprimir(cohete + "...")
caja cohete = cohete - 1
}
imprimir("¡DESPEGUE! 🚀")
Usa para cuando sepas cuántas veces repetir.
para (caja i = 0; i < 5; caja i = i + 1) {
imprimir("Repetición #" + i)
}
Las funciones son como mini-programas que puedes reusar. Puedes darles datos (parámetros).
funcion saludar(quien) {
imprimir("¡Hola super " + quien + "!")
}
saludar("Programador")
saludar("Amigo")
Las funciones pueden devolver resultados con retornar.
funcion sumar(a, b) {
retornar a + b
}
caja resultado = sumar(5, 3)
imprimir("Resultado: " + resultado)
Controla a la tortuga con comandos especiales. ¡Puedes combinarlo con bucles!
caja lados = 4
mientras (lados > 0) {
avanzar(100)
girar(90)
caja lados = lados - 1
}
Las Listas te permiten guardar muchas cosas en una sola caja.
caja amigos = ["Ana", "Beto", "Carla"]
imprimir(amigos[0]) // Muestra Ana
imprimir(amigos[2]) // Muestra Carla
¡Haz que tu programa haga preguntas! Usa leer para pedir datos.
imprimir("¿Cómo te llamas?")
caja nombre = leer()
imprimir("Hola, " + nombre)
Lo que escribe el usuario es texto. Usa numero() para hacer cálculos.
imprimir("Dime tu edad:")
caja texto = leer()
caja edad = numero(texto)
imprimir("En 5 años tendrás: " + (edad + 5))
Nuevas funcionalidades para escribir código profesional.
Una decisión rápida en una línea: condición ? valorSiVerdadero : valorSiFalso
caja edad = 18
caja estado = edad >= 18 ? "Mayor" : "Menor"
imprimir(estado) // "Mayor"
// Útil para valores condicionales
caja descuento = edad >= 65 ? 20 : 0
imprimir("Descuento: " + descuento + "%")
Atajos matemáticos.
caja puntos = 100
puntos += 50 // Suma 50
puntos *= 2 // Doble puntos
puntos -= 10 // Resta 10
imprimir(puntos)
caja antes de estos atajos. Solo úsalos para cambiar
variables que ya creaste.
Combina condiciones.
caja tieneLlave = verdadero
caja nivel = 10
si (nivel == 10 y tieneLlave) {
imprimir("¡Entraste al nivel secreto!")
}
Superpoderes listos para usar.
// Aleatoriedad
imprimir("Dado: " + azar(6)) // 0 a 5
// Cálculos
imprimir("Raíz: " + raiz(25)) // 5
imprimir("Seno: " + seno(90)) // 1
imprimir("Coseno: " + coseno(0)) // 1
imprimir("Tangente: " + tangente(45)) // 1
imprimir("Piso: " + piso(4.9)) // 4
imprimir("Techo: " + techo(4.1)) // 5
imprimir("Residuo: " + residuo(10, 3)) // 1 (resto de 10/3)
caja txt = "hola mundo"
// Información
imprimir(longitud(txt)) // 10
// Transformación
imprimir(mayusculas(txt)) // "HOLA MUNDO"
imprimir(minusculas("HOLA")) // "hola"
// Extracción
imprimir(subcadena(txt, 0, 4)) // "hola"
// Búsqueda y reemplazo
imprimir(reemplazar(txt, "mundo", "amigo")) // "hola amigo"
// Verificación (retorna 1=verdadero, 0=falso)
imprimir(contiene(txt, "mundo")) // 1
imprimir(empieza_con(txt, "hola")) // 1
imprimir(termina_con(txt, "mundo")) // 1
// Dividir
caja palabras = dividir(txt, " ")
imprimir(palabras[0]) // "hola"
imprimir(palabras[1]) // "mundo"
caja lista = [1, 2, 3]
// Manipulación
empujar(lista, 4) // Agrega al final: [1, 2, 3, 4]
sacar(lista) // Elimina del final: [1, 2, 3]
insertar(lista, 1, 99) // Inserta en índice 1: [1, 99, 2, 3]
eliminar(lista, 0) // Elimina índice 0: [99, 2, 3]
// Información
imprimir(longitud(lista)) // 3
imprimir(indice_de(lista, 2)) // 1 (posición del 2)
// Asignación
lista[0] = 5 // [5, 2, 3]
imprimir(lista[0]) // 5
imprimir("Inicio...")
imprimir("Inicio...")
esperar(2) // Pausa 2 segundos
imprimir("...Fin")
¡Domina la programación con estos 35 retos! Completa cada nivel para convertirte en experto.
Crea una variable nombre con tu nombre y edad con tu edad. Imprime: "Hola
[nombre], tienes [edad] años".
Crea dos variables numéricas. Imprime su suma, resta, multiplicación y división.
Crea tres variables: animal, color y accion. Combínalas para
formar una frase loca (ej: "El gato azul vuela").
Crea una variable es_tarde (1 o 0). Imprime "Es tarde: " y el valor de la variable.
Usa leer("Di algo") para pedir texto al usuario y luego imprímelo dos veces.
Pide la edad. Si es mayor o igual a 18, imprime "Pasa". Si no, "A casa".
Pide un número. Usa si/sino anidados para decir si es "Positivo", "Negativo" o "Cero".
Usa un bucle para o mientras para contar del 10 al 0.
Elige un número (ej: 7). Usa un bucle para imprimir su tabla del 1 al 10 (ej: "7 x 1 = 7").
Suma todos los números del 1 al 100 usando un bucle y una variable total. Imprime el
resultado (debería ser 5050).
Pide un número. Usa residuo(num, 2). Si el resultado es 0, es par. Si no, impar.
Pide una palabra. Usa longitud() para decir cuántas letras tiene.
Crea una lista con 3 nombres. Agrega uno más con empujar. Imprime el último nombre.
Crea un texto con la palabra "secreto". Usa reemplazar para cambiar "secreto" por "*****".
Define `secreto = 5`. Pide un número al usuario. Si adivina, "¡Ganaste!". Si no, "Intenta de nuevo".
Define una función cuadrado(x) que retorne x * x. Pruébala con el 5 y el 10.
Crea una función maximo(a, b) que retorne el número más grande de los dos.
Calcula el factorial de 5 (5*4*3*2*1) usando un bucle o recursión.
Dada una lista `[1, 2, 3, 4, 5, 6]`, crea un bucle que imprima solo los números pares.
Dada una lista de números, recórrela para encontrar e imprimir el valor más alto.
Crea una lista y, usando un bucle, crea una nueva lista con los elementos al revés.
Comprueba si una palabra se lee igual al revés (ej: "oso"). Pista: Usa lógica de inversión de texto.
Del 1 al 20: Si es múltiplo de 3 imprime "Fizz", de 5 "Buzz", de ambos "FizzBuzz". (Usa `residuo`).
Genera los primeros 10 números de la secuencia Fibonacci (0, 1, 1, 2, 3, 5...).
El juego genera un número `azar(10)`. El usuario intenta adivinar en un bucle `mientras` hasta lograrlo.
Función buscar(lista, valor). Recorre la lista y retorna el índice del valor, o -1 si no
está.
Dada una lista de notas `[10, 8, 9, 5]`, calcula el promedio (suma / cantidad).
Crea un string con letras "abcdef...". Usa `azar` y un bucle para elegir 5 letras al azar y formar una clave.
Usa bucles anidados para dibujar:
*
**
***
****
Función es_primo(n). Retorna 1 si el número solo es divisible por 1 y por sí mismo.
Función que cuente cuántas vocales (a,e,i,o,u) hay en un texto.
Intenta ordenar una lista de números de menor a mayor usando cualquier algoritmo (ej: Burbuja).
Función que reciba "tipo" ("circulo", "rectangulo") y dimensiones, y use `si/sino` para calcular el área correcta.
Juega contra la computadora. Usa `azar(3)` para que la PC elija.
Crea una historia interactiva donde el usuario elige caminos ("norte", "sur") y cambia el final de la historia.
¡Crea tus propios juegos! El motor de juegos te permite hacer sprites, física, colisiones y más.
Crea sprites con imágenes o formas geométricas:
// Con imagen
caja heroe = crear_personaje("https://cdn-icons-png.flaticon.com/512/1000/1000997.png")
// Formas geométricas
caja pared = crear_rectangulo(100, 400, "gray")
caja pelota = crear_circulo(30, "red")
fijar_posicion(heroe, 100, 200)
fijar_escala(heroe, 2) // Doble de tamaño
Activa la gravedad y haz que tu personaje salte:
activar_gravedad(heroe, 0.8)
cuando_tecla(" ", funcion() {
saltar(heroe, 15)
})
Usa cuando_actualizar para código que se ejecuta siempre (60 veces por segundo):
caja puntos = 0
cuando_actualizar(funcion() {
// Obtener posiciones
caja x = obtener_x(obstaculo)
caja y = obtener_y(heroe)
// Mover obstáculo
mover(obstaculo, -3, 0)
// Detectar colisión
si (toca(heroe, obstaculo)) {
fondo("red")
imprimir("¡Game Over!")
}
})
si (toca(heroe, moneda)) {
puntos = puntos + 10
reproducir_sonido("https://actions.google.com/sounds/v1/cartoon/cartoon_boing.ogg")
}
| Función | Descripción |
|---|---|
crear_personaje(url) |
Crea un sprite con imagen |
crear_rectangulo(ancho, alto, color)
|
Crea un rectángulo coloreado |
crear_circulo(radio, color)
|
Crea un círculo coloreado |
mover(sprite, dx, dy) |
Mueve relativamente |
fijar_posicion(sprite, x, y)
|
Posición absoluta |
obtener_x(sprite) |
Obtiene posición X |
obtener_y(sprite) |
Obtiene posición Y |
fijar_escala(sprite, escala)
|
Cambia el tamaño |
activar_gravedad(sprite, [fuerza])
|
Activa física |
saltar(sprite, fuerza) |
Impulso hacia arriba |
fijar_velocidad(sprite, vx, vy)
|
Velocidad directa |
cuando_tecla(tecla, funcion)
|
Al presionar tecla |
cuando_soltar_tecla(tecla, funcion)
|
Al soltar tecla |
cuando_actualizar(funcion)
|
Bucle continuo (60 FPS) |
toca(sprite1, sprite2) |
Detecta colisión |
fondo(color) |
Color de fondo |
crear_texto(txt, x, y) |
Texto en pantalla |
fijar_texto(textObj, nuevoTexto)
|
Actualiza texto |
reproducir_sonido(url) |
Efecto de sonido |
// Configuración
fondo("skyblue")
caja pajaro = crear_personaje("https://cdn-icons-png.flaticon.com/512/1000/1000997.png")
caja obstaculo = crear_personaje("https://cdn-icons-png.flaticon.com/512/1000/1000959.png")
caja puntos = 0
caja marcador = crear_texto("Puntos: 0", 20, 50)
caja vivo = verdadero
fijar_posicion(pajaro, 100, 200)
fijar_posicion(obstaculo, 400, 350)
fijar_escala(obstaculo, 2)
activar_gravedad(pajaro, 0.6)
// Saltar
cuando_tecla(" ", funcion() {
si (vivo) {
saltar(pajaro, 12)
reproducir_sonido("https://actions.google.com/sounds/v1/cartoon/cartoon_boing.ogg")
}
})
// Lógica del juego
cuando_actualizar(funcion() {
si (vivo) {
mover(obstaculo, -3, 0)
caja x = obtener_x(obstaculo)
si (x < -100) {
fijar_posicion(obstaculo, 600, 350)
puntos = puntos + 1
fijar_texto(marcador, "Puntos: " + puntos)
}
si (toca(pajaro, obstaculo)) {
vivo = falso
fondo("red")
fijar_texto(marcador, "¡Perdiste! Puntos: " + puntos)
}
}
})
fijar_velocidad para movimiento continuo, no mover en eventos