Best ways to Learn SmileBASIC?
DefaultioCreated:
Looking at other's code.Not everyone who can write code can write GOOD code so this is actually a pretty unreliable way to learn. A lot of code isn't "self-documenting" (you can figure out what it does immediately just by looking at it) either and often a program is only closely understood by the people (or person) who wrote it. Furthermore, everyone programs differently anyway. Looking at source as reference is handy, but for learning it won't get you very far without previous experience.
I learned with the Engrish manual.
As far as "bad coding" goes there's not a lot you can mess up in smilebasic, but I didn't learn from other people's code. I understood SB perfectly and I still don't know what's going on in most other people's code. The ones that were un-documented were too complicated to understand. Whatever bad coding habits I picked up I eventually dropped, like how using IF BUTTON() == 1 THEN is worse than IF BUTTON() AND 1 THEN, and using subroutines and functions instead of plopping all your code in one place like a mess.
I would say just learn individual commands one at a time, the most simple ones, learn how to use those to make what you want to make and then when you're feeling curious learn another command. Say you learn PRINT, then you think, "I wish there was a way to change where the text pops up", then you discover LOCATE, then you want to change the color, and so on. Just take it bit by bit and eventually you'll be pretty good.
Well, I've already knew how to program when I used smilebasic. So the first thing that I did was read and mess up with the library that come with the language.
Then, I looked other programs but I didn't like them because almost everyone used goto for everything (Instead of using while, for or def) and they were poorly structured. However, there were few exceptions to this (For example Cave Island and Celeste.)
At this point, I knew how to use smilebasic and its library... So this answers your question. But to make a game, I read about game design patterns(http://gameprogrammingpatterns.com/) and lowerdash to learn how to properly structure the code for my projects. Know a language and know how to use the language to make X are two different things.
This is great guys, (excluding Lumage) thanks for the tips!
Especially jamieyello and raimondz. :)
Cheers?
Probably not. I would like to know what you guys started with, what was your first, your baby that was ugly? cute? organized mess?
What was your first program? Leave your answers in the box below.
I remember some of my first programs, the first thing I did was make a sound test (After I made a lot of really basic PRINT INPUT tests just to get a feel for the more basic commands). It was just a pretty simple text menu interface that let you go through and play all the sound effects and songs. I actually used it a lot to find fitting sounds for my programs, but it was really messy. I think a lot of people did the same thing. The next big one I made was a space shooter, which was actually pretty competent visually but it was still a mess in code. I didn't use any subroutines or for loops, I had 30 different stars going in a loop across the screen to give the space travel look (all at different speeds) and I hard coded every single star without copying and pasting at all.
After that I started with that pokemon game, then I made a pretty decent map editor, and that was it for SmileBASIC. By the time I got to the map editor I pretty much knew every bit of SmileBASIC, so much that I went and made a SmileBASIC interpreter in C++.
The first program I released was this one:
Spoiler
1 PRINT "Welcome to the Awesome Epic Amazing Adventure Game!" INPUT "What is your name? ", name$ PRINT "You Died." PRINT 2 INPUT "Do you want to play again? ", again$ IF again$ = "Yes" OR again$ = "yes" OR again$ = "YES" THEN PRINT GOTO 1 ELSEIF again$ = "No" OR again$ = "no" OR again$ = "NO" THEN PRINT "Yes you do!" PRINT GOTO 1 ELSE PRINT "You Died." PRINT GOTO 2 END IF
We all started with the famous PRINT and INPUT commands.. wow.
Well then, I have all my data I need.
Thank you everyone who participated, your efforts shall not be wasted.
See you guys in 6 months aka in June 30th of next year.
If anyone wants to post more tips, suggestions or stories about their programming struggles and first programs....
You know what to do, post them in the rectangular box below!