Book Image

Expert Delphi - Second Edition

By : Marco Cantù, Paweł Głowacki
Book Image

Expert Delphi - Second Edition

By: Marco Cantù, Paweł Głowacki

Overview of this book

Master Delphi, the most powerful Object Pascal IDE and versatile component library for cross-platform native app development, by harnessing its capabilities for building natively compiled, blazingly fast apps for all major platforms, including Android, iOS, Windows, Mac, and Linux. Expert Delphi begins with a quick overview of Delphi, helping you get acquainted with the IDE and the Object Pascal language. The book then quickly progresses to more advanced concepts, followed by the architecture of applications and the FireMonkey library, guiding you through building server-side services, parallel programming, and database access. Toward the end, you’ll learn how to integrate your app with various web services and deploy them effectively. By the end of this book, you’ll be adept at building powerful, cross-platform, native apps for iOS, Android, Windows, and macOS—all from a single code base.
Table of Contents (21 chapters)
Free Chapter
1
Part 1: Building Blocks
6
Part 2: Going Mobile
12
Part 3: From Data to Services
19
Index

Game of Memory

Let’s put together what we have learned about the FireMonkey architecture so far and build a complete but simple game. In the process, we will look at how to handle images with the TImageList component and some basics of building FireMonkey 2D user interfaces.

Designing the game

Game of Memory is a board game. A player is presented with a grid of tiles. Every tile has an image on it, but all images are initially hidden. When a user touches a tile, its image is revealed. When the next tile is touched, the image of the currently visible tile is made hidden again, and the image of the new tile is shown. This means that at any one moment during the game, only one image is shown. The number of tiles has to be even because every image is used twice. The objective of the game is to remove all the tiles in the shortest possible time by touching tiles with the same image one after another. If a user touches another tile with the same image as the currently visible...