Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 131 lines (103 sloc) 5.274 kb
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
1 # KidsRuby
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
2
2216acb @deadprogram Some updates to README
deadprogram authored
3 KidsRuby (http://kidsruby.com) is a Ruby programming environment meant for kids. If what you want is just to download/install KidsRuby, please go to http://kidsruby.com/download
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
4
2216acb @deadprogram Some updates to README
deadprogram authored
5 KidsRuby 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:
6725920 @deadprogram Tweaking format of README
deadprogram authored
6
e597098 @phlipper add syntax highlighting to readme
phlipper authored
7 ``` ruby
8 color = ask("what is your favorite color")
9 if color == "blue"
10 alert("you picked blue")
11 end
12 ```
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
13
14 You can also use the Turtle, just like Hackety-Hack does
6725920 @deadprogram Tweaking format of README
deadprogram authored
15
e597098 @phlipper add syntax highlighting to readme
phlipper authored
16 ``` ruby
17 Turtle.start do
18 background yellow
19 pencolor brown
20 pensize 2
21 goto 30, 200
22 setheading 180
23 1000.times do
24 forward 20
25 turnleft rand(10)
26 backward 10
27 end
28 end
29 ```
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
30
31 ## Design Goals
32 * Simple single file editor
33 * You can run the current contents of the editor
34 * The output appears next to the editor
d8d91f8 @deadprogram Turtle now has propoer orientation for all commands relative to user
deadprogram authored
35 * It runs a normal Ruby 1.9.2 on the code. With normal gems etc.
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
36
37 ## Implementation choices
48f28dd @deadprogram Update README a little with Ace link
deadprogram authored
38 * Webkit-based editor - currently using Ace (http://ace.ajax.org/)
01a0a47 @deadprogram Update readme and a stylesheet for investered editor for presenation mod...
deadprogram authored
39 * QtRuby app - hosts webkit and provide http server to communicate with running Ruby environment
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
40 * Minitest/Minispec for testing. Yes, code must be tested
41 * Tutorial content is easy to create just drop HTML files on disk locally to the KidsRuby editor.
42 * Using a modified version of the JS library Turtlewax for the Turtle implementation https://github.com/davebalmer/turtlewax
43
a591a7c @deadprogram Update README
deadprogram authored
44 ## How to Run KidsRuby:
6725920 @deadprogram Tweaking format of README
deadprogram authored
45
d887615 @deadprogram Tweaking format of README
deadprogram authored
46 ruby main.rb
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
47
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
48 ## Getting setup for development on Ubuntu
31712c6 @ldenman Add setup instructions for ubuntu
ldenman authored
49 sudo apt-get install libqt4-dev
f2968a3 @petervandenabeele Add cmake for Ubuntu 10.04 install
petervandenabeele authored
50 sudo apt-get install cmake
31712c6 @ldenman Add setup instructions for ubuntu
ldenman authored
51 bundle install
80f4239 @petervandenabeele Add note about long build process for qt4 on Ubuntu and how to see progr...
petervandenabeele authored
52 Take note that the native compilation of qt (the line `Installing qtbindings (4.6.3.4) with native extensions`) can take several minutes without apparent progress ... You could run `top` to see `cmake` and `cc1plus` effectively in action.
5e694eb @petervandenabeele Add instructions for installing 'gosu' on Ubuntu 10.04
petervandenabeele authored
53
54 ## If you also want Gosu
55 echo "" >> Gemfile
56 echo "# needed for gosu" >> Gemfile
57 echo "gem 'gosu'" >> Gemfile
4682505 @petervandenabeele gosu build on Ubuntu Linux also has a dependency on libxinerama-dev
petervandenabeele authored
58 sudo apt-get install g++ libgl1-mesa-dev libpango1.0-dev libboost-dev libopenal-dev libsndfile-dev libxdamage-dev libsdl-ttf2.0-dev libfreeimage3 libfreeimage-dev libxinerama-dev
5e694eb @petervandenabeele Add instructions for installing 'gosu' on Ubuntu 10.04
petervandenabeele authored
59 bundle install
31712c6 @ldenman Add setup instructions for ubuntu
ldenman authored
60
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
61 ## Getting setup for development on a Mac using Homebrew
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
62 I used the qtbindings gem: https://github.com/ryanmelt/qtbindings
63 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
64
197345a @deadprogram Update readme for new Qt homebrew install via @clemcke
deadprogram authored
65 However, since KidsRuby requires Qt 4.7, you need to use the following (thanks @clemcke for updated instructions):
082ddb0 @blairc doc formatting
blairc authored
66
197345a @deadprogram Update readme for new Qt homebrew install via @clemcke
deadprogram authored
67 cd /usr/local/Library/Formula
68 git checkout 83f742e /usr/local/Library/Formula/qt.rb
f60afce @deadprogram Update README from latest goodness
deadprogram authored
69 brew install qt
6ee6097 @deadprogram Update README to improve installation instructions for OSX using Homebre...
deadprogram authored
70 for DIR in /usr/local/Cellar/qt/*/lib/*.framework; do ln -s $DIR/Headers ${DIR%%/lib/*}/include/$(basename $DIR .framework); done
153eefe @deadprogram Add need to install cmake via homebrew to build qtbindings gem
deadprogram authored
71 brew install cmake
f60afce @deadprogram Update README from latest goodness
deadprogram authored
72 bundle install
73
6ee6097 @deadprogram Update README to improve installation instructions for OSX using Homebre...
deadprogram authored
74 If you have already installed KidsRuby using the OSX installer, you will need to uninstall that Qt package before trying to install the qtbindings gem, or it will not build/install as described here https://github.com/ryanmelt/qtbindings/blob/master/README.txt.
75
76 The solution is to run this before attempting to install the qtbindings gem:
77
78 sudo /Developer/Tools/uninstall-qt.py
79
a591a7c @deadprogram Update README
deadprogram authored
80 ## Getting setup on a Mac using Ports
81 Someone please describe this procedure here.
82
f60afce @deadprogram Update README from latest goodness
deadprogram authored
83 ## Getting setup on Windows
84 Install git standalone
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
85 Install Ruby 1.9.2 standalone
f60afce @deadprogram Update README from latest goodness
deadprogram authored
86 bundle install
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
87
88
89 ## DONE
90 * create hackety-hack compatible class with UI dialogs for ask/alert
91 * get syntax highlighting correct for Ruby code
92 * create hackety-hack compatible class for Turtle graphics
93 * tabbed divs for output/turtle/help
94 * layout for local html pages with tutorials
95 * implement Turtle width and height methods
1fc7de9 @deadprogram Update readme from latest changes
deadprogram authored
96 * correct top/bottom orientation for Turtle relative to user
872e979 @deadprogram Update readme from all the recent commits
deadprogram authored
97 * adjust proportions of editor to sidebar for more visible space for tutorial section
98 * home to main index for help & browser forward/back buttons for help section
99 * split up HH help "pages" to go forward/back like the original tutorial
100 * make the canvas bigger for the Turtle
4f54663 @deadprogram Update READNE with latest status updates
deadprogram authored
101 * add Gosu libs/classes to KidsRuby OS to make it easy to write games right away
102 * How to use KidsRuby
9545157 @deadprogram Update readme from progress
deadprogram authored
103 * editor save/open
edecfa5 @deadprogram Update KidsRuby with save/open instructions, and also update version num...
deadprogram authored
104 * make the Run button WAY WAY bigger
f60afce @deadprogram Update README from latest goodness
deadprogram authored
105 * capture keystrokes within main Qt app and pipe to stdin when executing ruby process so we can support gets
a591a7c @deadprogram Update README
deadprogram authored
106 * replace DBus communications with http based protocol which allows better multi-platform support and fewer installation dependancies
6f3f337 @deadprogram Update README
deadprogram authored
107 * fix background color
0e8cd7d @deadprogram Update README from activity
deadprogram authored
108 * A couple of funny things with the formatting of gets
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
109 * need to display complete debug info on errors again
110 * make the turtle canvas keep a correct aspect ratio when resized
2216acb @deadprogram Some updates to README
deadprogram authored
111 * switch editor colors to white background for better presentation display. we already have inverse css file, just need a way to switch to it, and back
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
112
113 ## TODO
114
6b22601 @deadprogram Update readme with roadmap to 1.0
deadprogram authored
115 ### ROADMAP
2216acb @deadprogram Some updates to README
deadprogram authored
116 * 1.1 - Localization
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
117
a591a7c @deadprogram Update README
deadprogram authored
118 ### TURTLE
6ee6097 @deadprogram Update README to improve installation instructions for OSX using Homebre...
deadprogram authored
119 * correct pencolor so it works when switching color while drawing
a57cfb2 @deadprogram Partway on path to better stderr output
deadprogram authored
120
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
121 ### EDITOR
122 * paste into editor (copy already works)
123
124 ### HELP/TUTORIAL
01a0a47 @deadprogram Update readme and a stylesheet for investered editor for presenation mod...
deadprogram authored
125 * update ruby4kids to include their latest lessons
edecfa5 @deadprogram Update KidsRuby with save/open instructions, and also update version num...
deadprogram authored
126 * add more good stuff!
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
127
128 ### POSSIBLE IDEAS:
77c1762 @deadprogram More ideas in the readme
deadprogram authored
129 * make it easy to run pie (see what I did there?)
115b95f @deadprogram Switch to markdown for readme, and some edits
deadprogram authored
130 * create Shoes compatible classes (slippers?) to run Shoes example code too
Something went wrong with that request. Please try again.