When creating my code for the Autonomous mode, i’m running into a problem with making a counter of some sort so i can change directions or perform actions during the mode. I thought i’d try setting up one like most other languages time = time + 1 << thats how i know how to do it, its plan and simple. I’ve not had too much experiene with PBASIC but there must be another way.
Also my if statments sorta go like this, are they the problem?
if time < (a certain time) then do_a_turn
do_a_turn:
“turn code”
if theres something wrong with that lemme know too. I’m probly doing something really dumb, but its a big problem we’re having.
thanks!
*Originally posted by cantwell03 *
**if time < (a certain time) then do_a_turn
do_a_turn:
“turn code”**
Here’s the problem my friend. No matter what, your code will execute your “turn code.” If the if statement is found to be true, it will jump to do_a_turn, if it is found to be false, then it will just keep going and run into the “turn code” so your code is right except for one thing, you need a goto statement between your if/then and your lable. It would look something like this:
if time < (a certain time) then do_a_turn:
goto skip_do_a_turn:
do_a_turn:
"turn code"
skip_do_a_turn:
kinda ugly and confusing, wouldn’t you say? so i prefere an alternate meathod of inverting your ifthen statements, which would look like this:
if time >= (a certain time) then skip_turn:
"turn code"
skip_turn:
a lot simpler. if you look at it, it does the same as the previous code. In the first one, if the time is greater than the set time, then it would keep going, hit the goto statement, and skip the code. if it were less than, it would jump to the code and preform it. on the seconf one, if it were greater, it would jump to the lable, skipping the “turn code.” if it were less than, it would just keep going and preform the turn. Hope this helps.
assuming you want to use pbasic 2.0 syntax, the easiest way (that I have found) to keep everything straight is to do something like this:
if condition1 then do_condition1
if condition2 then do_condition2
if condition3 then do_condition3
'add else condtion here if necessary
goto end_conditions
do_condition1:
'condition1 code here
goto end_conditions
do_condition2:
'condition2 code here
goto end_conditions
do_condition3:
'condition 3 code here
goto end_conditions
end_conditions:
'increment counter or whatever else you want to do.
doing this allows you to add as many conditions as you want very easily.
this would be equivilent to a nested if…else if…else if…else statement in C.