7 free videos, 14 paid videos.
Quadblock is loosely based on Tetris, one of the most iconic video games of all time. In this video tutorial with seven free videos and fourteen paid videos you’ll learn to build it. Along the way, we’ll learn a little Elixir, some Phoenix, and also LiveView.
Start project, and create a new random brick.
In part 2, we establish reducers to move and spin basic brick.
In part 3, we create the model for the geomitry of each tetromino using a flat functional data structure.
In part 4, we create another set of reducers to work on the points of a teromino to manipulate geometry.
In part 5, we build a test helper to make it easier to test our tetromino.
In part 6, we translate the brick to a string in preparation for using the inspect protocol.
In part 7, we make a brick work in IEx by making inspect render a two dimensional shape.
We set up LiveView and learn what a LiveView is.
We set up a LiveView route and work with a trivial LiveView view, paying attention to the lifecycle.
Dependencies. We talk about the strategies for managing dependencies. We set up a Pancho project, and plug in the Tetris work we've done so far.
We begin to show graphics using SVG. We show a background and a single box.
We get ready to render a tetromino by creating a function to prepare us to render, and a reducer called show that adds points to a socket.
For the first time, we tie into handle_event "keydown". We render a block and tie it to the arrow key. so a user can move our pieces right and left.
We work on our api and boundaries layer, working in the idea of collisions with the boundaries and other blocks.
In our API layer, we build an API that handles uncertainty, a function that could potentially take the user out of bounds. We begin to layer on tests.
We integrate our new API to our keydown functions and begin to handle the game mechanics on the bottom of the board.
Start working with the game mechanics of the bottom, so we can see bricks that hit the bottom merge with the bricks that are already there.
We write the backend code to erase blank rows.
We score the bricks that merge and write tests for the new game mechanics.
We test and debug the new bottom to get it ready for the LiveView.
Integrate the new bottom code to work with the API and LiveView.
Bring on the gravity! We integrate a timer tick to simulate gravity and wrap up the session.
These resources will get you on the path to learning with background information, tooling and exercises.
You decide how deep to go. These resources are exercises and projects to cement your learning.
These resources will help you put your new knowledge into context so you'll be better at your everyday job.