Xamarin iOS Sliding Puzzle C#
4.5 (17 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,427 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Xamarin iOS Sliding Puzzle C# to your Wishlist.

Add to Wishlist

Xamarin iOS Sliding Puzzle C#

Native iOS Puzzle with C# and Xamarin
4.5 (17 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,427 students enrolled
Created by Amir J.
Last updated 3/2017
English
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
Includes:
  • 1.5 hours on-demand video
  • 13 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Develop a variety of interfaces and outlets dynamically
  • Develop basic video game apps in Xamarin for iOS
  • Basic programming understanding with C#
View Curriculum
Requirements
  • Basic understanding of programming in C# or any other language
  • Understanding of mobile interfaces
Description

In this course we will cover the development of an iOS sliding puzzle game using Xamarin and C#.

This course is best suited for beginner programmers or mobile developers planning to move on to Xamarin and cross platform development. 

Throughout the course, we will cover a wide range of topics such as interface design in Xamarin, dynamic outlet creation, game logic and user interactions. I have included all of the assets that we use in this series and also I make my own project available to you at the end of each lesson. 

This course is meant to act as an introductory Xamarin C# learning experience. By the end of the course, you should be able to develop a variety of interfaces and games logic and you should have gained an intermediate understanding of various methods for handling touch events. This should take you no longer tan 4 hours in total and I guess you should be able to finish it in one afternoon. 

I should mention that while this course is a beginner level, it does NOT cover matters such as basic programming concepts. It assumes you have some familiarity with the basics of a programming language. If you wish to start with this course and don't have any programming background, you should prepare yourself to spend a little longer to understand and follow through the lessons.

I wish you the best throughout your development and if you had any issues, please drop me a line.

Amir J

Who is the target audience?
  • General Programmer or Coding Enthusiasts
  • C# programmers
  • Native mobile developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
17 Lectures
01:40:32
+
Introduction
1 Lecture 02:26

In this lesson, we will do a quick review of the what the app entails, the interface to develop and compile the app as well as the programming language used. By the end of this lesson, you should have an overall understanding of the following components:

a) the assets that are used in this project
b) a grid making system where the pieces of the text labels are placed on different seizes of grids
c) a randomization system where the blocks of the text labels are randomized on the background.
d) an empty block finder strategy where the adjacent blocks can move to.
e) a touch detection system
f) a timer system and a reset button

Preview 02:26
+
Interface
3 Lectures 17:08

In this first coding lesson, we will cover how to build a new UIView, a Button and a Label for our time.

Making the Game Interface Elements
03:51

In this lesson, we will discuss how to understand the size of our screen and how to adjust the X, Y, width and height of our different outlets.

Understanding the View Dimensions
07:48

In this lesson, we will apply the appropriate constraints to our outlets to make sure they simulate similarly on all different devices.

Making the constraints
05:29
+
Grid of Tiles
5 Lectures 39:39

In this lesson, we will do a quick overview of how our tiles are actually located in our UIView.

Preview 02:33

In this lesson, we will write the code for developing the UILabels that will work as the tiles of our game and place them on the game view.

Preview 22:06

In this lesson, we will write the arrays to appropriately store the tiles and their location in the view.

Storing Tiles Data
03:22

In this lesson, we will remove one title from our view to make sure the game is  actually playable. This will make sure that there is at least one empty spot at the beginning of the game.

Removing One Tile
04:16

In this lesson, we will randomize the grid of the tiles.

Randomizing the Grid
07:22
+
Prepare to Play
3 Lectures 18:44

In this lesson, we make a new CGPoint that will hold on to the empty spot.

Introducing the Empty Spot
02:02

In this lesson, we will work on our rest method. It will restart the game with new randomized state.

Reset Method
03:46

In this lesson, we will add our timer function to our reset method.

Timer Counter Method
12:56
+
Interactions
3 Lectures 18:12

In this lesson, we will write the TouchesEnded function that will detect the landed touches. In here we will learn how to find out what outlet the touch has landed on.

Touch Detection
07:50

We will then analyze the view where the touch has landed on and decide whether the tile can move or not.

Touch View Center and Empty
06:54

In this lesson, we will write the code to animate the tile that the touch has landed on.

Animating the Touched Tile
03:28
+
Final thoughts
2 Lectures 04:23

In this lesson, we will go over all of the code once again and review the different functions.

Preview 03:29

About the Instructor
Amir J.
4.5 Average rating
273 Reviews
10,084 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.