
Hi Haskellers, Here is my first real program in Haskell. http://hpaste.org:80/fastcgi/hpaste.fcgi/view?id=8211 In fact, I'm not fully responsible because it's just an adapted version of a Tetris Creighton Hogg had written for Reactive/GLUT. As the first version, it's a very simple game (no levels, no points ...) but it's playable ! The major problem is when the board is full, the program sadly stops for an empty list : indeed, I wasn't interested in that part and I prefered dealing with the signals. As the frame is the same as the breakout frame, it is also possible to launch the game with ./Tetris --dump-dot | dot -Tsvg -o tetris.svg in order to get an svg showing a graph of the signals. Any help is welcome to understand this graph ! Every comment is welcome (especially about the first 170 lines). Enjoy!

As I've been warned, two dependencies (Common.Utils and Common.Vector) are to be resolved in order to use this Tetris code. They're part of the elerea-examples package (from hackage) but their access is not public so a solution is to modify the cabal file during installation. Another solution is to create a Common directory in the current directory, then decompress the source located in http://hackage.haskell.org/package/elerea-examples and copy the two files Vector.lhs and Utils.lhs in Common.
Hi Haskellers, Here is my first real program in Haskell.
http://hpaste.org:80/fastcgi/hpaste.fcgi/view?id=8211
In fact, I'm not fully responsible because it's just an adapted version of a Tetris Creighton Hogg had written for Reactive/GLUT. As the first version, it's a very simple game (no levels, no points ...) but it's playable !
The major problem is when the board is full, the program sadly stops for an empty list : indeed, I wasn't interested in that part and I prefered dealing with the signals.
As the frame is the same as the breakout frame, it is also possible to launch the game with
./Tetris --dump-dot | dot -Tsvg -o tetris.svg
in order to get an svg showing a graph of the signals. Any help is welcome to understand this graph !
Every comment is welcome (especially about the first 170 lines). Enjoy!

As a side-note, it might be interesting to use the Vec package on Hackage,
since it seems to offer fast, unboxed linear algebra.
On Mon, Aug 17, 2009 at 2:01 PM, jean legrand
As I've been warned, two dependencies (Common.Utils and Common.Vector) are to be resolved in order to use this Tetris code. They're part of the elerea-examples package (from hackage) but their access is not public so a solution is to modify the cabal file during installation.
Another solution is to create a Common directory in the current directory, then decompress the source located in
http://hackage.haskell.org/package/elerea-examples
and copy the two files Vector.lhs and Utils.lhs in Common.
Hi Haskellers, Here is my first real program in Haskell.
http://hpaste.org:80/fastcgi/hpaste.fcgi/view?id=8211
In fact, I'm not fully responsible because it's just an adapted version of a Tetris Creighton Hogg had written for Reactive/GLUT. As the first version, it's a very simple game (no levels, no points ...) but it's playable !
The major problem is when the board is full, the program sadly stops for an empty list : indeed, I wasn't interested in that part and I prefered dealing with the signals.
As the frame is the same as the breakout frame, it is also possible to launch the game with
./Tetris --dump-dot | dot -Tsvg -o tetris.svg
in order to get an svg showing a graph of the signals. Any help is welcome to understand this graph !
Every comment is welcome (especially about the first 170 lines). Enjoy!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

As I've been warned, two dependencies (Common.Utils and Common.Vector) are to be resolved in order to use this Tetris code. They're part of the elerea-examples package (from hackage) but their access is not public so a solution is to modify the cabal file during installation.
Another solution is to create a Common directory in the current directory, then decompress the source located in
http://hackage.haskell.org/package/elerea-examples
and copy the two files Vector.lhs and Utils.lhs in Common.
but the simplest soltution is to get rid of these dependancies as long as they are of very little importance actually : http://hpaste.org:80/fastcgi/hpaste.fcgi/view?id=8261 I added (line 291 to 309) the code needed to play Pentis but at this time the random generator bugs with 18 elements and only p12 is selected. Those who want to try can easily comment l.274 and decomment l.275 (then removing p17,p18 from the list because of the bug) and replace straight by p1 on l.80 Harder !
participants (2)
-
jean legrand
-
Peter Verswyvelen