|
Post by n00b on Jun 4, 2021 9:15:02 GMT -6
I know I have been gone for a while but I was actually working on the next release pretty hard. You can go to the github page to see the number of commits I have made to the next release in just the last 2 weeks alone. I usually end up putting off a lot of stuff I want in each release to get more releases out quicker but I decided that since v3.13 is pretty stable I would take more time to work on this next one. I am currently working on improving the distribution tool so the old rcbasic pkg tool is going away. The old android build tool is also getting replaced as moving to the latest version of android sdk which was definitely needed because I have not updated the sdk in 5 years because SDL has moved its newer build processes to gradle which required reworking the entire build process for rcbasic on android. That has been done so android will benefit from the latest version of SDL2. New functions have also been added. I will list all of them in the release notes once the new release is uploaded. Lastly, a lot of minor additions to the syntax like multi-line comments, defining multiple variables with DIM, and finally the addition of constants. I am looking at uploading sometime in the next 2 or 3 weeks but most of the code has already been written. johnno56 Thanks for all your work on the forum while I have been gone. I am still not going to be around too much until I get v3.14 up but I will try to peek in if there is a question that I feel I need to answer.
|
|
|
Post by johnno56 on Jun 4, 2021 16:25:09 GMT -6
Multi-Dim's. Constants. Looking forward to it.
Do you take requests? Neural Interface and VOX... That way we can eliminate the screen AND the keyboard... Do you think you will have enough time to implement these into version Pi. (3.14)? I know. I know. Could be a rush. The next version will be ok... lol
"Work"? I'm on here several times per day. Too me it's not work... I suppose that behaviour could be classified as 'clinical obsession'... but 'work' will be fine.
|
|
|
Post by rosy on Jun 5, 2021 12:58:42 GMT -6
Why these constants?
|
|
|
Post by n00b on Jun 6, 2021 12:09:13 GMT -6
They will allow you to make variables that hold expressions rather than values.
|
|
|
Post by rosy on Jun 6, 2021 12:50:48 GMT -6
For example what?
|
|
|
Post by n00b on Jun 6, 2021 13:32:10 GMT -6
Look at this example:
A = 5 B = 4 C = A + B
PRINT "C IS ";C
A = 10 B = 12
PRINT "C IS ";C
OUTPUT: C IS 9 C IS 9
C is storing the value of the resolved expression A+B which is 9. If A or B changes it will not effect the results of C because it is only holding the value of the expression at the point when that line of code was executed.
Now look at this example with C as a constant.
A = 5 B = 4 CONST C = a + b
PRINT "C IS ";C
A = 10 B = 12
PRINT "C IS ";C
OUTPUT: C IS 9 C IS 22
C is now a constant that holds the entire expression rather than holding the value. So whenever the compiler runs into C in a expression it replaces it with the entire expression A+B rather than the value of A+B when C was made.
The main limitation of constants is the fact that a constant is as the name suggest, a constant value. It can't be changed once it is set.
RCBasic already had constants built-in like WINDOWPOS_CENTERED as well as all the KEY values and FILE open flags but now you will be able to make new ones yourself.
|
|
|
Post by aurel on Jun 7, 2021 4:23:31 GMT -6
Yes ,,having constants are useful in many ways
|
|
|
Post by rosy on Jun 7, 2021 14:28:22 GMT -6
From this example it follows that the variable has a constant value and the constant has a variable ...: P
Really this is how it works in C?
And I was also wondering how WiNDOWPOS_CENTERED works ....
|
|
|
Post by n00b on Jun 7, 2021 15:39:12 GMT -6
This is not how it works in C. This is just how I decided to implement them. They can work like C constants if you set a literal value but it can also operate like C defines if you want them too. You will have flexibility on how you want to use them.
|
|
|
Post by rosy on Jun 8, 2021 12:34:31 GMT -6
A .. Now, of course ... Interesting idea.
How is it with WiNDOWPOS_CENTERED? I understand that it is also not a constant, just a function ...
|
|
|
Post by n00b on Jul 22, 2021 10:51:08 GMT -6
Just another quick update.
I am really close to a final release. After my next commit which I am trying to push today I won't be making anymore feature commits. I have been focusing on bug testing which has been going well. Most of my unit test are running 100% so I may be done with that soon and the last thing will just be going through the manual and making sure the changes are documented properly. There will be some more improvements to the manual but they are not going to be significant improvements. After this release I may try to go back and do some major improvements to the manual but that will be after I work on the other stuff I wanted to work on.
|
|
|
Post by johnno56 on Jul 22, 2021 13:39:51 GMT -6
Cool... Good to know that version "PI" (nudge, nudge) is almost complete. This "other stuff" wouldn't have anything to do with an alleged Game Jam? Hmmm... lol
J
|
|
|
Post by n00b on Jul 22, 2021 18:14:52 GMT -6
I have plans to enter the next Ludum dare but I want to finish working on my action platform game Graizor. I have plans for an even bigger game project after that but we will see if that ever makes it out of my dreams. And we might have a slice of PI cooking in this next release.
|
|
|
Post by tbird on Jul 24, 2021 14:39:13 GMT -6
I would like to play your finished game. Can't wait for the "pi" release. Ahh yes the game of one's dreams, I've been trying to make mine for awhile now, n00b if you don't mind what kind of game project were you thinking?
|
|
|
Post by n00b on Jul 24, 2021 19:40:20 GMT -6
tbird the project I am thinking about is a sci-fi themed rpg with multiple planets, multiple recruitable party members, a decent size story, turn-based battle system with unique character skills as well as magic/tech moves, and several different species of monsters. I have a rough draft of the story for it and a very vague idea of how I want the game to play but I realize how large in scale this game is. RCBasic is capable of it but games involve more than just programming. I am not going to try to tackle it until Graizor is finished because I don't like abandoning projects once I start on them.
|
|