Game play logic - Implement Chess with Ruby for beginners

In this series of videos, you'll learn how to implement a simple terminal based Chess game with Ruby. In this episode, we start implementing the Game class and the logic for the play loop. We create a Player class to read the start and end positions from a human user as comma separated values. We'll create a new Error type for raising a custom exception.

We talk about:

* Dependency injection
* Passing a class as an argument
* Custom error classes (InvalidMoveError)