From Codex Gamicus
Jump to: navigation, search
Tetravex running on Ubuntu
Basic Information
Video Game
Scott Ferguson
Microsoft Corporation
Microsoft Windows and GNU/Linux
CanadaUnited StatesMexico North American Release Date(s)
Microsoft Windows
Awards | Changelog | Cheats | Codes | Codex
Compatibility | Covers | Credits | DLC | Help
Localization | Manifest | Modding | Patches
Ratings | Reviews | Screenshots | Soundtrack
Videos | Walkthrough

TetraVex is a puzzle computer game, available for Windows and Linux systems.

Gameplay[edit | edit source]

TetraVex is an edge-matching puzzle. The player is presented with a grid (by default, 3x3) and nine square tiles, each with a number on each edge. The objective of the game is to place the tiles in the grid in the proper position as fast as possible. Two tiles can only be placed next to each other if the numbers on adjacent faces match.

Availability[edit | edit source]

TetraVex was originally available for Windows in Windows Entertainment Pack 3. It was later re-released as part of the Best of Windows Entertainment Pack. It is also available as an open source game on the GNOME desktop.

Origins[edit | edit source]

The original version of TetraVex (for the Windows Entertainment Pack 3) was written (and named) by Scott Ferguson who was also the Development Lead and an architect of the first version of Visual Basic[1]. TetraVex was inspired by "the problem of tiling the plane" as described by Donald Knuth on page 382 of Volume 1: Fundamental Algorithms, the first book in his The Art of Computer Programming series.

In the TetraVex version for Windows, the Microsoft Blibbet logo is displayed if the player solves a 6 by 6 puzzle.[citation needed]

The tiles are also known as McMahon Squares, named for Percy McMahon who explored their possibilities in the 1920s.[2]

Counting the possible number of TetraVex[edit | edit source]

Since the game is simple in its definition, it is easy to count how many possible TetraVex are for each grid of size <math>n\times n</math>. For instance, if <math>n=1</math>, there are <math>10^4</math> possible squares with a number from zero to nine on each edge. Therefore for <math>n=1</math> there are <math>10^4</math> possible TetraVex puzzles.

Proposition: There are <math>10^{2n(n+1)}</math> possible TetraVex in a grid of size <math>n\times n</math>.

Proof sketch: For <math>n=1</math> this is true. We can proceed with mathematical induction.

Take a grid of <math>(n+1)\times (n+1)</math>. The first <math>n</math> rows and the first <math>n</math> columns form a grid of <math>n\times n</math> and by the hypothesis of induction, there are <math>10^{2n(n+1)}</math> possible TetraVex on that subgrid. Now, for each possible TetraVex on the subgrid, we can choose <math>10^3</math> squares to be placed in the position <math>(1,n+1)</math> of the grid (first row, last column), because only one side is determined. Once this square is chosen, there are <math>10^2</math> squares available to be placed in the position <math>(2,n+1)</math>, and fixing that square we have <math>10^2</math> possibilities for the square on position <math>(3,n+1)</math>. We can go on until the square on position <math>(n,n+1)</math> is fixed.

The same is true for the last row: there are <math>10^3</math> possibilities for the square on the first column and last row, and <math>10^2</math> for all the other.

This gives us <math>10^{2n(n+1)}\times 10^{2(3 + 2(n-1))+2} = 10^{2n(n+1)} \times 10^{4(n+1)} = 10^{2(n+1)}(10^{n}\times 10^2) = 10^{2(n+1)(n+2)}</math>. Then the proposition is proven by induction. <math>\square</math>

It is easy to see that if the edges of the squares are allowed to take <math>m</math> possible numbers, then there are <math>m^{2n(n+1)}</math> possible TetraVex puzzles.

See also[edit | edit source]

References[edit | edit source]

  1. The Birth of Visual Basic. Forestmoon.com. Retrieved on 2010-05-11
  2. MacMahon squares. Daviddarling.info (2007-02-01). Retrieved on 2010-07-30