Happy One Month Anniversary
#1
Well, it'll be one month tomorrow with the creation of Snow Basic, with that being said. I decided to give you all a little gift. Now, it's just an early version of it. Included in the program is an in menu help. It's just an .exe and I hope you enjoy it. With that being said I'm looking forward to you're input. I'll be away for five or six days as I'll be on days off here quick. So with that being said, I hope you enjoy it. Also the downloads a .exe

SNOW BASIC MANUAL:

Version 0.01

Timeline of Snow Basic Development:

-December 31st 2017 - Concept of Snow Basic
-Januaray 1st 2018 - Design of rough code
-Januaray 2nd 2018 - Version 0.0.1 work begin's
-Januaray 3rd 2018 - Snow Basic 0.0.1A is complete written within 241 Lines
-Januaray 20th 2018 - Loading issue has been fixed, with several programs written for it.

Reference Guide:

Standard Use Code:

HELP - Brings up the HELP MENU in program.
NEW - Restarts Snow Basic back to a blank slate.
LOAD - Enter with the file name and only the FILE name.
SAVE - Enter with the file of your choosing not including .SBS
IF - Gives a conditional GOTO to said code.
CLOSE - Quits out of Snow Basic.
~ - Shortcut, in closing Snow Basic.
TIME - Display's the TIME.
DATE - Display's the DATE.

Reformed Basic Commands used in Snow Basic:

NEW - N# - STARTS NEW SESSION
RUN - R# -RUN CODE
LET - L# -VARIABLE
LIST - LI# - FUNCTION
PRINT - P# - DISPLAYS MESSAGE
INPUT - I# - SYNTAX
GOTO - GO# - MOVES FROM NUMERICAL COMMANDS
CLS - C# - CLEARS SCREEN
END - E# - END'S PROGRAM

EXAMPLE PROGRAM 1:

HELLO WORLD EXAMPLE:

10 P# "Hello, I'm Micro Basic..."
20 GT# 10
RUN

EXAMPLE PROGRAM 2:

THE AMAZING COUNTDOWN MACHINE:

The Amazing Countdown Machine:"

5 P# Come one, come all. Gather to see the
10 P# AMAZING COUNTDOWN MACHINE. Enter a number
20 P# but not too high.
30 P# Enter a number...
40 I# N
50 P# Beginning countdown process...
60 P# N
70 L# N = N - 1
80 IF N <> -1 THEN 60
90 GO# 10

EXAMPLE PROGRAM 3:

HANFERD LANDER:

10 P# "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
20 P# "ÛÛ ÛÛ"
30 P# "ÛÛ Small Basic Presents... Hanferd's Lander 1.0 ÛÛ"
40 P# "ÛÛ 01/22/18 ÛÛ"
50 P# "ÛÛ Press any key, to begin... ÛÛ"
60 P# "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
70 I# Z
85 C#
90 P# " ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
100 P# "Energy: "
110 P# F
120 P# "Speed: "
130 P# S
140 P# "Travel:"
150 P# D
160 P# "Rockets:"
170 I# T
180 IF T >= 0 THEN 190
185 L# T = 0
190 IF T <= F THEN 200
195 L# T = F
200 L# F = F - T
210 L# Z = S / 2
220 L# S = S + Z
230 L# S = S - T
240 L# D = D - S
245 C#
250 IF D > 0 THEN 90
251 IF D < -5 THEN 254
252 P# "Good Job Hanferd, you've successfully landed on the Moon."
253 GO# 10
254 P# "What can I say...but I'm disappointed..."
255 GO# 10


Attached Files .rar   SBL 0.rar (Size: 343.83 KB / Downloads: 21)
Reply
#2
Heya David,

I didn't notice at first that the *.exe at the bottom was the actual product - pretty cool.

I tried one of the examples and ran into trouble. Care to steer me right on this one? See below.


Attached Files Thumbnail(s)

Reply
#3
Looks like a switch from #GT to #GO for GOTO's.
B += x
Reply
#4
Hi, sure thing Static, and I must say thank you for giving it a try. Legit, I'm flattered. The issue is the GOTO command is actually GO# and RUN is actually R#. So you're first one would be - 

10 P# "MOO"
20 GO# 10
R#

I know it's a bit of a change from the original style of Basic, but trust me, it's fun to learn.
Reply
#5
Thanks for your timely response Dave - it totally worked when replacing RUN with R# as bplus also (basically) pointed out. Three suggestions arise from this experience: (i) update the documentation above to the new syntax, and/or (ii) modify the source code to detect RUN or R#, GOTO or GO#, PRINT or P#, ET# or ETC (just kidding), and so on. (iii) Consider *not* doing the pound-sign abbreviation stuff. This might bite you down the road if you want full QB45 compatibility for DOUBLE variables (or likewise _FLOAT in qb64), as the #-suffix is reserved for those.

I also highly suggest you "go public" with not only your agenda for this, but also the literal source code. This project has potential to become literally better than you can imagine, supposing you let the right eyes look at it.
Reply
#6
I was actually considering it, after the next version is released, release the previous version's code. Like what ID use to do with Doom and whatnot. Though, I have to look up the software disrubution copyright stuff.
Reply
#7
Luckily the whole licence/copyright thing is a solved problem. Work backwards from what you expect from the community/readers and see which licence works. Popular ones are (L)GPL or MIT. Honestly though, all you *really* need to do is create a file called LICENSE.txt to include in the main directory, and state something like "Don't use any part of this project or its source code for any gainful purpose without explicit permission from David Taylor. Don't rely on any source code or any executable contained herein for any purpose whatsoever." <--- That saves your ass, basically.
Reply
#8
Thank you, I'll do some research on this a bit more. Also, do you think the folks over at QB64.net will enjoy Snow Basic? I tried registering and got no email.
Reply