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
- Host: GitHub
- URL: https://github.com/parmaja/tyro
- Owner: parmaja
- License: mit
- Created: 2019-11-18T19:21:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-23T21:22:24.000Z (over 2 years ago)
- Last Synced: 2024-03-26T06:24:59.686Z (almost 2 years ago)
- Topics: basic, fpc, gameengine, graphic, lua, raylib, sard, tyro
- Language: Pascal
- Homepage:
- Size: 1.35 MB
- Stars: 17
- Watchers: 4
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)