Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
90 user(s) are online (78 user(s) are browsing Forums)

Members: 1
Guests: 89

beworld, more...

Support us!

Headlines

 
  Register To Post  

Exaspertion of Attempt at Coding
Quite a regular
Quite a regular


See User information
* * WARNING * *

MAJOR RANT AHEAD

Brandy basic is utterly useless!


For instance, I type in
cls
A most SIMPLE command and get the following UTTERLY USELESS message!!

'=' missing or syntax error in statement has misled interpreter

It took me 45 minutes to figure out why it wouldn't work!!!!!.... meanwhile Brandy kept crashing/locking up my system 100% every 5 to 15 minutes! This happened at least 5 times before by chance I did two things at the same time, and don't know which fixed the problem and made it work.... NOT THAT IT HELPED AT ALL! The documentation, I don't think mentioned at all the fix I used to make it work.

Then there was the inkey$ command..... After trying typing it in about 7 different ways, I gave up:
inkey$
inkey$ (50)
inkey$(50)
inkey$ 50
A$=inkey$
A$=inkey$(50)

Then it sometimes said, when I used inkey, "unsupported command", gee, that's funny, in the manual it says some commands are unsupported BUT IT DIDN'T INCLUDE THAT ONE.

Then there's VDU. How hard can it be to position the cursor at an x,y co-ordinate to print a letter/word??? Apparently, UTTERLY impossible!!! What's the point of a programming language if you can't position the cursor to print a word?

The VDU command which was supposed to position the cursor was erasing letters as it moved to where I wanted it to go, and where I ACTUALLY wanted it to go, the math equation, nor a simple variable, wouldn't take it there! I gave up and didn't try using a number. Strange thing was, the "y" position was right, but the "x" would not work!!!!!! And, try reading and understanding what many of the options of that command even MEAN!

Also, why the heck can't they type an ACTUAL command line in the manual to use a command??? I kept seeing <factor>, which meant nothing to me. Does it mean I have to enclose it with "<" and ">" or what? Comma or semicolon delimeters? Some places it said you could even use spaces, now how confusing is that? I was trying to use the tab command and FINALLY FLUKILY guessed how to use it. Tabbing ALSO erases letters under it, while positioning the cursor where I want it to be.... no SIMPLE "locate x,y" exists in this "language". The print command wasn't even listed!!!!

BUT I was kind of impressed by some of the commands, but what's the point when COMMON commands are impossible to execute????

Oh, almost forgot, the utterly useless wait command, I entered even 500000 and it just whizzed past it to the next command. So I had to use a for next loop of x=1 to 800000 before I got a decent delay, as inkey wouldn't work, and input kept putting unwanted question marks on the screen so I couldn't use that to make a delay. AMOS has a way to suppress the question mark from being printed, I think I remember. Then there was the If then statement that didn't work either! Yeeesssshhh!!!

I guess I'll give SDL Basic another try, as I can't get Hollywood up and running either. That's another whole bowl of grueling kettle fish.


I don't understand, but AMOS was the only "normal" language I've ever come across. And even it has it's small share of lack of documentation/silliness so some commands are useless to me. Some just didn't work as written up in the manual, even. Heck, I've read commands that I sort of understood, but had no idea why they existed!


ALSO, it was utterly unclear/unknown, that if you saved the program after being in the full screen "edit" mode, you didn't actually save the file to disk!!!!! It only saved the file after you dropped down to the command line prompt and typed in "save"! A "save" occured, only from edit to prompt, so you could run the newly altered SW.


Sorry, had to vent as I was losing my MIND!


I feel like just giving up.

Support Amiga Fantasy cases!!!
How to program: 1. Start with lots and lots of 0's. 10. Add 1's, liberally.
"Details for OS 5 will be made public in the fourth quarter of 2007, ..." - Bill McEwen
Whoah!!! He spoke, a bit late.
Go to top
Re: Exaspertion of Attempt at Coding
Quite a regular
Quite a regular


See User information
Oh, here's the program that I couldn't make work.

I'm so embarrassed.

1CLS
3FOR X=3 TO 8
5FOR Y=1 TO 10
10VDU 31 (X-3)*8 Y+2
19IF Y>10 THEN PRINT " ";
20PRINT Y;"."
25NEXT Y
26NEXT X

Support Amiga Fantasy cases!!!
How to program: 1. Start with lots and lots of 0's. 10. Add 1's, liberally.
"Details for OS 5 will be made public in the fourth quarter of 2007, ..." - Bill McEwen
Whoah!!! He spoke, a bit late.
Go to top
Re: Exaspertion of Attempt at Coding
Quite a regular
Quite a regular


See User information
I am actually making inraods to using Brandy!!!!

Turns out that a variable that's printed on screen, if one digit long, has NINE leading blank spaces, 2 digits has 8, etc. NOT IN THE MANUAL!!! So, when I was trying to print a number (variable) in the first spot on the left hand of the display, I could not do so. I guess that it has a leading positive, negative place holder as well? Who knows? Not like the manual was pressed for space for it not to bring it up, being it's 156,700 bytes long, all ASCII AND there are several other documents, about other subjects of Brandy, like how to compile it and stuff.

So, what's the next logical step? I've never come across this before, so I go to use the handy "string$()" command..... Sure, easy as pie.

I tried:
print string$(XX)

That was a typo as I was trying to print the variable "X". Turns out that that's a no-no as there is no "XX" variable. For a lanuage that doesn't need declaring variables, turns out that if you don't use it before applying the string$() command, it generates an error. Clueless on the logic there, but again, not something I learned from the manual.

Next attempt:
Print string$(X)

Didn't like that as String needs two operators.

Try again:
print string$(X,1)

Second number is to say how many times the string is duplicated, kinda cool. That was no good either though, so what's next?

Try this:
A$=string$(X,1)
print A$

NO!!!!!!!!!! This doesn't work either!

I feel like a total mental case.

Support Amiga Fantasy cases!!!
How to program: 1. Start with lots and lots of 0's. 10. Add 1's, liberally.
"Details for OS 5 will be made public in the fourth quarter of 2007, ..." - Bill McEwen
Whoah!!! He spoke, a bit late.
Go to top
Re: Exaspertion of Attempt at Coding
Home away from home
Home away from home


See User information
@Atheist

try this!

1CLS
3FOR X=3 TO 8
5FOR Y=1 TO 10
10VDU 31 (X-3)*8 Y+2
19IF Y>10 THEN PRINT " "& Y & "."
20 ELSE
21 PRINT Y & "."
22 ENDIF
25NEXT Y
26NEXT X

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Exaspertion of Attempt at Coding
Quite a regular
Quite a regular


See User information
Hi LiveForIt,

It appears that Brandy is running, but just kind of doing whatever it wants to.

Has anyone tested/used it at all?

I'll try SDLBasic again, as I can't get Hollywood on here because my xp machine won't copy files onto cd roms for some reason.

Support Amiga Fantasy cases!!!
How to program: 1. Start with lots and lots of 0's. 10. Add 1's, liberally.
"Details for OS 5 will be made public in the fourth quarter of 2007, ..." - Bill McEwen
Whoah!!! He spoke, a bit late.
Go to top
Re: Exaspertion of Attempt at Coding
Quite a regular
Quite a regular


See User information
@Atheist

What the *ell is Brandy..?!
Use a real language instead

Software developer for Amiga OS3 and OS4.
Develops for OnyxSoft and the Amiga using E and C and occasionally C++
Go to top
Re: Exaspertion of Attempt at Coding
Just popping in
Just popping in


See User information
@Atheist

As a very rusty BBC Micro user from about 20 years ago the syntax for the VDU command requires commas between parameters.
VDU 31,col,row
I don't how closely Brandy follows BBC Basic syntax but have you tried the following?
VDU 31,(X-3)*8,Y+2
I seem to remember it is the equivalent to PRINT TAB((X-3)*8,Y+2);
Have you tried that?

Nigel

A1000; A1200; A1500; Sam440ep 667 MHz OS4.1
AmigaOne X1000
Go to top
Re: Exaspertion of Attempt at Coding
Just popping in
Just popping in


See User information
@Atheist

If you need help with Amos you can try the Amos Factory forum.

http://amos.pspuae.com/

Go to top
Re: Exaspertion of Attempt at Coding
Home away from home
Home away from home


See User information
@Atheist
If you're having that much trouble with such a simple program, one wonders if you wouldn't be better-off using a documented but non-BASIC language with proper error reporting, like Pascal or AmigaE!

(And yeah, I remember you dislike needing brackets around parameters & essentially anything different from BASIC, but given the pain you seem to be going through...)

(Typed while my text adventure engine recompiled in PortablE:)

Author of the PortablE programming language.
Go to top
Re: Exaspertion of Attempt at Coding
Just can't stay away
Just can't stay away


See User information
@Atheist

I'll try SDLBasic again, as I can't get Hollywood on here...?
What does Hollywood have to do SDLBasic ?
I had no idea of the ouput of your program, but here's an SDLBasic example:

' Then there's VDU. How hard can it be to position the cursor at an x,y co-ordinate to print a letter/word???

FOR X=0 TO 7 ' columns=x
FOR Y=1 TO 10 ' lines=y
locate ( x*8, y*2) ' compute 8 columns spaced 8 chracters using double spaced lines.
printS( y & ". SDL") ' print a number followed by a period and the word "SDL".
NEXT ' next line double spaced
NEXT ' next column tabbed by 8 characters.

The statement 'printS' stands for print to screen/window; just a 'print' means, print to shell.

SDLBasic is best Basic I've seen in a long time!

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project