Something went wrong. Try again.
SmileBASIC 3.6.0 Interpreter
Something went wrong. Try again.
5.4 kB
Markdown
at main
title: Function overview slug: docs-ptc-function system: Petit Computer type: reference source: https://smilebasicsource.com/forum/thread/docs-ptc-function content_id: 19764 created: 2025-08-02 scraped: 2026-06-21 #
Function overview #
Functions are used to perform calculations or to read values. The distinction of a function from a command is the single returned value.
Functions can be passed zero or more arguments, with each argument being separated by a comma. If no arguments are passed, the closing parenthesis is placed immediately after the opening parenthesis.
Functions have the highest level of precedence aside from parenthesized statements. See Operator overview.
Function table #
Mathematical functions #
ABS(number) |
Calculates the absolute value of a number. |
|---|---|
ATAN(tangent) |
Calculates the arctangent of a value. Returns results in radians. |
ATAN(y, x) |
Calculates the angle from the X-axis of a coordinate pair in radians. |
COS(angle) |
Calculates the cosine of the given angle. angle is in radians. |
DEG(radians) |
Converts an angle in radians into an angle in degrees. |
EXP(exponent) |
Calculates e raised to the power of exponent |
FLOOR(number) |
Rounds number to the next lowest integer |
LOG(number) |
Calculates the natural logarithm of the number |
PI() |
Returns the approximate value of pi. Returns 12867/4096, or about 3.141. |
POW(base, exponent) |
Calculates the value of base raised to the power of exponent. |
RAD(degrees) |
Converts an angle in degrees into an angle in radians. |
RND(maximum) |
Generates a pseudorandom integer between 0 and maximum |
SGN(number) |
Calculates the sign of the number. |
SIN(angle) |
Calculates the sine of the given angle. angle is given in radians. |
SQR(number) |
Calculates the square root of the number. |
TAN(angle) |
Calculates the tangent of given angle. angle is given in radians. |
String functions #
ASC(string) |
Returns the character code of the first character in the string. |
|---|---|
CHR$(code) |
Returns a single character string corresponding to the character code. |
HEX$(number) |
Converts a number into a hexadecimal string representation. |
HEX$(number,digits) |
Converts a number into a hexadecimal string represnetation with a specific number of digits |
INSTR(string, substring) |
Searches within a string for a substring, returning the index if found, or -1 if not found |
INSTR(string, substring, start) |
Searches within a string for a substring starting from index start, returning the index substring is found at, or -1 if not found. |
LEFT$(string, length) |
Returns a substring consisting of the length left-most characters |
LEN(string) |
Returns the number of characters in the string |
MID$(string, start, length) |
Returns a substring consisting of the length characters starting from index start. |
RIGHT$(string, length) |
Returns a substring consisting of the length right-most characters. |
STR$(number) |
Converts a number into a decimal string representation. |
SUBST$(string, start, count, replacement) |
Returns a new string, replacing part of string with replacement. |
VAL(string) |
Converts a string into a number. |
System functions #
These are functions that interact with other subsystems of Petit Computer, such as the graphics or audio systems.
Background #
BGCHK(layer) |
Checks if the BG layer specified is currently animated. |
|---|
Audio #
BGMCHK() |
Checks if background music is playing on track 0. |
|---|---|
BGMCHK(track) |
Checks if a specific background music track is in use. |
BGMGETV(var) |
Gets the value of a MML variable. |
TALKCHK() |
Checks if the speech synthesis system is currently active. On English copies of Petit Computer, always returns 0. |
User input #
BTRIG() |
Checks if a button is pressed, with repeat checking. Identical to BUTTON(1). |
|---|---|
BUTTON() |
Checks if a button is currently pressed. |
BUTTON(type) |
Checks buttons pressed, held, or released depending on type. |
INKEY$() |
Retrieve character input from the keyboard |
Console #
CHKCHR(x, y) |
Gets the character code of a location on the text console. |
|---|
Graphics #
GSPOIT(x, y) |
Gets the color of a location on the graphics page |
|---|---|
GSPOIT(x, y, page) |
Gets the color of a location on a specific graphics page |
Panel #
ICONCHK() |
Checks if a panel icon is pressed |
|---|
Sprite #
SPCHK(id) |
Checks the animationstatus of a sprite. |
|---|---|
SPGETV(id, var) |
Gets the value of a sprite variable. |
SPHIT(id) |
Checks for collisions between the sprite id with other sprites. Returns 1 if there is a collision, and sets some system variables. |
SPHIT(id, start) |
Checks for collisions between sprite id and sprites with IDs greater than start. Returns 1 if there is a collision, and sets some system variables. |
SPHITRC(id, x, y, width, height) |
Checks for collision between a sprite and a rectangular region. |
SPHITRC(id, x, y, width, height, dx, dy) |
Checks for collision between a sprite and a rectangular region, accounting for motion of the rectangle. |
SPHITSP(id, other) |
Checks for collision between two specific sprites, returning 1 if collision occurs. |