AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Cometa는 스페인어 문법을 가진 타입드 프로그래밍 언어로, 프로그래밍 학습 및 게임·도구 제작에 사용되며 Go로 컴파일됩니다
Cometa es un lenguaje de programación tipado con sintaxis en español. Sirve para aprender a programar y para crear juegos y herramientas. Compila a Go.
개발 도구Go · HTMLGitHub @crsolver온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기lenguaje de programación en español
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Cometa es un lenguaje de programación con sintaxis en español, pensado para aprender y para hacer juegos 2D por diversión. Los bloques se marcan con tabuladores, los tipos son estáticos y el programa se traduce a Go.README 전문 보기 ↗
Cometa es un lenguaje de programación con sintaxis en español, pensado para aprender y para hacer juegos 2D por diversión. Los bloques se marcan con tabuladores, los tipos son estáticos y el programa se traduce a Go.
usar std/mate
usar std/pincel
usar std/pincel/graficos
tipo Partida
pos mate.Vec2
pub fn actualizar(dt decimal)
@pos.x += 40 * dt
pub fn pintar()
graficos.rectangulo_v(@pos, {10, 10}, .Rojo)
fn inicio()
pincel.ejecutar(Partida {}, titulo = "Mi juego") atrapar |error|
imprimir(error)
cometa de la página de versiones y ponlo en tu PATH.COMETA_GO..vsix de la misma página; los pasos están en docs/empezar.md.cometa --version
cometa nuevo hola
cd hola
cometa ejecutar principal.cometa
Para un juego, usa cometa nuevo mi_juego --juego. La primera vez se descargan las dependencias del juego (hace falta internet); después es rápido. La guía completa está en docs/empezar.md.
| Quiero… | Lee |
|---|---|
| Ver programas cortos y comentados, de menor a mayor dificultad | examples/ |
| Hacer un juego | docs/juegos.md |
| Dibujar mis propios sprites con código | docs/lienzo.md |
| Animar con curvas de suavizado | docs/curvas.md |
| Generar terrenos con ruido | docs/ruido.md |
| Crear menús y paneles | docs/ui.md |
| Consultar todas las reglas del lenguaje | specs.md |
| Comando | Qué hace |
|---|---|
cometa nuevo <nombre> [--juego] [--sin-agentes] | Crea un proyecto listo para ejecutar, con AGENTS.md para asistentes de IA (que actúan como profesor). |
cometa ejecutar <archivo> | Compila y ejecuta. |
cometa construir <archivo> -o <salida> | Genera un ejecutable con todos los recursos incluidos. |
cometa captura <juego> -o <png> | Ejecuta un juego con la ventana oculta y guarda una captura. |
cometa mapa | Abre el editor de mapas en el navegador. |
cometa compilar <archivo> -o <salida.go> | Genera el código Go. |
cometa lsp | Inicia el servidor de lenguaje para el editor. |
enum Estado
Menu
Jugando
Fin
fn describir(estado Estado) cadena
casos estado
.Menu => "menú"
.Jugando => "jugando"
.Fin => "fin"
fn inicio()
var puntos = 0
mientras puntos < 3
puntos += 1
var texto = "42".a_entero() o 0
imprimir("${describir(.Jugando)}: ${puntos + texto}")
Además tiene listas, mapas [cadena: entero], opcionales (T?), resultados (T!), interfaces, genéricos, módulos con usar y casos sobre enums, números y textos. Todo está descrito en specs.md.
El repositorio contiene el compilador y el servidor de lenguaje (Go) y la extensión de VS Code (TypeScript). Consulta AGENTS.md para las convenciones del proyecto.
go test ./...
go vet ./...
cd vscode-extension
npm install
npm run build
npm run build compila el cliente y deja el ejecutable en vscode-extension/bin/. Para probar la extensión, abre el repositorio en VS Code, pulsa F5 y elige Run Cometa Extension. Si el servidor está en otra ruta, configura cometa.server.path; los fallos de arranque aparecen en Salida → Cometa Language Server.
El paquete github.com/crsolver/cometa/pkg/cometa es la API estable para otros programas Go (por ejemplo, un servidor que compila proyectos de sus usuarios) y no requiere lanzar el ejecutable. Acepta un archivo en disco o un proyecto en memoria, y devuelve el Go generado o un *cometa.Error con diagnósticos (archivo, línea, columna, etapa y mensaje; mismos nombres JSON que cometa probar --json):
archivos := map[string][]byte{
"principal.cometa": []byte("usar mundo/mapa\nfn inicio()\n\timprimir(mapa.ancho())\n"),
"mundo/mapa.cometa": []byte("pub fn ancho() entero 16\n"),
}
codigoGo, err := cometa.Compile("principal.cometa", cometa.Options{Files: archivos})
var e *cometa.Error
if errors.As(err, &e) {
for _, d := range e.Diagnostics {
fmt.Println(d.File, d.Line, d.Column, d.Message)
}
}
cometa.Check hace el mismo análisis sin generar código. Añádelo a tu módulo con go get github.com/crsolver/cometa@latest. Todo lo que está bajo internal/ puede cambiar sin aviso.
Licencia: MIT.
Las asperezas conocidas del lenguaje y la biblioteca están en MEJORAS.md.