You were lucky enough to have exposure and resources to information on those languages outside the regular HS curriculum.
I would not attribute it to luck. I think it would be more appropriate to attribute the result to curiosity and persistence in the pursuit of a hobby.
I had a strong desire to be able to produce applications of my own. Originally, I wanted to make graphical games for fun; I worked on code for text-base Muds and IRC servers. All the online games these days are graphical, so I guess I abandoned the hobby part, but I would say motivation and having a specific idea of something you want to accomplish is the critical bit: not luck.
Today's average kid has access to a computer 10000x as fast as the one I learned on with 2000x the network bandwidth, which is much more capable, and a much richer open source toolset is available. There are hundreds of thousands of online manuals, howtos, and even interactive tutorials.
Want to learn C, Pascal, or LISP? A simple Google search will bring you a ton of links to information on computational algorithms language syntax samples, recipes, and instructions.
Today's kids can download lots of sample code, and they don't have to transcribe from magazines and then debug typing errors to get a working sample program.
When I developed knowledge of .BAT and QBASIC.... All I had was a computer, DOS instruction manuals, a bunch of editions of PC Computing with type-in .BAS programs, and the sample programs that came with the system... Remline.bas MONEY.BAS SNAKE.BAS
The only extra resource I had when learning Shell, C, and C++ access to was a 486 computer and the Internet using PPP over a 14.4 dialup modem and 5 hours a month worth of internet access over Compuserve, and 30 hours a month worth of dialup service when a local ISP finally became available in 1995 or so.
Which was good enough to download all the Linux documentation and Slackware floppy disk sets.
There were really no online instructions or tutorials for programming languages at the time.
Or if there were.... I had no idea how to find them, because there was no Google.
There were a couple very thin books at the library.... practically no books on computer programming available.
So the resources were not exactly prolific in any case.
The resources that were available to me until I entered college, were absolutely paltry, and essentially most limited or free resources, or the cheapest that money could buy.