NEWS ARTICLES


    What's News in the PlayBasic world ? - Find out here.



 PlayBasic Tutorial: From Arrays To Types (Intro To Types)

By: Kevin Picone Added: June 27th, 2018

Category: All,Video,Beginner,Types,List,Arrays,Variables,Getting Started,Tutorials

PlayBasic Tutorial: From Arrays To Types (Intro To Types) - (2018-06-12)

    This tutorial picks up where the previous variables to arrays tutorial left off, in that it takes the array code, demos that code then we set about converting the parallel array approach shown in the previous tutorial and we build a structure (TYPE) to hold each characters properties. Once the type has been defined that includes all the required properties, we then define a typed array that will house the collection of characters. Later in the video take a look at using typed lists also. So if your struggling with types this could be a good place to start.



Example #1 - Converting the Parallel Arrays To Typed Array

PlayBasic Code:
   Setfps 20

   Number_Of_Characters = 50

   type tCharacter
         Xpos#
         Ypos#
         Xspeed#
         Yspeed#
         Colour
         Size
   endtype


   dim Characters(Number_Of_Characters) as tCharacter 

   
   for lp = 1 to Number_Of_Characters

         ;  Allocate a newe tCharacter and place it's handle
         ;  into the Character(lp) array / container at this position         
         Characters(lp) = new tCharacter
                  
         Characters(lp).Xpos  = rnd(800)
         Characters(lp).Ypos  = rnd(600)
         Characters(lp).Size  = rndrange(16,50)
         Characters(lp).Xspeed = rndrange(-5, 5)
         Characters(lp).Yspeed = rndrange(-5,5)
         Characters(lp).Colour = rndrgb()
         
   next
   
  
  //-------------------------------------------------------
  //---[ MAIN LOOP ]---------------------------------------
  //-------------------------------------------------------
   
  do 
     
        Cls rgb(0,400,20)
        
        for lp = 1 to Number_Of_Characters
           Radius = Characters(lp).Size
            x#=Characters(lp).Xpos
            y#=Characters(lp).Ypos
   

           circlec X#,Y#,Radius,true,Characters(lp).Colour
                    
           x# = wrapvalue(x# + Characters(lp).Xspeed , -Radius, 800 + Radius)
           y# = wrapvalue(y# + Characters(lp).Yspeed , -Radius, 600 + Radius)
          
           Characters(lp).xpos= x#
           Characters(lp).ypos= y#             
        next
          
        Sync
     loop


COMMANDS USED: SETFPS | DIM | NEW | RND | RNDRANGE | RNDRGB | CLS | RGB | CIRCLEC | WRAPVALUE | SYNC |



Example #2 - Converting Typed Array To Typed List

PlayBasic Code:
   Setfps 20

   Number_Of_Characters = 50

   type tCharacter
         Xpos#
         Ypos#
         Xspeed#
         Yspeed#
         Colour
         Size
   endtype


   dim Characters as tCharacter  list 

   
   for lp = 1 to Number_Of_Characters
      
         Characters = new tCharacter
                  
         Characters.Xpos  = rnd(800)
         Characters.Ypos  = rnd(600)
         Characters.Size  = rndrange(16,50)
         Characters.Xspeed = rndrange(-5, 5)
         Characters.Yspeed = rndrange(-5,5)
         Characters.Colour = rndrgb()
         
   next
   
  
  //-------------------------------------------------------
  //---[ MAIN LOOP ]---------------------------------------
  //-------------------------------------------------------
   
  do 
     
        Cls rgb(0,400,20)
        
        for each Characters()
           
           Radius = Characters.Size
            x#=Characters.Xpos
            y#=Characters.Ypos
   

           circlec X#,Y#,Radius,true,Characters.Colour
                    
           x# = wrapvalue(x# + Characters.Xspeed , -Radius, 800 + Radius)
           y# = wrapvalue(y# + Characters.Yspeed , -Radius, 600 + Radius)
          
           Characters.xpos= x#
           Characters.ypos= y#             
        next
          
        Sync
     loop


 


COMMANDS USED: SETFPS | DIM | LIST | NEW | RND | RNDRANGE | RNDRGB | CLS | RGB | CIRCLEC | WRAPVALUE | SYNC |


Links:

    * PlayBasic Tutorial: From Arrays To Types (Intro To Types) Source Code






 

 
     
 
       

(c) Copyright 2002 / 2024 Kevin Picone , UnderwareDesign.com  - Privacy Policy   Site: V0.99a [Alpha]