Hi all,

here is a first alpha version of my upcoming tetris example for parrot. It is 
a good demonstration that parrot is already very powerful.
It uses a semi-object orientated style, I will modify it to use parrot objects 
as soon as they are working.

Just unpack the attached tgz file into you parrot root, it contains the 
following files:

tetris.pbc - hopefully an "instant tetris" ;-)
examples/sdl/tetris.imc
examples/sdl/tetris/app.imc
examples/sdl/tetris/block.imc
examples/sdl/tetris/blockdata.imc
examples/sdl/tetris/board.imc
examples/sdl/tetris/boarddata.imc
examples/sdl/tetris/debug.imc
examples/sdl/tetris/keyboard.imc
examples/sdl/tetris/misc.imc

You need the latest CVS version of parrot, as well as the outstanding patches 
for:
library/sdl_types.imc and
library/sdl.imc

Assembling the sources to a single tetris.pasm seems to not work,
"parrot tetris.pasm" then quits with
error:imcc:Label '@pcc_sub_call_86' already defined
in file 'tetris.pasm' line 1330
Am I doing something wrong, or is it a bug? 

back to tetris:
It is playable, you can use you left/right keys to move the block, up/down 
rotates it. Pressing space will let the block fall down fast (not yet 
animated). Q and escape quits the game, N starts a new game.

some other remarks:
- the "1" - "7" keys select a specific block (debug aid), 
- rotating a block near the left and right border is still a bit buggy
- I started to implement a draw optimisation, but its disabled at the moment;
everything is redrawn every frame which consumes more CPU time than necessary.
- there is no "end of game" detection yet


Comments welcome :-)

Have fun,
jens

Attachment: tetris.tgz
Description: application/tgz

Reply via email to