UnderwareDESIGN

PlayBASIC => Beginners => Topic started by: kevin on March 21, 2017, 02:05:25 AM

Title: PlayBASIC Tutorial: Into to IF / Then and IF / ENDIF statements ( 2017/03/21)
Post by: kevin on March 21, 2017, 02:05:25 AM
PlayBASIC Tutorial:  Into to IF  / Then  and IF / ENDIF statements ( 2017/03/21)

This #tutorial walks the new coder through the IF / THEN and IF / ENDIF statement pairs which are used to selectively execute sections of the code, based upon the result of the comparison operators. The IF statements actually change control, so they act upon the comparison, but it's just easier to think of them as part of the comparisons landscape when learning programming.


Also read: PlayBASIC Help Tutorial - Comparisons - Making Decisions with IF Statements
https://playbasic.com/help.php?page=ABOUT.COMPARISONS

https://PlayBASIC.com
https://UnderWareDesign.com

#coding #learntocode #programming #basic #makegames #howto #programmer #code



View On YouTube (https://www.youtube.com/watch?v=XxwPfcY3rUY)



[pbcode]

   Setfps 20

   Do
      Cls rgb(20,30,40)

      ;
      Mx = MouseX()
      My = MouseY()

      Circle Mx,My,40,true

      print Mx
      print My


      box 500,300,600,400,false

      if (Mx > 500) and  (Mx < 600) and  My >300 and My<400
                  print "Mouse is within zone"
      endif

      Sync
   loop

[/pbcode]
Title: Re: PlayBASIC Tutorial: Into to IF / Then and IF /ENDIF statements ( 2017/03/21)
Post by: stevmjon on March 21, 2017, 08:34:52 PM
this reminded me about optimising.
why is it better to have the compares on their own line, rather than all on a single line?

it was interesting to see how playbasic treats code, and where it jumps to next upon certain conditions. i like those sort of explinations.

  stevmjon
Title: Re: PlayBASIC Tutorial: Into to IF / Then and IF /ENDIF statements ( 2017/03/21)
Post by: kevin on March 21, 2017, 09:02:17 PM
Quote from: stevmjon on March 21, 2017, 08:34:52 PM
this reminded me about optimising.
why is it better to have the compares on their own line, rather than all on a single line?

 opt'ing anything is all about situation, so the data that's being processed will determine the layout of the routine...

 you can stack loads of compares into an expression,  but then the expression has a fixed execution cost.   So everything in the expression is being solved, so it's boiling it all down to a single answer.    if you can do a simple test and reject something up front, then that lowers the cost of a fail but raises the cost of a success.   So if situtation means the code will fail 99% of time say like when running through a big chunk of data, then in terms of mirco opt's then its quicker to split stuff than stack all the compares into an expression..

 In terms of the opt'ing for the compiler, the stuff mentioned in opt'd tutoriak  thing written for PlayBASIC users, but it's actually general programming advice..

  A Crash Course In BASIC program Optimization (http://www.underwaredesign.com/forums/index.php?topic=2548.0)

 There's a great quote from computer science teacher back in the 80's, along the lines of "The fastest routine in your program is the one that's never executed"