Over the weekend, I was feeling sorry for myself for not having as much time to program as I would like, so I sneaked a few hours (about 6) to write an adventure game. I thought a bit about what language to use. Part of me wanted to do it in one of the functional languages, but I knew I wouldn't have enough time to both learn the language sufficiently AND write enough to be recognizably adventurous.
And then a wave of nostalgia swept over me.
BASIC.
And none of this new-fangled BASIC with block-structured coding constructs. Basic BASIC. With 1 or 2 character variable names, and lots of GOTOs.
I gotta say, I haven't had this much fun programming in years. I actually chuckled at times, remembering the old days of:
3165 if w <= 9 then 3170
3167 print "Too many words! Talk more simply."
3168 v$ = "" : n$ = "" : return
3170 rem
OK, the pedantic among you will say that putting multiple statements on a line is not basic BASIC. Oh well, I make the rules, I can break them. But I did restrict myself to variable names of one letter, or one letter and one digit, with all variables gloriously global. Man, kids today don't know how good they have it.
>load "a.txt"
>run
You are in a brightly-lit room. Birds are singing, puppies and kitties are playing in the sunlight streaming in through cheerily open windows. There is a hole in the north wall that looks just big enough to crawl through.
You see:
a grey bag of scratchy cloth
? north
You are in a dimly-lit room. Shadowey figures seem to slither towards you. A low moan can faintly be heard. What little light penetrates the ominous darkness comes from the south.
You see:
a fabulous 100-carat diamond!
? take diamond
got it.
You are in dim room
? n
Can't go that way
You are in dim room
? s
You are in a brightly-lit room. Birds are singing, puppies and kitties are playing in the sunlight streaming in through cheerily open windows. There is a hole in the north wall that looks just big enough to crawl through.
You see:
a grey bag of scratchy cloth
? look at the grey bag
a grey bag of scratchy cloth
which contains:
an iron key, slightly rusted
You are in bright room
? take bag
NEXT without FOR in line 9075
>
Whoopsie! Looks like I need a bit more debugging. :-)
Or not. The exercise accomplished its purpose, which honestly was more to feel young again than hone my coding skills. I.e. I don't think I'll be putting this on my resume any time soon. ;-)
Update: I thought I might put it up on github, not because it is a useful or notable piece of work, but because I wanted to be the first person to put BASIC on github. No such luck. There is a ton of BASIC already on github. Oh well...
Tuesday, July 22, 2014
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment