iOS Memory Game Objective-C XCode
4.6 (27 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,821 students enrolled
Wishlisted Wishlist

Please confirm that you want to add iOS Memory Game Objective-C XCode to your Wishlist.

Add to Wishlist

iOS Memory Game Objective-C XCode

Develop a Memory Puzzle App for iOS with Objective-C
4.6 (27 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,821 students enrolled
Created by Amir J.
Last updated 3/2017
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Develop basic video game apps in XCode for iOS
  • Understand basic XCode interface builder and Storyboards
  • Understand the basics of Objective-C programming langauge
View Curriculum
  • Basic Understanding of Programming in XCode

In this course, we will explore how to build an iOS memory puzzle game using XCode and Objective-C. While this is a beginner course, by going through it you will learn an array of topics such as 

  1. user interface
  2. dynamic outlets
  3. touche events
  4. basic view animations 
  5. as well as some mathematical algorithms. 

This course could be used by both beginner developers or experienced coders. For a programmer, this should take no longer than an hour to develop, so I’d give it 3 hours to complete this tutorial if you are a beginner.

I have included my assets as well as my own project so you can easily and efficiently follow my steps in each lesson.

By the end of this, you should be ale to use the interface builder of Xcode to build your iOS interfaces. You should also know how to programmatically make numerous outlets and be able to use few different game logic and of course you would learn how to use the touch events and manage user interaction.

Throughout the course, if you had any questions or concerns, please feel free to get in touch with me. If I am online I will get back to you immediately, if I am away, I usually reply in less than 12 hours.

Amir J

Who is the target audience?
  • General Programmer or Coding Enthusiasts
Students Who Viewed This Course Also Viewed
Curriculum For This Course
21 Lectures
3 Lectures 06:11

In this lesson, we will discuss the goals of this project as well as the stages of this development. We will also have an overview of the entire project.

Preview 01:21

In this lesson, I will demonstrate how the app actually functions. This is a very simple introduction as to how this little game is being played and also what you have to know and keep in mind for developing this.

Basic things that are needed to develop this app are:
a) an array to hold all the images
b) a grid system where each image from the array is placed twice and randomly
c) a touch function that detects when you tap on any of the blocks
d) a mechanism that understands whether this is the first time you tapped or the second
e) and a timer system

Preview 02:30

To develop this game, you need some assets, they are mainly the images you will be using for the actual game. I have supplied these images with my resources, but feel free to replace them with images of yourself or friends.

Understanding the Assets
3 Lectures 16:08

In this lesson, we will explore how to use interface builder to build the main background view for our game as well as the buttons to reset the game and the game timer.

Preview 07:08

In this quick lesson, we will connect the different outlets we’ve made to various pieces of actions and properties in our code
Connecting outlets to code

In this lesson, we’ll add the image assets to our project and load them all into an array.

Loading the Images into an Array
Hard Coding
5 Lectures 56:08

In this lesson, we will learn how to make one simple image view and attach it to the game background view. It would require exposing some of the properties and outlets and deciding about the size of the image view.

Preview 04:47

In this lesson we will learn how to calculate the width of the view and the size of our grid.
Calculating width and grid size

In this lesson we learn how to make sure the view is laid out properly.

Working with ViewDidAppear

In this lesson, we will make a very simple code that makes all of the images of the grid. It needs a little maths and a little coding.

Preview 19:24

In this lesson, we will write a randomize action that places the blocks randomly at different locations.

Randomize the Location of Blocks
Extra Events
2 Lectures 16:52

In this lesson, we will write the code to reset the game grid based on a 4x4 or a 6x6 game.

Reset Action

In here, the timer will receive its code so it begins counting the moment the game is reset and started.

Preview 10:07
5 Lectures 41:50

In this lesson, we’ll have a quick review of different touch events and how we could utilize them to understand when one of our blocks is being tapped on.

Understanding Touch Events

In this lesson, we’ll add some animation to the way the blocks appear and disappear.

Preview 09:56

In this lesson, we will do a quick comparison of the image views we have tapped on.

Comparing clicked Image Views

In this lesson, we will learn how to compare and make the similar image views disappear and make the different ones go back to No Image mode.

Preview 10:40

In this lesson, we add a click permission Boolean value to control when user can click on the image views.

Debugging the issue
Final Thoughts
3 Lectures 16:06

In this lesson, we’ll do quick review of everything that we have covered so far. We have gone through so much code and we still have a bit to cover. It certainly helps to get a better understanding of what has been done so far.

Overview of everything

In this lessons, we will explore some of the functions to change the way the animations run. It will include changing some of the codes we have written so far. We will also force the game to do a re-start once the player finishes matching all the blocks.

Beyond the Basics

Well, I hope you enjoyed it.

Preview 01:11
About the Instructor
Amir J.
4.5 Average rating
273 Reviews
10,088 Students
7 Courses
Senior Instructor

I am currently Senior Instructor at Cinard. Before taking up this job and moving to beautiful Vancouver, for over a decade I was senior lecturer of apps / games programming in various colleges and universities. 

I work primarily in native iOS and Android apps and Video games in Unity3D.

Cinard is a Digital Media Art & Technology Institute.