My first Java Project: J-Tris

What is J-Tris ?
    J-Tris is another Tetris, which is certainely the most famous video game in the world.
What I tried to do here is just to make my own game so it is as similar as possible (MY possible !)
 to the real Tetris.
You'll find a complete description of my program below, with screen-shots and sources.
 

What should I do to play with it ?
    That's very simple : all you've got to do is to download all the files linked below. You also need
to install the JDK-1.2 on your computer (if you've not already done it).
In order to work properly, the files should be all installed in the same directory. The pictures (*.jpg)
should be installed in a subdirectory called "images", and the files "*.def" should be installed in another
subdirectory called "defs".
 

How do I launch the game ?
    To launch this game (I mean, this SUPERB game ;) ), type "java Go".
 Be sure to place the path of java.exe in your PATH environment variable first!
 

Tell me more !!
    Here is a complete description of my program, but first, what it looks like :

As you can see, it's "quite" beautiful....and also "quite" the same as the original game.
So what's new in this new-custom-version? Well nothing important, except the fact that it has
been developped in Java, which means that this is the first tetris that requires a pentium and a lot
of memory to work properly.
But if Tetris doesn't mean anything for you, I'll explain now how to play with it:
When you lanch the game, you have to wait for the main window to come on the screen.
When everything is drawed, you can press the P key to begin playing.
Note : it's possible that the game yields an error named "Null pointer exception". Don't worry, just
kill the window and re-launch the game, there will not be any other problem in the future.

The aim of that game is to make complete lines with the tiles that come from the top of the window.
These tiles can't stop going down, so you'll have to hurry choosing their position. To do that, you can:
    -make a tile go left or right, using the left/right arrows on your keyboard
    -make a tile rotate, using the up-arrow on your keyboard
    -make a tile go directly to the bottom of the game area without waiting, using the down-arrow.
When a line is complete, it disappears and the rest of the "puzzle" above that line comes down.
So you've got to complete as much lines as possible,without accumulating too much tiles, because if
the new tile doesn't have enough room to appear, the game is over !
You see, that's very simple. Too much simple in fact, that's why everey time you complete 20 lignes, the
game speed increase. You guess? the more lines you complete, the faster the game is.

Damned! Game Over !!
    When the game is over, if you completed a great number of lines, the game will ask for your name,
and then show you the high score, as showed below:

then

Even if you can't see them (due to the color-config of my window-manager...sorry), this window has
two buttons. The first one is used to quit the game: it will save the high scores and kill all of the game's
windows. The  other one is used to continue playing: it simply kills the score-window and let you play.

Okay I've understood.Now what are the special features of this game?
    As I've already said, this program is not very original. The only difference consists in the graphical
presentation. Every time you launch the game, or every time you complete a level, a new background
image is choosed randomly:

That's All.

Right! And what about the BUGS ??
    Arrgh! ;)
    Let's say that this game has one or two important bugs:
        -java
        -swing library for java
 Hmm....more seriously, there are two bugs in this program: the first one is that "NullPointerException" that
can be yield when you lanch the game. The problem is that the program tries to manipulate a field of an
object that has not been created yet. But when you re-launch the game, the program is faster in creating the
game-window and the exception is no more thrown.
The second bug is in the preview zone of the window. You'll notice that the first time you play, the "next" tile
doesn't appear in the right-top of the window. This bug occurs ONLY THE FIRST TIME the tile is
previsualized. I can't know why, but if you go on playing, the second time the "next" tile must be previsualized,
it does appear correctly.
That sould be all(I hope !!!). I worked so hard on this project, and moreover I worked alone, so please be cool ;)

THE FILES !!!
    All the files you need are  HERE !!!
You MUST download all the .class files and also the two dirs ("images" and "defs") to have the program working.
Have fun...