User Tools

Site Tools


programming:smilebasic:api_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
programming:smilebasic:api_reference [2024-08-09 02:22] – Document INPUT function zlgprogramming:smilebasic:api_reference [2024-08-09 03:11] (current) – [Value Ranges] remove redundancy zlg
Line 44: Line 44:
  
 These operators are your standard addition, subtraction, multiplication, and division. Modulo is usually also included in this set. These operators are your standard addition, subtraction, multiplication, and division. Modulo is usually also included in this set.
 +
 +  * ''+''
 +  * ''-''
 +  * ''*''
 +  * ''/''
 +  * ''%''
 +
 +==== Comparison ====
 +
 +Comparison operators allow you to make decisions when you need to branch the behavior of a program with ''IF..THEN'' or fancy ''[[#goto|GOTO]]'' spaghetti.
 +
 +  * ''=='' - Equality
 +  * ''!='' - Inequality
 +  * ''>'' - Greater Than
 +  * ''<'' - Less Than
 +  * ''>='' - Equal to or Greater Than
 +  * ''<='' - Equal to or Less Than
 +
 +These same operators can be used stand-alone in expressions to generate boolean values, which are typically ''0'' or ''1''.
 +
 +==== Logical ====
 +
 +Logical operators are often combined with expressions that contain comparison operators in order to make meaningful decisions in the program. This means most "business" problems in programming can be broken down into //some// variation of:
 +
 +<code>
 +Solution = Logical operations of expressions, containing
 +           comparisons of variables, containing
 +           anything from numbers to text to lists.
 +</code>
 +
 +If you can abstract a problem into this framework, you are mastering logical operators.
 +
 +  * ''&&'' - Logical AND
 +  * ''||'' - Logical OR
 +
 +The more legible ''AND'' and ''OR'' may also be used, but precedence may differ. More testing is needed.
  
 ===== Logic and Control Flow ===== ===== Logic and Control Flow =====
 +
 +These functions or constructs are used to manipulate the flow, or structure, of your programs.
 +
 +  * [[#at_sign|@]]
 +  * [[#goto|GOTO]]
  
 ===== Input/Output ===== ===== Input/Output =====
  
   * [[#input|INPUT]]   * [[#input|INPUT]]
 +  * [[#print|PRINT]]
  
 ===== Graphics Layering ===== ===== Graphics Layering =====
Line 60: Line 102:
  
 This section is where all the "proper" content lives. Other parts of the page should link back here where relevant. This section is where all the "proper" content lives. Other parts of the page should link back here where relevant.
 +
 +==== At sign (@) ====
 +
 +The sigil for a label for [[#goto|GOTO]] to target. Declare a label by typing ''@'', then the name of the label. Later, use ''GOTO'' to point to it. Just be careful you don't put yourself into an infinite loop!
  
 ==== CLEAR ==== ==== CLEAR ====
Line 68: Line 114:
  
 TODO: Does this also erase/initialize variables away? TODO: Does this also erase/initialize variables away?
 +
 +==== GOTO ====
 +
 +''GOTO @label''
 +
 +Jump to the specified label in the code, and continue execution.
 +
 +//SmileBASIC//, being a derivative of BASIC, lacks many things that higher level languages take for granted today, like do/while, for loops, switch/case, list comprehensions, map/reduce, and so on. Most if not all of these can be implemented in GOTO, albeit it gets messy if your methods aren't rock-solid. This will be your //go-to tool// in getting anything out of BASIC that resembles these higher-level concepts.
  
 ==== INPUT ==== ==== INPUT ====
Line 88: Line 142:
 |  Z   | -256-1024 | |  Z   | -256-1024 |
  
-The Z axis is remembered from the last LOCATE call if not specified, and defaults to 0.+The Z axis defaults to 0.
  
 Any missing axes from a LOCATE call will be filled in with the last value used for that axis. All axes default to 0 if LOCATE is called after a CLEAR. Any missing axes from a LOCATE call will be filled in with the last value used for that axis. All axes default to 0 if LOCATE is called after a CLEAR.
programming/smilebasic/api_reference.1723170167.txt.gz · Last modified: 2024-08-09 02:22 by zlg