

QBasic's Gorillas in coffescript - despo
http://gorillas.heroku.com/

======
ef4
I can vividly remember making my first code edit ever when I increased the
blast radius in gorillas.bas. Nuclear bananas!

I've been hooked on software ever since.

~~~
furyofantares
Same.

I wonder what the barrier is like for kids these days to make their first code
edit, and how likely it is to happen without any intention of learning to
program. All these walled gardens may at times contribute to great products
but so much of my personal development came from tinkering on systems that not
only allowed but invited such behavior that I wonder what is being lost.

~~~
ilaksh
Are you kidding? Practically every web page has a JavaScript program for them
to look at.

There are thousands or maybe millions of open source programs for them to
experiment with. There are dozens of online editors from online Processing in
CoffeeScript <http://pcsedit.appspot.com/#edit/mbarkhau/example.coffee> to
tryruby.org and a ton of other things.

So I don't think there is any barrier for making a code edit, but on the point
about it happening without any intention of learning how to program, that is a
good point. Because you really don't need to learn how to program to make the
computer do interesting things. When you have only a small number of really
simple computer games to play with you are more inclined to start making code
edits.

~~~
furyofantares
Practically every web page has a minified JavaScript program to look at, and
even stuff that's not minified often depends on ajax calls or other server
side components that aren't easy to duplicate and start tinkering with for
someone that doesn't already know what they are doing (or even for someone
that does.)

But yes, online editors are an amazing resource, as are open source programs.

------
huhtenberg
Does anyone remember Scorched Earth?

<http://en.wikipedia.org/wiki/Scorched_Earth_%28video_game%29>

~~~
soapdog
I am still playing it.... best game ever.... I wish it would run on android or
iOS or webOS...

------
jaredsohn
I was hoping for the iconic opening and sound effects.
(<http://www.youtube.com/watch?v=UDc3ZEKl-Wc>)

Some more interesting information on Gorrilas (from the Wikipedia page:
<http://en.wikipedia.org/wiki/Gorillas_(video_game)> )

* It was actually created by IBM

* Other games included with QBASIC include Nibbles (snake), Money (a financial calculator), and REMLINE (removes line numbers from old BASIC programs.)

* The BASIC source code is linked to from the wikipedia page

* Another implementation can be found here: <http://zefonseca.com/gorillasjs/>. It lets you play against an AI, but loses some nostalgia since the graphics are different.

------
virmundi
Kinda fun. I thought the original made noise and allowed for a monkey to drill
through a building with a series of bananas. When I tried to do that, the
banana didn't go any farther than the previous banana hole.

------
aurelianito
When I tried it on Google Chrome, it did not show the gorillas on the first
banana throw.

~~~
schrijver
I had that as well (Ubuntu/12.04 Chromium/18.0.1025.151)

~~~
derpmeister
The same thing happens in Firefox.

~~~
despo
What are you running and what version of Firefox? I can only see this on
Safari/Chrome.

------
mseepgood
The sun doesn't make a funny face when the banana flies through. And where's
the wind indicator?

~~~
despo
Thanks for the feedback, these are some of the things I forgot to add.

------
groovy2shoes
You may also enjoy qb.js (<http://stevehanov.ca/blog/index.php?id=92>) which
is pre-loaded with Nibbles (previous HN discussion:
<http://news.ycombinator.com/item?id=1042896>).

------
nivertech
I remember it - grandfather of AngryBirds

~~~
sashahart
I think it's more like a descendant of Artillery and a sibling of Scorched
Earth and Worms.

------
6ren
Question: when looking at code on github, how do you know which holds the main
guts of the code? Every time, I have to laboriously search around (I guess,
maybe, if you know sinatra/ruby/rails, you'll know the convention for what
each top-level directory contains).

I keep thinking that the text alongside each file/directory on github are
comments describing what's in them - but of course, git doesn't support that.
They are just the most recent commit.

~~~
primatology
Unless you know the project's or framework's conventions, there's always a
fair bit of poking around involved.

Folder names are often descriptive enough, though. "docs" is documentation,
"lib" usually contains third-party libraries, "bin" contains compiled
binaries, "src" often contains the code, and "assets" (often "public" for web-
based projects) contains static images and stylesheets.

Now in the case there's no obvious "src" folder. But you know "docs" is
documentation, and "lib" and "public" probably contain third-party libraries
and images, so "views" is the best place to start.

------
dhughes
Loved this game it inspired me but programming on an Atari 600xl sucked many
hours spent typing out BASIC from Family Computing magazine only to get
"Syntax error".

I got a cassette external storage drive for Christmas one year then I could
save my mistakes. Thirty years later I'm still bummed I couldn't get the
lander program to work, it landed on a green mesh surface.

------
alanh
Freezes when you hit enter without filling out a velocity (presumably also
with a value of 0).

Someone mentioned a bug when you hit enter while enjoying victory. It makes me
think that perhaps a mini state machine would be apropros. Perhaps overkill
here, but it’s a great, clean, explicit way to think about and control states.

------
Graphon
Thanks for that, that was fun.

Who here coded a solver into the game that used the quadratic formula? I tied
it to a particular key and it would momentarily, almost imperceptibly flash a
correct solution on the page after I selected an angle. heh heh.

------
TazeTSchnitzel
I'm currently porting an imperative, procedural Java game to HTML5 with
CoffeeScript. It is surprisingly nice to work with for this kind of thing,
especially since you can omit brackets round function param lists.

------
leke
QBasic was my first language on the PC (and this was back in 2002!!!).

------
bbayer
While gorilla enjoying victory, if you press enter you will have three
gorillas on next round. Tested with Chrome.

BTW it took me to my childhood.

------
petitmiam
In grade 5, one of the perks of arriving early to school was getting to play
Gorillas before class.

Can't believe I'd forgotten about it.

------
alanh
Freezes when you hit enter without filling out a velocity (presumably also
with a value of 0).

------
leke
Angle: 90

Velocity: 90

------
buster
Awesome, i loved that (more as learning material though) :D

------
zargath
why bananas, I thought ms monkeys threw chairs ? :-)

