Scratch Functions | Make a Block using My Blocks in Scratch 3.0

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024

Комментарии • 162

  • @SurfingScratcher
    @SurfingScratcher  5 лет назад +21

    SCRATCHY QUESTION: Share how you use 'My Blocks' below.

    • @MelissaHarrismelement
      @MelissaHarrismelement 4 года назад +2

      Surfing Scratcher I use them ALL the time!!!

    • @user-xz2nm6lp5d
      @user-xz2nm6lp5d 4 года назад

      Making an operating system

    • @jrandandy9258
      @jrandandy9258 4 года назад

      custom hat blocks, custom modification blocks, custom pen blocks, etc

    • @calidor_
      @calidor_ 4 года назад +1

      rhythm game

    • @daynnit1
      @daynnit1 4 года назад

      animations

  • @Sam_Wich
    @Sam_Wich Год назад +1

    I used to never use 'my blocks', because like a year ago I clicked on 'make a block' and got scared of all of the configurations then never tried to explore them further and just went on with my creating. 1 year later, I'm making a game as a school project when I look down and remember that moment. curious (and with a bit more confidence), I looked up this video and watched it all the way through.
    AND _MY GOD._
    IT IS SO SIMPLE BUT COULD HAVE SAVED ME FROM SO MUCH TROUBLE.
    my mind is blown, thank you for this video!

    • @SurfingScratcher
      @SurfingScratcher  Год назад

      Amazing! Thank you for sharing your story. It's so lovely to read about your journey and to hear you revisit content you previously thought challenging.

    • @john16046
      @john16046 Месяц назад

      same :)

  • @karleaston3605
    @karleaston3605 4 года назад +13

    30 seconds in to this site and impressed already. Certainly going to explore all things "Surfing Scratcher"! Teacher F/T Primary - Sydney - Digital Tech / Robotics. Stay Calm...and Carry on Coding!

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Thanks for dropping by with your comment, Karl. Pumped to read that you've found value. Be sure to reach out if you and your learners complete some of the projects. Love seeing how others put their spin on this work. Woot!

  • @ale-fp4it
    @ale-fp4it 2 года назад +4

    After 2 years, still helping a lot!

  • @amazinggage6074
    @amazinggage6074 2 года назад +1

    Thank You! I wasn’t smart enough to figure out how to male the inputs work but all thanks to your bonk of my head I can make an auto text scroller.

  • @Explosion_Detaul
    @Explosion_Detaul 3 года назад +2

    This video is useful for starters. I highly recommend starters follow this because it is so simple. The quality for this video is high. All of the time.
    I love your channel. It really needs a medal.

    • @Explosion_Detaul
      @Explosion_Detaul 3 года назад +1

      Thanks Surfing Scratcher :) You help me alot with scratch!
      Thanks so much!
      And, Ive subscribed your youtube channel :)

  • @MelissaHarrismelement
    @MelissaHarrismelement 4 года назад +8

    U need more subscribers

  • @sirjerkey9347
    @sirjerkey9347 4 года назад +4

    Thanks, I will be sure to use this to save time in the future!

  • @itzravage4072
    @itzravage4072 4 года назад +3

    I had some what of an idea of how to use them but you cleared it up! I now know how to use the basics of my blocks from this video. Thanks surfing scratcher!

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Unreal, Its Ravage! I love hearing and reading posts like yours. Super pumped to hear that it offered some value for you and your learning journey 🙌

  • @NINJAR-zi1dp
    @NINJAR-zi1dp 2 года назад +1

    You are underrated!!!

  • @jkhodai
    @jkhodai 8 месяцев назад

    Clearest explanation of custom blocks I've seen, thanks!

  • @KidtokidsGaming
    @KidtokidsGaming 5 лет назад +39

    How do you only have 173 subs? This is such a high quality channel!

    • @SurfingScratcher
      @SurfingScratcher  5 лет назад +10

      Hi KidtokidsGaming, thanks for your comment. It sounds like you value the content, which is wonderful. That's all that matters :) I'm always interested to hear about what people are looking to learn when it comes to Scratch and programming, so feel free to share what you're looking for 🤙

    • @KidtokidsGaming
      @KidtokidsGaming 5 лет назад +4

      @@SurfingScratcher Thank you!

    • @ahmedfadi9050
      @ahmedfadi9050 3 года назад

      he has 4.2k subs

    • @CorruptedWorld
      @CorruptedWorld 2 года назад

      @@ahmedfadi9050 He HaS 5.76 sUbS

    • @chesstactics5796
      @chesstactics5796 2 года назад

      @@ahmedfadi9050 It was posted 2 years ago, which was 1 year 10 months before your comment was posted. His channel grew so much in that time...

  • @jelofisk
    @jelofisk 5 месяцев назад

    I appreciate this!! Been avoiding blocks for years, I didnt realize the potential behind them until now!

    • @SurfingScratcher
      @SurfingScratcher  5 месяцев назад +1

      Amazing! Thanks for sharing your experience :)

  • @bocz4317
    @bocz4317 3 года назад +3

    You are so good at teaching,your tutorial helped me a lot,thank you.

    • @SurfingScratcher
      @SurfingScratcher  3 года назад

      Thanks YOMUPI for posting your feedback. I feel happy knowing that you found it helpful!

  • @scratcherfortutorials9078
    @scratcherfortutorials9078 3 года назад +3

    Thank you for teaching us this, I really learned something

    • @prinlerdsri405
      @prinlerdsri405 2 года назад

      not for me tho. this is a tutorial that help me do 1 code but it not an explaination that help me do everything else.

  • @artiomno1562
    @artiomno1562 6 месяцев назад

    Thank you very much! This tutorial is very helpful. It's very clear and I understood everything.

  • @vasurvawadajkar
    @vasurvawadajkar 3 года назад

    Top Quality Channel. This was going over my head until you came and told me how to do it! HUZZAH to you!

    • @SurfingScratcher
      @SurfingScratcher  3 года назад +1

      Woot Vasurva! So glad to hear that the video has cleared up some confusion for you. I love hearing about stories like this so thanks for sharing :)

  • @hollowknightfan5938
    @hollowknightfan5938 3 года назад

    I just thought that they are like messages ( yellow blocks) but now I know more! Thanks!

  • @susiedeltarunedistinguished
    @susiedeltarunedistinguished 2 года назад

    Tysm! I didn’t know how to use these at all earlier!

  • @Bateman__
    @Bateman__ 3 года назад

    i had no idea even what my blocks were . But this video helped me learn about them

  • @pajkeav
    @pajkeav 2 года назад

    thank you for your excellent movies

  • @markanderson5377
    @markanderson5377 2 года назад

    Excellent presentation. Thanks. We pronounce the word "Boolean" differently.

  • @skyee691
    @skyee691 4 года назад +2

    Me watching every single tutorial: i don't understand this.
    Me Watching Surfing Scratcher: My mind is BLOWN O_O (bcuz of how amazing u r)

  • @raniell.caturan2079
    @raniell.caturan2079 3 года назад

    this is so helpful now i understand how blocks work thanks you so much

  • @yahya2853
    @yahya2853 3 года назад

    Thank you so much I knew how to use blocks but I didn't know how to use the inputs but they're just like variables! Thanks for the video!

  • @sethzero47
    @sethzero47 3 года назад +2

    8:56
    You can just use one of those mass blocks and make an x, y, and direction text box

  • @mychemicalmods5412
    @mychemicalmods5412 3 года назад

    woah ive used scratch my blocks function before but this expalins it more then i knew

  • @vrishinramredddy7312
    @vrishinramredddy7312 2 года назад

    it was very helpful thanks.

  • @andreschavez8811
    @andreschavez8811 4 года назад +1

    Thanks for creating this! Would love to use this with our students! Thanks for creating the Starter Project as well!! So helpful!

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Hi Andres, thanks for posting your comment. Let me know if you think an accompanying worksheet would help with your students. If you think it might help, let me know what you'd like on it and I can create one :)

    • @andreschavez8811
      @andreschavez8811 4 года назад +1

      @@SurfingScratcher That would be great! Do you have a link to those worksheets? Would you happen to have any simple resources on how to explain conditional statements using if/then, when, = ? 4th graders will be learning those this upcoming year but I was having a hard time finding resources to "show" how it works. Thank you!!

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      @@andreschavez8811 I haven't yet created a worksheet for this video, but I can do it if you would like. It's probably a little more advanced though.
      Check out this resource first. It's an introductory project that talks about branching (if/then else decisions), iteration (loopin) and user input (button presses). If you check out this link you'll find a link to an unlisted video that walks you through the project. It's unlisted because it's part of a course.
      Let me know what you think. I'd be happy to create the Scratch functions worksheet in collaboration with you if you'll use it :)
      www.teacherspayteachers.com/Product/Coding-Activities-Scratch-3-Lesson-Plan-Bundle-Animate-Your-Name-5212508

  • @axolotl780
    @axolotl780 4 года назад +1

    This makes it so much easier! Now I will have less code and I can do stuff quicker! Thank you so much!
    Definitely subscribing :)

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Unreal StreamScapes! That's exactly the purpose of functions and now you've got a powerful skill/process to use going forward. Use it accordingly ;)

  • @aartisingh12
    @aartisingh12 3 года назад

    This video was very helpful thank you so much

  • @jacobreed2709
    @jacobreed2709 2 года назад

    Great video, thank you!

  • @Polai010
    @Polai010 4 года назад +1

    Even though I am very late this explanation is the best I am going to use custom blocks on my new super Mario bros project to create the levels instead of making thousands of sprites for each different part of the levels

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      Absolutely LOVE reading this Themanofwinning Best. Once you nail this concept, you won't know yourself, and it will set the scene for your text-based programming explorations. Thanks for sharing and be sure to post a link to your project once you've done some work on it :)

    • @Polai010
      @Polai010 4 года назад +1

      Surfing Scratcher Although this is not my ‘New’ Project It is sill using custom blocks for the level
      scratch.mit.edu/projects/405151872/

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      @@Polai010 Awesome, thanks for sharing your project. I can see that you've utilised a custom block in your level base sprite. You've got a set of instructions that you need to repeat with one bit of information that changes. Great use of a custom block!

  • @froggyCodingClub
    @froggyCodingClub 4 года назад

    great explenation bro

  • @momentsago1013
    @momentsago1013 3 года назад +1

    This video is pretty old and i'm not sure if your gonna see this but... do you know how there is a next backdrop block in scratch how would you create a previous backdrop block in scratch i really need to know. It will be much appreciated if you let me know and great video, you have earned a like and a new subscriber!

  • @dockpirate2127
    @dockpirate2127 4 года назад

    Thank U

  • @1sd509haiti
    @1sd509haiti 3 года назад

    Thanks 🙍🏿‍♂️

  • @shazamohamed4396
    @shazamohamed4396 3 года назад

    video: teaches how to use custom locks in scratch
    me: knows how but just wants to know what run without screen refresh ;)

  • @daansprinkhaan9635
    @daansprinkhaan9635 3 года назад

    Ohhh its like a function insertname(a, b)

  • @mans5965
    @mans5965 4 года назад

    Thanks

  • @kidz4it
    @kidz4it 4 года назад +5

    How do I use the same 'My Block' for different sprites within a project

    • @brentoncrowley
      @brentoncrowley 4 года назад +3

      Vidyanidhi Vita legendary question! Personally, I haven’t found that solution. My workaround is to put the function in a central sprite and then use events in other sprites to call that function.
      Though, that’s of no use if you want to directly manipulate a sprite’s attributes. For that, you’ll need to duplicate using the backpack, which isn’t the cleanest solution. I wonder if other scratchers can she their workarounds.
      Check the wiki. It may have an answer for you. Thanks for posting!

    • @happyjohn1656
      @happyjohn1656 4 года назад +2

      This has been annoying me too. No global function calls? Really MIT?
      7:13 PM
      5/9/2020

    • @CHECKLATESTVIDEOFORNEWCHANNEL
      @CHECKLATESTVIDEOFORNEWCHANNEL 4 года назад

      Use the broadcast feature.

  • @EHMM
    @EHMM 2 года назад

    I used my-blocks when I started making my 4th clicker game.

  • @m.selvamselvam3238
    @m.selvamselvam3238 3 года назад +1

    sorry i try it in laptop but "ok" button is not shown

  • @noobmuffin24p92
    @noobmuffin24p92 Год назад

    This guy is better then zinnia

  • @JamoFamo
    @JamoFamo 3 года назад

    finnaly, no more brodcasting :)

  • @vrishinramredddy7312
    @vrishinramredddy7312 2 года назад

    can you please post the link for the animation? thanks.

  • @imhavethataccrobloxmobile1057
    @imhavethataccrobloxmobile1057 3 года назад

    How about the Red hat block?

  • @lastyhopper2792
    @lastyhopper2792 3 года назад

    Can I make a code where; it told the machine to put numbers in ascending/whatever order to the input boxes..? I'm too lazy of having to switch from clicking to typing to clicking to typing and so on.

  • @icygamer299
    @icygamer299 4 года назад

    Using my blocks is fun

  • @betagg2176
    @betagg2176 3 года назад

    how do i change the block like its a varible tho?

  • @monkey.d.paoheng7628
    @monkey.d.paoheng7628 Год назад

    Nioce

  • @twxpro
    @twxpro 2 года назад

    How to create one block for all sprites?

  • @gio_ozz
    @gio_ozz 3 года назад

    What do I do if I don't want any inputs to be entered as my scratch thing breaks with multiple inputs

  • @liviacarla1052
    @liviacarla1052 11 месяцев назад +1

    N usei o bloco novo

  • @zgreatest69
    @zgreatest69 4 года назад +1

    hey can you make a fps game or a racing game on scratch and put a video

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      Not in the works just yet. I reckon there might already be a few other videos around with these tutorials. If you link me with a couple of example, I can have a look into it.

  • @edsansam
    @edsansam 3 года назад

    But what about the booleans

  • @vianeyyy6394
    @vianeyyy6394 3 года назад

    Hi, great channel I was wonder how to make a sprite stop moving and like hide behind something. I'm doing this game where you have to pick up trash and their moving, if you click on it, it should stop and go behind the trash, but I have to wait for the moving code to finish then after that's finished it goes hiding behind the trash(which is my goal) plz help

  • @parks-
    @parks- 3 года назад

    how do i delete blocks?

  • @theosackmydeck
    @theosackmydeck 3 года назад

    Isnt it just messages?

  • @vivifier6428
    @vivifier6428 3 года назад

    Is there a way to make a block that returns a value?

    • @SurfingScratcher
      @SurfingScratcher  3 года назад

      Unfortunately not. You'd need to work around this with setting a variable.

  • @tonipodobnikrozman9919
    @tonipodobnikrozman9919 3 года назад

    How to permanently save or even send your custom blocks? Only via save and share your own project?

    • @SurfingScratcher
      @SurfingScratcher  3 года назад

      That's a cool question Toni. You might create your own 'starter project' the starter project is a baseline that you can duplicate each time that you wish to start a new project. Alternatively, you could put everything inside of a sprite that could be important across projects.
      it's a little funky when you have variables and the like, especially with local and cloud variables.
      Curious to hear about other ways you've come up with to work around this. It's just about video worthy!

  • @abitar2734
    @abitar2734 2 года назад

    so.. its kinnda like the broadcast?

    • @SurfingScratcher
      @SurfingScratcher  2 года назад

      Yeah that's right. Except you can speak across sprites with broadcasts. My blocks only work within the sprite. But nice connection!

  • @crimantoup8100
    @crimantoup8100 4 года назад +1

    how to make a new block 'type () for () seconds' and use it?

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Hi yoismylastword, thanks for posting your comment. I wanna be sure that I'm understanding you. Are you suggesting that you would like to make a custom block and specify a time that it should run for?
      If so, you could use the built-in timer block.
      I'd do something like this:
      runFunctionFor: 2 seconds
      resetTimer
      repeatUntil Timer > 2

  • @LAISUNIp
    @LAISUNIp Год назад

    Hi, thank you for your sharing. I try to do the same in the scratch. Pixel size in costume set 24x24 and copy all the blocks in your order. But there are gaps between the pixels, which looks like the pixels are NOT touching each other/ they have a white outline. What do you think if anything I have done differently? thanks.

    • @SurfingScratcher
      @SurfingScratcher  Год назад

      Is it something to do with the costume? Maybe your costume has a white outline?

    • @LAISUNIp
      @LAISUNIp Год назад

      @@SurfingScratcher Thanks.
      I try to widen a bit of the pixel and the white gap disappears, while it still remains 24 x 24. I guess the dimension is not an integral.

  • @rubivnn
    @rubivnn 4 года назад

    So how to use 'My block'?

  • @yanajohnson683
    @yanajohnson683 3 года назад

    When creating the pixels, why is a list needed?

    • @SurfingScratcher
      @SurfingScratcher  3 года назад +1

      It's not needed. I think I just used a list in place of a count variable. I could just check the length of the list. I was playing around with this technique and you might use it if you wanted to reference each individual pixel in the grid.

  • @anilchaudhary5524
    @anilchaudhary5524 2 года назад

    Wait but messige blocks work the same!

  • @manavmehta7442
    @manavmehta7442 2 года назад

    How to use a single custom block in any spirits.

    • @SurfingScratcher
      @SurfingScratcher  2 года назад +1

      Unfortunately, it's not possible at this stage.

  • @happyman3220
    @happyman3220 4 года назад

    Can I give it to other sprites

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      If only! Unfortunately, you can only use my blocks on a single sprite. You can work around this somewhat with events, but it's not perfect.

  • @kemptonholley6393
    @kemptonholley6393 2 года назад

    😀

  • @GDbestedout
    @GDbestedout 4 месяца назад

    it doesn't work when I right-click

    • @GDbestedout
      @GDbestedout 4 месяца назад

      tell me in replies if u know what's happening on my computer

  • @ayyo7820
    @ayyo7820 4 года назад

    Me still watching at 9:99

  • @daynnit1
    @daynnit1 4 года назад

    what use do you use inputs for when you make my blocks

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      Inputs are used to make your sequence of steps more general. Think of my blocks like a food recipe. It has a sequence of steps for you to follow. Usually in a food recipe, you'll have to measure out quantities of ingredients. A recipe usually tells you how many serves it makes. Let's say a cake recipe makes 6 serves. But you're having a birthday party and there will be 18 people. Instead of manually changing the individual measurements of the recipe, you can just create a multiplier by using an input that will automatically do it for you.
      My blocks is just like creating a template to reuse. You can 'tweak' the template by the inputs that you pass in.

    • @daynnit1
      @daynnit1 4 года назад

      @@SurfingScratcher i mean the boleen ones

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      ​@@daynnit1 Just treat them as any other boolean. Recall that a boolean is just a switch for 'yes' or 'no'.
      So you're just passing in a 'yes' or 'no' if block condition that is controlled from outside of the custom my block.
      You use my blocks to generalise code block sequences. Say you wanted the same thing to happen when a condition was true, then you can generate a my block and have the boolean input as a placeholder for that condition.
      An example that comes to mind is user input. You could use a boolean for a mouse press or a button press and have the same set of instructions execute for both.

    • @daynnit1
      @daynnit1 4 года назад

      @@SurfingScratcher ok got it i ask that because i tried thaat and put repet until costume number thin for the input and it kept on glitching

  • @Kinguardia
    @Kinguardia 4 года назад

    no. not at all. i came here to see what they where. they are basically like the print function in python!!! that makes it soooooooo much easier to make the fighting game i wanted to make!!!

  • @zaidytchannel
    @zaidytchannel 2 года назад

    the road is amogus 😳😳

  • @sethzero47
    @sethzero47 3 года назад

    *uses blocks while watching

  • @nightattheelementaryschool638
    @nightattheelementaryschool638 4 года назад

    Do my blocks work across sprites?

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      Not that I am aware of, which is unfortunate. The my blocks that I wish to use 'across' or 'globally' throughout the project, I place on the stage. Then I can just use events to trigger them from any sprite. I try and keep custom blocks that relate directly to that sprite in the blocks of the sprite. Anything more generic goes in the stage.

  • @zeeshanzaffar1435
    @zeeshanzaffar1435 4 года назад

    custom blocks does not have global access! what a bummer!

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      I know, right? You can do some fairly clunky workarounds using events, but I think it would make your project more cluttered than it already is. I try and work globally in the stage sprite when I'm just working on data.

  • @user-xz2nm6lp5d
    @user-xz2nm6lp5d 4 года назад

    Can you help me with the booleans?

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      Have you checked out my video on Scratch Operators? If not, do that first as I go through Booleans there: ruclips.net/video/t8tQETY8j_M/видео.html

    • @user-xz2nm6lp5d
      @user-xz2nm6lp5d 4 года назад

      @@SurfingScratcher I meant the custom block booleans

    • @user-xz2nm6lp5d
      @user-xz2nm6lp5d 4 года назад +1

      Oh I get it now its a custom boolean thank you so much for your help

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      ​@@user-xz2nm6lp5d That's right, the 'boolean parameter' just acts like any other boolean operation. I like to think of it as a custom flag that's either yes or no. Rather than hardcoding that logic inside of the custom block, you can pass the block the yes or no flag.
      Inside the block, you will just execute code based on the yes or no flag that you've passed in.
      If yes passed in then do ...
      else ...

  • @chendradorji5365
    @chendradorji5365 2 года назад

    i like to subcribe you and like you

  • @RifatNabisoyLive
    @RifatNabisoyLive 4 месяца назад

    there's a better tutorial to make blocks and here is it: ruclips.net/video/4GzZ-yG8aGg/видео.html

  • @coatedseven8858
    @coatedseven8858 3 года назад +1

    “Broadcasting in a nutshell”

  • @-tylerrodgers-
    @-tylerrodgers- 3 года назад

    Copy:   

  • @DGOT-yt
    @DGOT-yt 7 месяцев назад

    So basically the broadcast block on steroids?

  • @warpedsubspacetripmine
    @warpedsubspacetripmine 3 года назад

    someone like this video real quick or satan will come for us!!!!!!!!

  • @abdouaboud789
    @abdouaboud789 3 года назад

    I Understand nothing even i almost understand every scratch blocks

  • @You-sz2eb
    @You-sz2eb 3 года назад

    e

  • @carriesteiner1518
    @carriesteiner1518 3 года назад

    That is too confusing for making blocks the first time.

    • @SurfingScratcher
      @SurfingScratcher  3 года назад

      Hi Carries, thanks for your comment. Yep, 'my blocks' are more of an advanced feature. Definitely don't recommend them for just starting out. Once you begin to repeat instructions or want to group them, then they are super handy.

  • @CyberPotato123
    @CyberPotato123 11 месяцев назад +1

    I hate ñ

  • @missshelley6957
    @missshelley6957 4 года назад

    Oh my gosh. Could you be anymore confusing

    • @SurfingScratcher
      @SurfingScratcher  4 года назад +1

      Hi Miss Shelley, thanks for dropping by with your comment. Which aspect of My Blocks are most confusing? If you're new to Scratch, I wouldn't recommend using them until you're comfy with other block categories first. Let me know which part of the tutorial seems most confusing and I'll do what I can to shed some light on it :)

    • @missshelley6957
      @missshelley6957 4 года назад

      @@SurfingScratcher Why even pull out the show block at the beginning when you don't need it? That is the first thing

    • @SurfingScratcher
      @SurfingScratcher  4 года назад

      @@missshelley6957 The show block sets the stage for the rest of the tutorial. A custom 'fade in' block is just a show block that gradually reveals itself. Call it a story-telling decision :)
      Though, I'm with you. Using a custom block that does something Scratch already does is pointless. I can see merit in demonstrating this as well, but acknowledge that it may not be to everyone's preference. ✌️

  • @kokys3351
    @kokys3351 4 года назад

    no

  • @Bateman__
    @Bateman__ 3 года назад

    i had no idea even what my blocks were . But this video helped me learn about them