Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Randomizing cards

From: ActionScript 3.0 in Flash CS3 Professional Essential Training

Video: Randomizing cards

In this movie we'll learn how to randomly place our cards. If you're following along we're in Memory.fla, Card.as and MemoryGame.as. All these files can be found in the 9-11 folder inside of the chapter 09 folder along with the other exercise files. Let's go to MemoryGame.as, scroll down to the area where we created variables. After we created the variable called _snow, press Enter and type private var _cards. The datatype of the cards will be an array so type :Array, with a capital A, and a semicolon.

Randomizing cards

In this movie we'll learn how to randomly place our cards. If you're following along we're in Memory.fla, Card.as and MemoryGame.as. All these files can be found in the 9-11 folder inside of the chapter 09 folder along with the other exercise files. Let's go to MemoryGame.as, scroll down to the area where we created variables. After we created the variable called _snow, press Enter and type private var _cards. The datatype of the cards will be an array so type :Array, with a capital A, and a semicolon.

What we're going to do is use an array to hold all of our cards and then use a loop to randomly place the cards in the array. Scroll down a little bit to our constructor function after the open curly brace, press Return or Enter on your keyboard and type _cards = new Array(); Se we've created a new array and now what we need to do is add to the array every time we create a card. So scroll down in our code.

Find the createCcards method. Inside of that method find the first for loop. The variable should be called i. Scroll to the right of your code if you have to, after the event listener we added, and then press Enter on your keyboard. You may want to scroll back a little bit, and then type _cards.push(_card this one's not plural, ); This will add the card to the top of the array.

Let's copy this line of code by selecting it and pressing Cmd or Ctrl+C on your keyboard. Scroll down. Let's paste this line of code for the j loop, after the MouseEvent.CLICK, when we added the event listener to card on line 61. Scroll down to the k loop. Click after add event listener on line 74, press Return or Enter on your keyboard then press Cmd or Ctrl+V to paste the code again and scroll down to the l for loop.

Click after the add event listener line and press Return or Enter again and then paste by pressing Cmd or Ctrl+V one more time. So everyone of our cards will be inside of our array. Now we'll write a function to randomly place these cards. Scroll down to the very bottom of your code. You'll see one close curly brace, and then to the right of that there's another close curly brace. To the right of that there's another close curly brace. So after the third close curly brace from the left, press Enter on your keyboard twice.

So we'll write this code underneath the checkCards event handler. Type private function randomizeCards with a capital C. Type (cards:Array with a capital A, this will receive our cards array so we can randomize them, ):void Go to the next line, open curly brace, next line, close curly brace, up arrow, Enter Now what we'll do is we'll create variables to hold two random cards and the random x and y values of the first card.

Type var randomCard with a capital C, 1:Number; What we're going to do is we're going to take two random cards and then swap the x and y positions. We're going to put this in a loop and do that multiple times and that will give us random placement of cards. Press Enter or Return. Go to the next line. Create a new variable called randomCard with a capital C, 2. That will also be a Number, then type a semicolon. Go to the next line. Create a new variable. We'll call this card1X: it'll also be a number.

This will stand for the original x position of card1. Then type a semicolon. Now we'll create a variable to hold the card1's y position, so type var card1Y:Number; Press Enter or Return twice to go down two lines. That'll give us some space, then type for(var i:Number = 0; i < We want this code to loop as many times as we want. What it's going to do is swap the position of two cards, however many times you think will randomize your cards enough.

I'm going to type 10. Then type a semicolon, then type a space type i++) Go to the next line by pressing Return or Enter on your keyboard. Open curly brace, next line, close curly brace, up arrow, Enter or Return to get within the curly braces. Now what we'll do is we'll generate a random card by getting a random index inside of our array. So type randomCard with a capital C, 1 = Math with a capital M, .floor. Remember Math.floor rounds down to the floor.

(Math with a capital M, .random() * cards.length And this will give us a random index of our array. Type a close parenthesis then a semicolon. Let's select this whole line of code, press Cmd or Ctrl+C on your keyboard to copy it After the semicolon, press Return or Enter to go to the next line. Press Cmd or Ctrl+V to paste the code. Change randomCard1 to randomCard2 There every time the loop runs we'll have a new random card1 and a new random card2.

Now let's write the code to swap these cards. After the semicolon on the randomCard2 line press Return or Enter twice to go down two lines. To swap them we'll get randomCard1's original x value and original y value and swap it with randomCard2's y values and x values. Now type card1X = cards[ Now we'll reference the randomCard1 index of the array. So type randomCard with a capital C, 1].x; Let's copy this line of code by selecting it and pressing Cmd or Ctrl+C on your keyboard, clicking after the semicolon, press Enter or Return to go to the next line. Paste the code using Cmd or Ctrl+V.

Change card1X to card1Y, capital Y, and then the.x to .y. So now we have the initial x and y values of the first card. Now we'll go to the next line and set the randomCard1's x and y's equal to the randomCard2's x and y's and set the randomCard2 x and y coordinates equal to our card1 x and our card1 y variables. So now type cards[randomCard with a capital C, 1].x = Let's just copy everything before the equals sign by selecting it and pressing Ctrl+C or Cmd+C on the Mac.

We'll click after equal sign to paste the code by pressing Cmd or Ctrl+V and then we'll replace randomCard1 with randomCard2 and that will give the x position in randomCard1 to randomCard2. After that type a semicolon, select the line of code, press Cmd or Ctrl+C on your keyboard to copy it. After the semicolon go to the next line. Press Cmd or Ctrl+V to paste that code. Change the x's to y's. Now I'll go to the next line.

Now we'll set the randomCard2 positioning. So type cards[randomCard2].x = card1X; That value is coming from the original x position, like we said it above, the original x position of the randomCard1 x. Let's copy that line of code by pressing the Cmd+C or Ctrl+C after we've selected it.

Click after the semicolon. Press Return or Enter to go to the next line. Paste the code using Cmd or Ctrl+V. Change the x's to y's, make sure card1Y is uppercase, and there is our randomize cards function. All we have to do is call it. Let's go up to our create cards method. After the l for loop from line 78 to line 89, click after the close curly brace.

Press Return or Enter on your keyboard and then call the randomized cards function. Type randomizeCards with a capital C, open parenthesis. Now all we need to do is pass in our card's array. So type _cards); The array holding all of our cards will then be sent in to the randomized cards method as the array and the cards will come out random. Go to File, Save and then test the movie by pressing Cmd+Return or Ctrl+Enter on your keyboard.

Flip over a card and we have a blue board there. Click the card to the right. It was wrong but we didn't get to see what card it was. Let's move the Flash player with the left a little bit. Click one card, there's the mountains. And then click another card and there's the snowboarder. All the cards have been randomized. And that is how to randomize your cards and that should give you a complete Memory Game.

Show transcript

This video is part of

Expand all | Collapse all
  1. 2m 3s
    1. Introduction
      39s
    2. How to use the exercise files
      1m 24s
  2. 3m 53s
    1. Why you should learn ActionScript 3.0
      52s
    2. Differences from ActionScript 2.0
      1m 56s
    3. Moving beyond Script Assist
      1m 5s
  3. 21m 57s
    1. Communicating to MovieClips
      4m 7s
    2. Modifying MovieClips properties
      7m 0s
    3. Understanding variables
      50s
    4. Setting variable data types
      3m 23s
    5. Using trace statements
      2m 39s
    6. Using comments
      3m 58s
  4. 26m 3s
    1. Understanding functions
      1m 23s
    2. Using functions
      2m 27s
    3. Writing custom functions
      4m 25s
    4. Making a function modular
      11m 50s
    5. Making a function return a value
      5m 58s
  5. 41m 45s
    1. Understanding event types
      1m 28s
    2. Using a listener to catch an event
      3m 14s
    3. Writing event handlers
      6m 56s
    4. Responding to mouse events
      4m 33s
    5. Responding to keyboard events
      5m 45s
    6. Creating a link to a website
      5m 26s
    7. Using the enterframe to create animation
      7m 34s
    8. Using the timer event to control animation
      6m 49s
  6. 44m 32s
    1. Understanding classes
      1m 48s
    2. Writing a custom class
      4m 21s
    3. Extending an existing class
      2m 16s
    4. Understanding methods
      2m 11s
    5. Public vs. private properties and methods
      2m 46s
    6. Bringing a class object to the timeline
      14m 16s
    7. Defining a document class
      8m 13s
    8. Setting up a classpath
      6m 20s
    9. Creating useful classes
      2m 21s
  7. 36m 4s
    1. Understanding conditional statements
      1m 36s
    2. Writing a conditional statement
      4m 40s
    3. Understanding conditional operators
      1m 37s
    4. Using conditional operators
      4m 49s
    5. Setting up alternate conditions
      4m 43s
    6. Writing compound conditions
      4m 22s
    7. Understanding loops
      1m 30s
    8. Creating a code loop
      2m 58s
    9. Using a loop to generate instances of a class
      3m 44s
    10. Placing loop-created instances
      6m 5s
  8. 12m 49s
    1. Understanding the math class
      1m 5s
    2. Using basic math operators
      1m 46s
    3. Generating random numbers
      2m 15s
    4. Using different techniques to round numbers
      7m 43s
  9. 56m 20s
    1. Creating a text field
      3m 27s
    2. Styling a text field
      6m 28s
    3. Capturing data from a text field
      7m 38s
    4. Loading external text
      8m 25s
    5. Scrolling a text field
      5m 14s
    6. Understanding arrays
      9m 48s
    7. Using text and arrays to create a game
      8m 24s
    8. Finishing the text game
      6m 56s
  10. 1h 9m
    1. Storyboarding your application effectively
      3m 13s
    2. Writing a memory card class
      5m 57s
    3. Writing a memory game class
      3m 51s
    4. Adding graphics to cards
      9m 20s
    5. Placing cards
      7m 33s
    6. Detecting matches
      8m 40s
    7. Resetting cards
      4m 53s
    8. Handling incorrect matches
      5m 14s
    9. Determining a win
      3m 51s
    10. Adding additional cards
      6m 47s
    11. Randomizing cards
      10m 17s
  11. 36m 30s
    1. Drawing with code
      8m 12s
    2. Creating a color change
      5m 20s
    3. Generating a random color change
      6m 58s
    4. Animating a color change
      4m 50s
    5. Using filters
      3m 30s
    6. Modifying filter properties
      4m 13s
    7. Animating filters
      3m 27s
  12. 51m 50s
    1. Loading external images and Flash movies
      4m 1s
    2. Communicating to loaded movies
      6m 31s
    3. Loading sound
      4m 6s
    4. Starting and stopping sound
      6m 18s
    5. Pausing and resuming sound
      9m 46s
    6. Managing the volume of sound
      5m 41s
    7. Understanding Flash video connections
      1m 0s
    8. Loading video
      5m 33s
    9. Controlling video playback
      8m 54s
  13. 45m 54s
    1. Overview of creating a drag-and-drop game
      57s
    2. Creating drag-and-drop class
      12m 7s
    3. Detecting collisions
      8m 44s
    4. Responding to collisions
      9m 1s
    5. Detecting a win
      4m 2s
    6. Adding drop shadows
      3m 43s
    7. Randomly placing objects
      7m 20s
  14. 23s
    1. Closing
      23s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed ActionScript 3.0 in Flash CS3 Professional Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK

Course retiring soon

ActionScript 3.0 in Flash CS3 Professional Essential Training will be retired from the lynda.com library on October 10, 2014. Training videos and exercise files will no longer be available, but the course will still appear in your course history and certificates of completion.


Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.