*Write simple code for complex logic in [Mindustry](https://github.com/Anuken/Mindustry/)*
```basic
LET time = 0
WHILE true
time = time + 1
reactor1.enabled = time % 3 == 0
reactor2.enabled = time % 3 == 1
reactor3.enabled = time % 3 == 2
WAIT(1)
WEND
```
![Output of the above code block](./assets/blinking-reactors.gif)
`basic-to-mindustry` is a small transpiler from a dialect of the [BASIC](https://en.wikipedia.org/wiki/BASIC) language, "MinBasic" (also known as `mbas`), to [Mindustry](https://github.com/Anuken/Mindustry/)'s [logic system](https://www.reddit.com/r/Mindustry/comments/kfea1e/an_overly_indepth_logic_guide/) (also known as `mlog`).
Basic is chosen as the source language as it already contains jumps (which mindustry heavily relies on), while allowing for some higher-order constructs like conditions, loops and functions.
Any language support extension for QuickBasic (the dialect MinBasic is based on) will work,
but if you would like an extension that was tailored to support MinBasic, you can have a look at [the one bundled with this project](./minbasic-vscode/README.md).
## Language features
The [GUIDE.md](./GUIDE.md) file describes how to write programs in MinBasic.