Book Image

Flutter Projects

By : Simone Alessandria
Book Image

Flutter Projects

By: Simone Alessandria

Overview of this book

Flutter is a modern reactive mobile framework that removes a lot of the complexity found in building native mobile apps for iOS and Android. With Flutter, developers can now build fast and native mobile apps from a single codebase. This book is packed with 11 projects that will help you build your own mobile applications using Flutter. It begins with an introduction to Dart programming and explains how it can be used with the Flutter SDK to customize mobile apps. Each chapter contains instructions on how to build an independent app from scratch, and each project focuses on important Flutter features.From building Flutter Widgets and applying animations to using databases (SQLite and sembast) and Firebase, you'll build on your knowledge through the chapters. As you progress, you’ll learn how to connect to remote services, integrate maps, and even use Flare to create apps and games in Flutter. Gradually, you’ll be able to create apps and games that are ready to be published on the Google Play Store and the App Store. In the concluding chapters, you’ll learn how to use the BLoC pattern and various best practices related to creating enterprise apps with Flutter. By the end of this book, you will have the skills you need to write and deliver fully functional mobile apps using Flutter.
Table of Contents (15 chapters)
12
Assessment

Adding the game logic

The ball should never stop, and it should bounce at the edges of the available space. What we see as bouncing is actually a change in direction. So when the ball meets the right-hand edge, it should move left, and vice versa. The same is true for the vertical direction when it moves up. The ball should change direction and move down when it meets the top border. Also, the animation value wouldn't be useful, so we need to separate the ball position from the animation value, and use the animation only as a way to redraw the ball in the correct position. Let's look at the steps to apply this logic:

  1. In the pong.dart file, first, let's create an enum for the directions, under the import declarations, as shown here:
enum Direction { up, down, left, right }

In case you've never seen it before, the enum keyword creates an Enumerated type. This...