Chapter 15. GUI Example: Tetris

- Is this a game of chance?

- Not the way I play it, no.

W.C. Fields

Writing a game is the best ways to test your understanding of GUI programming, because it covers three important user interface areas: forms, structured graphics, and animation. In this chapter, we build the popular game of Tetris and reward ourselves with hours of unproductive fun afterward. These are the specific bits of Tk knowledge that we will exercise in this chapter:

  • Using canvas tags to efficiently move or delete groups of canvas items.

  • Using the timer to control pieces of animation: moving the blocks and shooting them. (Yes, we will add a cheesy arcade style shooting of the blocks too!)

  • Using pack effectively for form layout. This chapter just has two buttons and a canvas widget, so this is a very minor exercise.

It is estimated (or commonly quoted, at least) that most applications with a user interface devote around 70% of their code in GUI-specific details. In this chapter, you’ll see how Tk reduces the burden to, say, a 30% effort, even in an application as GUI-intensive as a game.

Introduction to Tetris

Tetris hit the PC world in 1985 when its creators, Alexey Paszhitnov, Dmitry Pavlovsky, and Vadim Gerasimov, ported the game to the IBM PC. Shortly thereafter, Nintendo converted it into a huge success by implementing it on their Gameboy line of hand-held computer games. The continued availability of the line at a time when Nintendo is marketing 64-bit systems is a testimony ...

Get Advanced Perl Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.