Advanced Scratch – Week 4 – Truchet Tiling.

We were supposed to do this last week, but we had so much fun with the Spirals that we didn’t have enough time.

What we are going to learn this week.

  • Recap on Saving Images created in Scratch to Picture files on your Computer.
  • Drawing an accurate image – this is important for Truchet Tiling.
  • Recap on Exporting Sprites.
  • Truchet Tiling – these are cool…:)

Recap on Saving Images.

First you need to run you Scratch Project in Full Screen mode.Then you press the Print Screen button, this should be on the top right of your keyboard somewhere 🙂 Nothing appears to happen when you press that button, but in the background the screen has been saved to your clipboard (same as copy and past).

Then, from the Start menu, go to Accesories and Paint, when Paint is open you cna just Paste in your picture. You will have to edit it a little as you will have the full screen in there!

Sorry, that was for the Windows Users, I’m not sure what it is on a Mac 😦

Truchet Tiling.

These are designs based on work done by Sébastien Truchet

From Wikipeadia:

One particular pattern that he studied involved square tiles split by a diagonal line into two triangles, decorated in contrasting colors. By placing these tiles in different orientations with respect to each other, as part of a square tiling, Truchet observed that many different patterns could be formed.”
We can do them quite easily in Scratch, there are just a coule of key things that need to be done correctly.

Drawing an accurate image.

Start a new Scratch Project, delete the poor Cat as he is fed up being in every project and draw your own Sprite.

The key here is that your Sprite must obey the following rules:

  1. It must be perfectly Square.
  2. Any Lines that you draw must touch the edge of the Square at the exact Centre.

I did this in a few stages.

First draw a Square, in black, with a Vertical Line and a Horizontal Line, it should look something like this, don’t make it too big please.

Advanced Tip 1 -If you hold down the shift key when drawing the square in the Paint Editor, Scratch will force it to be a Square, you wont have to guess. This also applies to circles, if you hold the shift key down they will be perfectly round.

Advanced Tip 2 – If you draw a small square using tip 1, you an then use the stamp tool to make it into four perfect squares.

Now you can draw your own lines from the centre of each side, these don’t need to be accurate as long as they go to the centre of each side, in fact the more wibbly they are the better, then rub out the black lines, either use the rubber or the fill tool. So you will go through this…

To the final image which should look like this…

Now when you are back in your Scratch Project you will need to make a note of how big your Sprite is as you will need this information later…

And finally we can get to some coding. Basically you are going to go to the Top Left of the Screen STAMP your sprite, move it along the the right, so it is next to the first STAMPING, turn it round by 90,180 or 270 degrees and STAMP it again.You keep repeating this until you get to the far right of the screen, you then start another line and repeat until the Screen is full.

This means that your one little Sprite that looks pretty boring…

Can make a random picture which is quite interesting and could be used as a Maze in a game for example.

The Code you will need.

Remember, the screen is 480 wide by 360 tall, and you should have the dimensions of your Sprite from earlier as well.

If you drag your Sprite to the Top Left of the Screen you can see what your Starting X and Y coordinates should be…

You can then put these numbers into your code, which should give you somethign like this…

Next, you need to work out how many times you can STAMP this Sprite across the screen and down the screen.

480 / Size of your Sprite – This will give you the number of times you can go across – we can call this number – columns

360 / Size of your Sprite – This will give you the number of Rows you will be able to make across the screen – we can call this number – rows

Advanced Tip 3 – These numbers are not critical you may want to round up, or even add one to whatever you get to make sure the screen is completely filled.

So make a couple of variables, rows and columns and put them into your script as well, somethign like this…

We now need a two loops (repeat blocks) one inside the other, I did the columns inside the rows, if you do this it will make it easier. For each column we need to STAMP the Sprite and for each Row we need to go back to the left of the screen and down one row.

We know where the left is, in my case it is -210, and we know that the Sprite is roughly 60 high, so we need to drop down 60 or so as well. I found that to make sure teh edges joined up nicely that it was better to overlap by a couple of Pixels, that is why I used 58 as the number of Pixels to drop down.

Like this…

Finally you need to STAMP your Sprite and turn it round ready for the next STAMP. You will need to use a random number here, so it will turn 90, 180 or 270 degrees. So a random number between 1 and 3  multiplied by 90. Once you have the Sprite turned you will also need to move it along so it will STAMP next to the last STAMP. Again this is where you use the size of your Sprite that you noted down earlier, and once again, you might need to reduce it by a little bit in order to get the lines joining up nicely.

Once you have this working, you can change your Sprite to somehting different, as long as you stick with the two golden rules above you should still get interesting patterns, here are some ot the other ones that I have done.

This Sprite…

Makes this Maze…

Remeber, the trick with this is to get your little Sprite nice and accurate, everything else will then just fall into place.

Try colouring in either the centre or the two corners, see what patterns that can make. Something like these:

Advanced Tip 4 – Don’t forget to Export this Sprite and keep it with your Button Sprite you Exported last week. We are going to use these building blocks later on to build a Game.

Beginners Scratch – Challenge 3 – Have Fun With Animation

This week, the lead mentor was Eamonn Hannon, who did a great job.

The challenge this week was to work on animation projects. The basis for this week’s challenge were examples in Scratch Example Animations folder: Playground and Fun with Animation.

Coding concepts that we discussed included:

  1. Animation
  2. Loops
  3. Creativity, planning and drawing

Here are the notes from the day (PDF): CDA-S2-Challenge03-Animation.pdf

If you would like us to send you the PowerPoint slides of my notes, get in touch via twitter or by leaving a comment.

Advanced Scratch – Week 3 – More Crazy Images.

We are going to be in a seperate room this Satruday, next to the main room. This will give us a chance to complete what we started last week and go on to some more Art, using the Stamp Tool.

What we are going to learn this week…

  • Stamping!
  • Random Numbers
  • Truchet Tiling – these are cool…:)
  • Saving Images created in Scratch to Picture files on your Computer.

I have updated the Week 2 page with all Code from my Project to create the Spirals.

Stamping.

This is when you get really angry… Or in Scratch it’s when you copy the Sprite to the Background.

Here is a simple example, using the cat and some spiraling code…

And the same code with a Bat…

And here is the code that makes the pictures above. Can you spot anything that might be better as a variable or a Slider?

Random Numbers.

We are going to use a random number in the Truchet pattern that we are going to draw, this will make the pattern generated different every time.

Truchet Tiling.

From Wikipeadia:

One particular pattern that he studied involved square tiles split by a diagonal line into two triangles, decorated in contrasting colors. By placing these tiles in different orientations with respect to each other, as part of a square tiling, Truchet observed that many different patterns could be formed.”

And here are a couple of samples of what they end up looking like…

Saving Images created in Scratch to Picture files on your Computer.

Beginners Scratch – Challenge 2 – Guess Numbers

Today’s challenge: write a number guessing game!

In doing this, these are the big ideas you will learn about:

  1. Input and output: entering numbers and displaying them
  2. Using variables
  3. Comparing values and making decisions

Here are my notes from the day, in PDF format: CDA-S2-Challenge02-GuessNumbers.pdf.

If you would like me to send you the PowerPoint slides of my notes, get in touch via twitter or by leaving a comment.

Advanced Scratch – Week 2 – Buttons and Crazy Images.

What are we going to learn this week…

  • How to imitate a Button
  • How to use the Pen controls
  • How to use sliders

Buttons.

 Wouldn’t it be great if you could have buttons in Scratch, that you can click and make things happen?

Well you can, there might not be a code block to do it, but we can make one.

 You will need a Sprite with Two Costumes

  • One for the Up position
  • One for the Down Position

 

See how I have given the Sprite a meaningful name and also each costume has a name. The only difference between the sprites is the bottom one has no shadow and is slightly lower and left (covering the shadow).

Cool Tip: You can export the Button Sprite which will save it with all the code as well. This means it is easy to add Buttons to any other Scratch Projects. 

Crazy Images.

We are going to use the Pen Tool to draw some fancy Spirograph like images.

First we need a Sprite that will do the drawing, I just created an invisible Sprite, so you only see the Line being drawn.

Spirographs work using circles, but we are going to use triangles, squares, pentagons, hexagons and heptagons (7 sided).

If you walk 10 steps turn 90 degrees and walk another 10 steps and again and again, you have wlaked in a square, but if you change either how many steps or the angle you turn by a very SMALL amount and just keep[ going you can generate some very interesting patterns.

Sliders.

We will also be using sliders to control the nember of sides to the shape and the change in angles.

Sliders are variables that are displayed on the screen with a slider control to change the value as the program is running. To get the variable to show as a Slider just dbl click on it, once, changes it to a Slider, dbl clicking again, removes the name.

If you right click on the SLider you can set Min and Max values.

The code to create the Spirals is split into two parts. One runs when youclick the Green Flag, this just sets everything up ready.

 

The next piece of code is what does all the work, notice where the Slider variables are used and how the code makes more sense when you give variables descriptive names.

Beginners Scratch – Challenge 1 – First Game

Today’s challenge: write your first computer game!

In doing this, these are the big ideas you will learn about:

  1. What is coding?
  2. Who writes code?
  3. What is Scratch?
  4. How do you write code in Scratch?
  5. What are the steps to write a program?

Here are my notes from the day, in PDF format: CDA-S2-Challenge01-FirstGame.pdf

If you would like me to send you the PowerPoint slides of my notes, get in touch via twitter or by leaving a comment.

Advanced Scratch – Week 1 – The Movies

Movies are lots of single pictures shown very quickly one after the other.

Most movies run at 24 pictures a second!!

We can do the same in Scratch.

 

Question: If there are 24 pictures in one second, how long is each picture shown for?

Answer: in 100th of a second please…

You should have come up with something like this…

1 / 24 = 0.042

And we can code this in scratch like this:

 

 

And to keep things nice and neat, we can use a Broadcast to tell the Sprite to move

Now you don’t need to change this code anymore…

So what kind of Sprite  are we going to have and how will it move?

Well for this demonstration we are going to use a Wheel, it can be of any style, but one with spokes works best to demonstrate the Wagon Wheel effect.

Wheels, are circular 🙂 and circles have 360 degrees, if a wheel turns a full 360 degrees between each frame, then it will appear to stand still.

Some more Maths! Depending upon the number of Spokes in your wheel you can get different effects.

Lets start with one Spoke!

And to make things interesting we will create avariable so we can turn it by different degrees quite easily.

So we set it up to recieve the broadcast from the Movie Machine and turn round by a certain amount each time.

In the example above I have used the variable, but you don’t have to you can just put in a number.

Try the following numbers and see what effect you get:

90 – what do you see?

180 – what do you see?

360 – what do you see?

And if you want to get real fancy and use a variable, you can add the variable, and the following code to adjust whilst the program is running.

What next?

Try numbers very close to the ones above…

Try a wheel with different numbers of spokes and different numbers…

Remember the games we did last year? You could add a spinning ball…

 

CoderDojo Athenry: Introduction to our Second Season!

Three Streams

CoderDojo Athenry is restarting on Saturday 22 Sept 2012, and every Saturday after that, 12-2pm in Gairmscoil Mhuire VEC School, Athenry.

We held a well-attended information and registration session on Sat 15 Sept. You can click on this link to see all of the notes, in PDF format: CoderDojoAthenry-InfoSession-2012-09-15.pdf.

Our big development this time round is that we are going to run 3 separate streams:

  1. Scratch Beginners: ideal for ninjas who are starting out, or would like to recap
  2. Scratch Advanced: ideal for younger ninjas who started with us back in March and have their yellow belts
  3. Python Beginners: aimed at older ninjas, particularly teenagers

All streams will be in the same room at the same time, which may make things chaotic but will maximise opportunities for collaboration, interaction, and flexibility for people to try one stream and switch to another.

Python is a general-purpose, high-level programming language, that is used in a wide range of programming applications. Unlike Scratch, the program code is are text-based, though it can be used to build graphical applications.

To receive email updates and notes from the weekly sessions, please make sure you are on the CoderDojo Athenry Google Group.

Some other points:

  • This is completely free! Nobody pays and nobody gets paid.
  • You can register by coming along any time and filling out a registration form.
  • All ages are welcome! Even parents accompanying U13s are welcome to join in programming if they wish (though you don’t have to).
  • More mentors are always needed, female as well as male.
  • Each week, bring a laptop (with wifi), your laptop charger, and some food if you wish.
  • Under 13s must be accompanied.
  • We will award more belts before Christmas – we will provide details in a few weeks.

Above all, be cool!

Michael.