Companies Home Search Profile

Create Games With C# & WinForms (step by step for beginners)

Focused View

Pavol Almasi

9:09:38

33 View
  • 1.1 UdemyDiscountCoupons.pdf
  • 1. Intro To Course.mp4
    06:10
  • 1.1 Images for snake game.zip
  • 1.2 SnakeGame.zip
  • 1. Hungry Snake Game in Action (Introduction).mp4
    00:43
  • 2. Coordinate System.mp4
    02:17
  • 3. Setting Up The Form.mp4
    05:05
  • 4. Setting Up Variables.mp4
    04:42
  • 5. Initializing Variables.mp4
    01:43
  • 6. Painting The Walls.mp4
    08:25
  • 7. Painting The Snake.mp4
    08:28
  • 8. Painting The Bonuses.mp4
    04:49
  • 9. Setting Up Snake Directions.mp4
    03:45
  • 10. Snake Movement - Theory.mp4
    05:15
  • 11. Snake Movement - Removing Last Body Piece.mp4
    04:49
  • 12. Snake Movement - Getting Updated Coordinates For The Snake.mp4
    04:04
  • 13. Snake Movement - Change Direction Of The Head.mp4
    03:23
  • 14. Snake Movement - Check Collision With The Walls.mp4
    02:19
  • 15. Snake Movement - Check Collision With Snakes Body.mp4
    01:48
  • 16. Snake Movement - Check Collision With Bonus Field.mp4
    05:59
  • 17. Snake Movement - Draw Snakes Head In Updated Coordinates.mp4
    02:00
  • 18. Running And Testing.mp4
    02:37
  • 1.1 BubbleBreakerGame-WithoutScores.zip
  • 1.2 BubbleBreakerGame.zip
  • 1. Bubble Breaker Game in Action (Introduction).mp4
    01:31
  • 2. Setting Up the Game Board.mp4
    01:45
  • 3. Setting Up All Variables.mp4
    05:03
  • 4. Initializing Variables And Game Board.mp4
    04:50
  • 5. Populating Game Board With Bubbles.mp4
    03:27
  • 6. Getting Colors For Each Bubble.mp4
    05:13
  • 7. Painting Bubbles.mp4
    10:09
  • 8. 2D Coordinate System vs 2D Arrays.mp4
    05:34
  • 9. Adjusting Bubble Settings.mp4
    02:53
  • 10. Understanding Game Requirements.mp4
    02:42
  • 11. MouseDown Event.mp4
    04:45
  • 12. Main Game Method.mp4
    07:57
  • 13. Removing Bubbles From The Form.mp4
    04:44
  • 14. De-Selecting Bubbles.mp4
    02:16
  • 15. Checking For Game Over Conditions.mp4
    06:45
  • 16. Displaying Label with the Score.mp4
    07:19
  • 17. Path Finding - Selecting Bubbles of the Same Color - Theory.mp4
    07:31
  • 18. Path Finding - Loop Solution - Setting Up Variables.mp4
    04:22
  • 19. Path Finding - Loop Solution - Selecting Bubbles Above.mp4
    04:35
  • 20. Path Finding - Loop Solution - Selecting Bubbles Below.mp4
    02:00
  • 21. Path Finding - Loop Solution - Selecting Left Bubbles.mp4
    01:54
  • 22. Path Finding - Loop Solution - Selecting Right Bubbles.mp4
    01:59
  • 23. Path Finding - Loop Solution - Retracing Previous Steps.mp4
    08:17
  • 24. Path Finding - Recursive Solution.mp4
    10:31
  • 25. Moving Bubbles Down - Theory.mp4
    06:07
  • 26. Moving Bubbles Down - Code.mp4
    10:15
  • 27. Moving Bubbles Down - Replacing Removed Bubbles With Background.mp4
    06:42
  • 28. Moving Bubbles Down - Move Bubbles Right.mp4
    06:29
  • 29. Generate More Bubbles.mp4
    08:01
  • 30. Painting Outline Around Selection - Theory.mp4
    06:23
  • 31. Painting Outline Around Selection - Left Outline.mp4
    06:24
  • 32. Painting Outline Around Selection - Right Outline.mp4
    02:26
  • 33. Painting Outline Around Selection - Top Outline.mp4
    01:47
  • 34. Painting Outline Around Selection - Bottom Outline.mp4
    02:14
  • 35. Running and Testing the Game Algorithm.mp4
    04:03
  • 36. Keeping Scores - Creating Score Class.mp4
    04:45
  • 37. Keeping Scores - Reading Scores From Text File.mp4
    06:06
  • 38. Keeping Scores - Get Top 3 Scores.mp4
    05:05
  • 39. Keeping Scores - Get Players Position Among All Scores.mp4
    03:55
  • 40. Keeping Scores - Final Message To Display After Each Game.mp4
    02:21
  • 41. Keeping Scores - Writing Score Into Text File.mp4
    08:10
  • 42. Keeping Scores - Game Over Messages.mp4
    05:26
  • 43. Keeping Scores - Finalizing The Game Board.mp4
    08:39
  • 44. Keeping Scores - Entering Players Name.mp4
    01:57
  • 45. Final Tests.mp4
    06:34
  • 1.1 PongGame1.zip
  • 1. Pong Game in Action (Introduction).mp4
    01:35
  • 2. Creating the Form.mp4
    03:57
  • 3. Creating Variables.mp4
    02:48
  • 4. Initializing Variables.mp4
    03:18
  • 5. Positioning Elements on the Form.mp4
    09:03
  • 6. KeyPress Events.mp4
    05:24
  • 7. Theory - Moving the Ball.mp4
    07:03
  • 8. Theory - Moving the Paddle.mp4
    03:55
  • 9. Theory - Ball and Paddle Collision.mp4
    02:29
  • 10. Theory - Scoring Points.mp4
    01:44
  • 11. Timer Tick Event - Computer Paddle Movement.mp4
    08:31
  • 12. Timer Tick Event - Scoring Points.mp4
    05:26
  • 13. Timer Tick Event - Bouncing Ball Vertically.mp4
    03:00
  • 14. Timer Tick Event - Bouncing Ball Off the Paddles.mp4
    03:10
  • 15. Timer Tick Event - Moving Player Paddle.mp4
    02:57
  • 16. Timer Tick Event - Game Over.mp4
    01:20
  • 17. Testing and Debugging Our Pong Game.mp4
    02:50
  • 18.1 PongGame2.zip
  • 18. Game Modification - Ball Class.mp4
    09:02
  • 19. Game Modification - Creating Ball Objects.mp4
    04:14
  • 20. Game Modification - Moving Each Ball On the Form.mp4
    06:44
  • 21. Game Modification - Collision With Paddle & Creating New Instance of Ball Object.mp4
    06:34
  • 22. Game Modification - Final Testing and Debugging.mp4
    05:50
  • 1.1 ArkanoidGame.zip
  • 1. Brick Breaker in Action (Introduction).mp4
    01:15
  • 2. Creating The Form Objects.mp4
    04:36
  • 3. Score Class.mp4
    07:27
  • 4. Brick Class - Properties and Constructor.mp4
    07:31
  • 5. Brick Class - Getting All Bricks On The Form.mp4
    04:58
  • 6. Brick Class - Checking For Overlaping Bricks.mp4
    03:57
  • 7. Brick Class - Randomly Positioning Bricks On The Form.mp4
    04:46
  • 8. Brick Class - Generating Colors For Bricks.mp4
    03:16
  • 9. Brick Class - Instantiating Brick Objects.mp4
    03:44
  • 10. Theory - Creating The Paddle.mp4
    04:29
  • 11. Theory - Moving The Paddle.mp4
    03:40
  • 12. Theory - Bouncing The Ball Off the Paddle.mp4
    04:12
  • 13. Theory - Moving The Ball.mp4
    07:03
  • 14. Paddle Class - Creating The Paddle Class.mp4
    03:37
  • 15. Paddle Class - Setting Paddle Properties and Position.mp4
    07:09
  • 16. Paddle Class - Moving The Paddle.mp4
    03:52
  • 17. Paddle Class - Detecting Position Of The Paddle.mp4
    06:36
  • 18. Paddle Class - Instantiating Paddle Object.mp4
    02:12
  • 19. Ball Class - Creating The Ball Class.mp4
    03:42
  • 20. Ball Class - Initializing Variables and Properties.mp4
    06:04
  • 21. Ball Class - Detecting Game Over Condition.mp4
    06:07
  • 22. Ball Class - Hitting The Bricks With The Ball.mp4
    03:58
  • 23. Ball Class - Bouncing Ball Off the Paddle.mp4
    06:54
  • 24. Ball Class - Correcting Logical Bug For Bouncing The Ball.mp4
    03:49
  • 25. Ball Class - Bouncing The Ball Off The Form Edges.mp4
    05:35
  • 26. Ball Class - Moving The Ball On The Form.mp4
    05:08
  • 27. Tick Event.mp4
    06:26
  • 28. Testing and Debugging Our Brick Breaker Game.mp4
    05:02
  • 1. Where to go from here.mp4
    01:27
  • 2. Bonus Lecture.html
  • Description


    Project-based Learning: Create simple games using C# with WinForms (Windows Forms) without frameworks or libraries

    What You'll Learn?


    • You will gain a good grasp of 2D coordinate system
    • You will be able to manipulate and work with 2D arrays
    • You will understand how 2D arrays relate to 2D world
    • You will be able to create a basic path finding algorithm using loops and recursion
    • You wil understand how to draw objects
    • You will be able to create a game loop based on Timer tick
    • You will be able to simulate a simple animation
    • Tou will be ready to tacke more complex games

    Who is this for?


  • C# enthusiasts who want to make the jump into game programming
  • Self Taught programmers or students
  • Students who like hands on approach to learning
  • Students who like detailed explanation of every line of code
  • What You Need to Know?


  • Visual Studio
  • Basic familiarity with Windows Forms
  • Basic C# Skills (loops, conditional statements, Enums, basics of OOP etc.)
  • Basic understanding of 2d coordinate system
  • Patience to take the time to learn the simple game programming before trying to create the next Call Of Duty
  • This is NOT a Unity course
  • More details


    Description

    Do you know basic C# concepts, and know your way around loops, conditional statements, arrays, and very basics of object oriented programming, but never really had a chance to incorporate any of it into a game project?. If that describes you, then this is a course for you.

    Full disclosure: we won't be creating any earth shattering games. What we ARE going to be doing is LEARNING how to use with C# in game projects, and how to THINK like a game programmer. All games will use Winforms (Windows Forms) as the game board.

    The goal of this course is three fold

    • First, is to show you how things work

    • Second, help you understand how things work under the hood.

    • And third, to drill the basics so that they become a second nature to you.

    This course concentrates solely on creating game logic and algorithms in C#.

    We will use Windows Forms as the game board and we'll use events to code the application logic to. This way, we won't get distracted with million other little things that come into play when you try to learn the game programming and a framework such as Unity at the same time. Like I said, the goal here is to LEARN the basics, and to RETAIN the knowledge. What good is it for a beginner to game programming to watch someone build a complex game when three quarter of the stuff presented goes right over your head? Not in this course. 

    If you go through this course, and if you code along, I am absolutely sure that at the end, you will have great foundation to build on, and you will be able to move to more sofisticated applications and coding styles.

    The course consists of four games, and more will be added later if there's enough interest. 

    The first is a Hungry Snake game.

    It's a great game to use to learn basics of drawing on the board, dynamic animated movement, collision, score keeping, dynamic changes to the game, key press events and more. You'll be surprised how little code is needed, yet at the same time, how much of all the mentioned concepts you will understand at the end of this section.

    Second is a Bubble Breaker game.

    We'll get into details of defining a path for a selection triggered by a player's mouse click. I will show you both loop and recursive solution. We'll learn how to draw bubbles and paint them using gradient colors. You'll understand how 2D arrays relate to 2D x and y coordinates. We'll go into details of Graphics class of C#. We will make the game dynamic and allow for variety of bubble sizes and number of bubbles on the form. We will learn more about mouse events and how to branch the game logic based on user clicks. We will enhance the game with keeping the historical scores in a text file and allowing player to enter his/her score into the file. And in the process, you will not only learn game programming, but become a master of arrays, loops, and Enums. 

    Third is Pong game. (added June 2018)

    A simple game that everyone is familiar with. But, we will go deeper, and I will show - and explain - how to move objects on the form, how to change direction of the movement upon detecting a collision, how to manipulate the speed of an object, how to generate new objects and keep track of their position in real time and much more!

    Third is Brick Breaker (Arkanoid clone) game. (added August 2018)

    A classic game with a little twist. Our version of the game features randomly placed bricks of random colors and sizes. We will also bounce the ball off the paddle based on what part of the paddle intersects with the ball - left part will bounce the ball to the left, right part to the right, and middle part straight up. Our scoring system will be based on brick colors and as the game progresses, the speed of the ball and paddle increases. And everything will be coded using OOP principles.

    This whole course is designed as follow along course. Meaning, you are encouraged to code along with me. Everything is on the video, there are no code snippets being magically pasted into the Visual Studio. Also, I don't want you to just learn the concepts and then forget them a week later. I want you to remember and retain what you learn in this course. 

    And let's face it - that is possible only when you code along. 

    And one more thing that makes or breaks learning to program - using what you learn, and using it frequently. Therefore, I code even the repetitive things from scratch and I don't simply just refer you to previous lessons. But that means, that some parts may feel slow and repetitive. However, if you actually code along, I guarantee you will learn, and also REMEMBER what you learned. 

    But, If you prefer more instructional videos, that show everything once and move faster, then this course is NOT for you. Please keep that in mind before purchasing the course. I encourage you to watch some of the sample videos so you get a feel for the course structure, topic difficulty, and my teaching style.

    Now, I made the videos short and to the point. Most videos are only around 5 minutes long. That is deliberate, so each video is a small learning step that is easy to follow.

    Alright, there's a lot of coding to be done. So let's code some games!

    Who this course is for:

    • C# enthusiasts who want to make the jump into game programming
    • Self Taught programmers or students
    • Students who like hands on approach to learning
    • Students who like detailed explanation of every line of code

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Pavol Almasi
    Pavol Almasi
    Instructor's Courses
    I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net.I have a Bachelor's Degree from City University of Seattle.I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since.I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming,
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 115
    • duration 9:09:38
    • English subtitles has
    • Release Date 2023/09/10