Differences with Zhao's v3.1.2 and Bagley's Alternate Version v1.2.0 The author of v3.1.2 is Q. Zhao. The (Alt) version is a corruption of that and its by David Bagley. The game has new features: The original tetris piece is a 4 square polyomino. In the altered version one can change the number of squares in each polyomino from 2-6. 7 or more squares in a polyomino leads to a hole that is impossible to fill on one shot, so it is a good place to stop (and 1 is too trivial). +++ + + ++ There is a diagonal mode as well. Here we have diagonal and regular pieces. One can change the number of squares in each polyomino from 2-3. If one has 4 this again leads to a hole. + + + + A mixed mode allows polyominoes of less size than a maximum determined by the chosen number of squares. A bonus mode puts a greater size polyomino on any automatic level change. The command line options: -n : allowed range 2-6 -diagonal: option to allow diagonal polyominoes (-n must be 2-3) -mixed: option to allow mixed polyominoes (-n must be 3-6 for regular and 3 for diagonal) -bonus: option to bonuses (-n must be 2-5 for regular and 2 for diagonal) -ccw: choice on rotation (not -rightRotation) -fixedFill: the other method could possibly fill up a whole row; in this mode 4 squares per row will be filled -suddenAppear: pieces will appear all at once, instead of gradually, also one is prohibited from rotating a piece above window (more points are awarded in this mode) To make these games interesting and "do-able" the ability to rotate gets turned off if it is easier than the normal 4 square tetris piece (or 4 square polyomino). An added ability "reflect" (right-left -> left-right) allows one to attempt the 5 square and 6 square tetris pieces. An input file of all the pieces gets read, with all the various mappings. This is further explained in the comment section of that file, "polyomino.dat". The reflection keys are 'i', 'e', and '8' on the keypad. '>' and '<' increase and decrease the number of squares in a polyomino. 'g' toggles the diagonal mode, 'm' toggles the mixed mode, and 'o' toggles the bonus. There are a few other small changes: o the Up arrow defaults to rotation. This might not be good with some keyboards and one may want to use it for reflection. Check the Imakefile or the Makefile.std to change. o the Down arrow defaults to drop. This might not be good with some keyboards and one may want to use it to rotation. Check the Imakefile or the Makefile.std to change. o polyominoes are read from "polyomino.dat". In that file I try to explain the format. o added ^C to escape; my own conditioning. o have my own icon in ticon.xbm, just for fun. The old one is in "ticonold.xbm". o some keyboards have a keypad and do not have 'R' keys, referencing the keypad does not map to the 'R' keys, so one should have both. One further change you might consider is to remove '-' and '_' (and maybe '<' and ',' also). It can lead to cheating. I have tried to keep everything from the version 3.1.2, but I did not keep the bonus mechanism from that. Since this program has more features, the array structure that allows this is more complicated, and thus is hard to read. If you don't care about these features, than just look at Q. Zhao's original "tetris.3.1.2.tar.Z" found under ftp.x.org under /contrib/games. The input file "polyomino.dat" can be reused for my "alwelltris" game. I originally wrote "xvtetris" and "xvwelltris" in XView, which Sun is dropping. Also, I have a "altertris" (triangular) and a "alhextris". In both of these the pieces come down diagonally and bounce of the walls and other pieces. They also have associated files called "polyimond.dat" and "polyhex.dat". I would like to write a 3d version of tetris using PEX some day, the "polycube.dat" file associated with that could fill volumes for all of the possibilities. Among my other releases are xabacus in /contrib/applications and a directory of puzzles in /contrib/games/puzzles (xcubes, xtriangles, xhexagons, xpyraminx, xoct, xrubik, and xskewb). I want to EMPHASIZE that Q. Alex Zhao was not consulted for this release so any screw-ups are my fault. I tested this on m68030 w/ HPUX 8.0 and a sparc-2 w/ SUNOS 4.1.3 and a PC w/ Linux 1.0 and I will admit I didn't test the bonus option as well as I should have. Any problems, updates, or questions get back to me at this address: bagleyd@perry.njit.edu David Bagley