🦎 GECK0

Version 0.4 - January 2026
A Pointer-Free Language for Desktop Applications & Games
View on GitHub

🎮 See What You Can Build!

From simple scripts to full desktop applications - all without touching a single pointer!

🎨 Graphics & Games

# Snake Game Loop while running == 1 if GetKeyPressed(39) == 1 # Right arrow direction = 0 end DrawCircle(window, x, y, 20) UpdateWindow() end

🖥️ Desktop Applications

# Complete GUI App name = CreateTextBox(win, 10, 10, 200, 30) btn = CreateButton(win, 10, 50, 100, 30, "Submit") if GetButtonClicked(btn) == 1 text = GetTextBoxValue(name) WriteFile("data.txt", text) end

📁 File Processing

# Save & Load Data scores = [100, 85, 92, 78] for i = 0 to ArrayLength(scores) - 1 score = ToString(scores[i]) AppendFile("scores.txt", score) end content = ReadFile("scores.txt")

🖱️ Interactive Controls

# Mouse & Keyboard Input mx = GetMouseX() my = GetMouseY() if GetMouseButton(0) == 1 # Left click DrawCircle(window, mx, my, 30) end if GetKeyPressed(32) == 1 # Space ClearWindow(window) end
60+
Built-in Functions
100%
Pointer-Free
Turing Complete
NEW!
GUI Controls
🪟 Window Functions
CreateWindow(width, height, title)
Creates a new window and returns a window handle
window = CreateWindow(800, 600, "My App")
ShowWindow(window)
Makes the window visible on screen
ShowWindow(window)
Run()
Starts the message loop (blocking - for simple apps)
Run()
UpdateWindow() NEW
Updates window without blocking (for game loops)
UpdateWindow() # Returns 1 if window open
🎨 Drawing Functions
SetColor(r, g, b)
Sets the current drawing color (0-255 for each)
SetColor(255, 0, 0) # Red
SetBackgroundColor(window, r, g, b)
Sets the window background color
SetBackgroundColor(window, 240, 248, 255)
DrawText(window, x, y, text)
Draws text at the specified position
DrawText(window, 100, 100, "Hello!")
DrawRectangle(window, x, y, width, height)
Draws a filled rectangle
DrawRectangle(window, 50, 50, 200, 100)
DrawCircle(window, x, y, radius)
Draws a filled circle
DrawCircle(window, 200, 200, 50)
DrawEllipse(window, x, y, width, height)
Draws a filled ellipse
DrawEllipse(window, 100, 100, 150, 80)
DrawLine(window, x1, y1, x2, y2)
Draws a line between two points
DrawLine(window, 0, 0, 800, 600)
ClearWindow(window)
Clears all drawing from the window
ClearWindow(window)
⌨️ Input Functions NEW
GetKeyPressed(keycode) NEW
Returns 1 if key is currently pressed, 0 if not
if GetKeyPressed(39) == 1 # Right arrow (39)
x = x + 5
end
GetMouseX() NEW
Returns current mouse X position
mx = GetMouseX()
GetMouseY() NEW
Returns current mouse Y position
my = GetMouseY()
GetMouseButton(button) NEW
Returns 1 if mouse button pressed (0=left, 1=right)
if GetMouseButton(0) == 1 # Left click
DrawCircle(window, mx, my, 30)
end
Sleep(milliseconds) NEW
Pauses execution for specified milliseconds
Sleep(16) # ~60 FPS
Key Codes:
Arrow Keys: 37=Left, 38=Up, 39=Right, 40=Down
WASD: 87=W, 65=A, 83=S, 68=D
Other: 32=Space, 13=Enter, 27=Escape
Numbers: 48-57 (0-9), Letters: 65-90 (A-Z)
🖥️ GUI Controls NEW
CreateTextBox(window, x, y, width, height) NEW
Creates an editable text input field
textbox = CreateTextBox(window, 10, 10, 200, 30)
GetTextBoxValue(textbox) NEW
Gets the text from a textbox
text = GetTextBoxValue(textbox)
SetTextBoxValue(textbox, text) NEW
Sets the text in a textbox
SetTextBoxValue(textbox, "Hello!")
CreateButton(window, x, y, width, height, label) NEW
Creates a clickable button
btn = CreateButton(window, 10, 50, 100, 30, "Click Me")
GetButtonClicked(button) NEW
Returns 1 if button was clicked (auto-resets)
if GetButtonClicked(btn) == 1
# Button was clicked!
end
CreateLabel(window, x, y, width, height, text) NEW
Creates static text label
label = CreateLabel(window, 10, 10, 200, 25, "Name:")
SetLabelText(label, text) NEW
Updates the text of a label
SetLabelText(label, "New text!")
💡 Tab Navigation
Press TAB to move between controls, Shift+TAB to go backwards, and ENTER to click buttons!
🔢 Math Functions
Random(min, max)
Returns a random integer between min and max (inclusive)
num = Random(1, 100)
Sqrt(number)
Returns the square root of a number
result = Sqrt(16) # 4
Abs(number)
Returns the absolute value of a number
result = Abs(-42) # 42
Sin(degrees)
Returns sine of angle (result scaled by 100)
result = Sin(90) # 100
Cos(degrees)
Returns cosine of angle (result scaled by 100)
result = Cos(0) # 100
📝 String Functions
Length(text)
Returns the number of characters in a string
len = Length("Hello") # 5
Substring(text, start, length)
Extracts a portion of a string
part = Substring("Hello", 0, 3) # "Hel"
Concat(text1, text2)
Combines two strings together
result = Concat("Geck", "0") # "Geck0"
ToString(number) NEW
Converts an integer to a string
text = ToString(42) # "42"
📊 Array Functions
[element1, element2, ...]
Creates an array with the specified elements
numbers = [10, 20, 30, 40, 50]
names = ["Alice", "Bob", "Charlie"]
empty = []
array[index]
Access an element at the specified index (0-based)
first = numbers[0] # 10
last = numbers[4] # 50
array[index] = value
Set an element at the specified index
numbers[2] = 99
Append(array, value)
Adds a new element to the end of an array
Append(numbers, 60)
Remove(array, index)
Removes the element at the specified index
Remove(numbers, 0) # Removes first element
ArrayLength(array)
Returns the number of elements in an array
len = ArrayLength(numbers)
📁 File I/O Functions
ReadFile(filename)
Reads entire file and returns contents as string
content = ReadFile("data.txt")
WriteFile(filename, content)
Writes string to file (overwrites existing)
WriteFile("output.txt", "Hello World!")
AppendFile(filename, content)
Adds content to end of file
AppendFile("log.txt", "New entry\n")
FileExists(filename)
Returns 1 if file exists, 0 if not
exists = FileExists("config.txt")
DeleteFile(filename)
Deletes a file, returns 1 on success
DeleteFile("temp.txt")
🔀 Control Flow
if condition ... end
Executes code if condition is true (non-zero)
if x > 10
DrawText(window, 50, 50, "Big!")
end
if ... else ... end
Executes one block or another based on condition
if score > 90
DrawText(window, 50, 50, "A")
else
DrawText(window, 50, 50, "B")
end
while condition ... end
Repeats code while condition is true
while count < 10
count = count + 1
end
for variable = start to end ... end
Loops from start to end (inclusive)
for i = 0 to 9
DrawCircle(window, i * 50, 100, 20)
end
⚡ Operators
Arithmetic Operators
Math operations with proper precedence
+ (addition)
- (subtraction)
* (multiplication) - higher precedence
/ (division) - higher precedence

result = 10 + 5 * 2 # 20, not 30!
Comparison Operators
Compare values, return 1 (true) or 0 (false)
== (equal)
!= (not equal)
< (less than)
> (greater than)
<= (less or equal)
>= (greater or equal)
Assignment
Store values in variables
x = 10
name = "Chad"
array[0] = 99