Okay...
First off, the inkey$() command has a problem that it returns the ascii value of the key pressed, meaning that "A" is 65 while "a" is 97. All of your if statements only test one version of the result, so you need to do both tests IF THE UPPER AND LOWER mean different things in your program. For most programs, this is not usually the case so we decide on which value we want to test and use the string case commands to change input;
upper$(inkey$()) = only give me upper case values
lower$(inkey$()) = only give me lower case values
--OR-- We use the scancode() operation. The scancode() operation returns the keyboard value of any key pressed, for which there is a graphic that shows what values are returned. (See link below)
Now, the secod problem you have is; the WAIT KEY just does that, it waits for a key. It doesn't test that key against anything. So you need another loop like you did at the label of LOOP: to wait for an A, S or B key to be pressed, then a series of tests that jump back in the program if the B key is not pressed. (Just like in the loop.) Again, use the upper$() or lower$() to make sure you test both capital B and lowercase b for being pressed.
loop2:
if lower$(inkey$())="b" then goto bluecable
if inkey$()="" then goto loop2
goto nextnext
good luck!
S.
[Edit] Here that link to the scancode() graphic;
http://forum.thegamecreators.com/?m=forum_view&t=33640&b=7
When you use it, it looks like;
if scancode()=48 then goto bluecable
as above for the "B" key.
Any truly great code should be indisguishable from magic.