An open API service indexing awesome lists of open source software.

https://github.com/parmaja/tyro

Lua and other programming in simple platform to make programming fun
https://github.com/parmaja/tyro

basic fpc gameengine graphic lua raylib sard tyro

Last synced: 9 months ago
JSON representation

Lua and other programming in simple platform to make programming fun

Awesome Lists containing this project

README

          

# Tyro

Runing embed programming language in simple graphical environment, for kids and newbies, using [raylib](https://www.raylib.com/) as small game engine to draw.
Now I am working on adding Lua, in the future I want to add more simple progamming lanuguages like Basic.
It also should have editing tool inside that environment, console output and input, work in same graphical window.
playing sound using mmf code.

It is More simulating old computer, but with modern languages and graphic.

# Lua Example

```lua
canvas.text(10, 30, 'Printing text test')
i = 1000000
canvas.color = colors.black
canvas.line(0, 100, canvas.width, 100)

while i > 0 do
c = math.random(3, colors.count)
canvas.color = colors[c]
r = math.random(5, 20) --size of circle
x = math.random(640)
y = math.random(480)
canvas.circle(x, y, r, true)
r = math.random(5, 20) --size of circle
x = math.random(640)
y = math.random(480)
canvas.rectangle(x, y, r, r, true)
sleep(10)
i = i - 1
end
```

# Issues

There is problem in raylib, in fact in OpenGL that cannot/not easy share texture between threads, we need another trick to pass drawing commands to main thread, but now i am sending objects to draw it in main thread, it is work fine until now

https://github.com/raysan5/raylib/issues/454

# Compile

Use FreePascal 3.x or Lazarus with it

# Libraries

You need only MiniLib package minilib.lpk
[minilib](https://github.com/parmaja/minilib)

# Dependencies

[raylib](https://www.raylib.com/) for raylib.dll/so put it in same of tyro exe folder

[Lua](https://www.lua.org/) for lua dll 5.3 in same of tyro exe folder

# Ported

You do not need to use it, it is already in the source folder

[Lua4Lazarus](https://github.com/malcome/Lua4Lazarus)

# TODO

[Sard Objects](https://github.com/parmaja/p-sard)

### Competition

[yabasic](http://www.yabasic.de)