Custom level creation/test.si

From Turing Complete
Revision as of 13:01, 28 March 2025 by Gelthor (talk | contribs) (Added brief intro)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
wip
wip

This page descibes the early access verion 2.0.16 alpha. It may not be completely correct for the the current stable version, nor the latest unstable version. Help us update it, and you get a cookie.

Each level folder contains a test.si file which has all the code for verifying level solutions. Written in Simplex.

A list of functions that can be used in test.si.

Functions[edit | edit source]

Component & Sequential[edit | edit source]

User defined functions for Component & Sequential type levels.

  • check_output($scratch_space: [Int], tick: Int, inputs: [Int], outputs: [Int]) TestResult
  • get_input($scratch_space: [Int], tick: Int, $inputs: [Int])
  • on_reset($scratch_space: [Int], test: Int)
    • Optional

Architecture[edit | edit source]

User defined functions for Architecture type levels.

  • arch_check_output($scratch_space: [Int], test: Int, input: Int, output: Int) TestResult
  • arch_get_input($scratch_space: [Int], test: Int) Int
  • on_reset($scratch_space: [Int], test: Int)
    • Optional

Callable[edit | edit source]

The test framework defines these function which may be used in test.si for any type of level.

  • add_keyboard_value(value: Int)
  • front_panel_push(value: U8)
  • get_assembler_register_count() Int
  • get_assembler_width() Int
  • get_component_count() Int
  • get_console_offset() Int
  • get_counter_value() Int
  • get_delay_score() Int
  • get_gate_score() Int
  • get_last_time() Int
  • get_latency_ram_is_busy() Bool
  • get_level_memory(custom_string: String) Int
  • get_probe_value() Int
  • get_probe_width() Int
  • get_program_address() Int
  • get_ram_size() Int
  • get_ram_value(address: Int) Int
  • get_register_value(index: Int) Int
  • get_tick() Int
  • has_console_component() Bool
  • has_counter_component() Bool
  • has_front_panel() Bool
  • has_keyboard_component() Bool
  • has_ram() Bool
  • has_time_component() Bool
  • set_custom_input_text(input: String)
  • set_error(input: String)
  • ui_set_color(id: String, size: Int)
  • ui_set_hidden(id: String, value: Bool)
  • ui_set_image_name(id: String, text: String
  • ui_set_position(id: String, x: Int, y: Int)
  • ui_set_size(id: String, size: Int)
  • ui_set_text(id: String, text: String