forked from hybridgroup/kidsruby
KidsRuby is a Ruby programming environment meant for kids to learn and have fun!
unxgeek/kidsruby
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
KidsRuby (http://kidsruby.com) is a Ruby programming environment meant for kids. It is heavily influenced by Hackety Hack (http://hackety-hack.com). In fact you can run many of the same code samples from Hackety Hack in KidsRuby. For example: color = ask("what is your favorite color") if color == "blue" alert("you picked blue") end OR Turtle.start do background yellow pencolor brown pensize 2 goto 30, 200 setheading 180 1000.times do forward 20 turnleft rand(10) backward 10 end end Here are a few design goals for KidsRuby: - Simple single file editor - You can run the current contents of the editor - The output appears next to the editor - It runs a normal Ruby 1.9.2 on the code Implementation choices: - QtRuby app - lets us communicate with the OS to create a full Ruby interactive environment - Minitest/Minispec for testing. Yes, code must be tested - Tutorial content is easy to create just drop HTML files on disk locally to the KidsRuby editor. - Using JS library Turtlewax for the Turtle implementation https://github.com/davebalmer/turtlewax Running it: ruby main.rb Getting setup on Ubuntu: Coming soon... Getting setup on a Mac using Homebrew: I used the qtbindings gem: https://github.com/ryanmelt/qtbindings Since I also run homebrew, I discovered that the homebrew install for Qt4 needed a little symlinking before I could run the gem install for qtbindings as described here: https://github.com/ryanmelt/qtbindings/issues#issue/14 To summarize: brew install dbus brew install qt --with-qtdbus for DIR in /usr/local/Cellar/qt/4.7.1/lib/*.framework; do ln -s $DIR/Headers ${DIR%%/lib/*}/include/$(basename $DIR .framework); done gem install qtbindings DONE: - create hackety-hack compatible class with UI dialogs for ask/alert - get syntax highlighting correct for Ruby code - create hackety-hack compatible class for Turtle graphics - tabbed divs for output/turtle/help TODOS: - editor save/open/clear - editor copy and paste - clear button for output, or should it clear everything each time it is read? - layout for local html pages with tutorials - copy relevant parts from Hackety Hack - make it easy to run pie (see what I did there?) - create Shoes compatible classes (slippers?) to run Shoes example code too
About
KidsRuby is a Ruby programming environment meant for kids to learn and have fun!
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published