[plt-scheme] Re: tetris

From: Benjamin L. Russell (dekudekuplex at yahoo.com)
Date: Wed Feb 27 22:37:19 EST 2008

The game is indeed addictive.

While I was playing, though, I noticed that the lack
of a mapping of the space bar to drop the falling tile
was slightly inconvenient, and the lack of a
scoreboard caused to game to lack some motivation for
continued play.  Further, the starting speed seemed to
fast, and I was constantly using the mouse to hold the
game window to force the game to pause while I thought
about where to place the next tile.

Therefore, may I suggest the following modifications:

1) Map the space bar to a function to drop the falling
tile.

2) Add a scoreboard with a stage number.

3) Add a feature to allow the user to specify both the
starting speed, and the speed increments each time a
row is completed (0 for no increment).

4) Add a feature to let the user map keys to in-game
functions.  For example, I like to use the numeric
keypad to move the tiles, and the space bar to drop
the tiles.  Allow the user to specify such key
mappings.

Additionally, here are a few suggestions for more
sophisticated modifications for the near future:

5) Add changing illustrated backgrounds (preferably
Russian, since the original Tetris originated in
Russia) for each stage.

6) Add background music and sound effects such that:

  a) The background music matches the illustrated
background.

  b) The background music changes to a different tune
matching the new illustrated background every time the
illustrated background changes.

  c) There are different suitable sound effects for
moves, rotations, drops, and completed rows.

  d) There are separate volume controls for both the
background music and the sound effects.

  e) Additional background music tunes can be uploaded
by the user.

  f) (Optional and extra credit ;-) )
      The uploaded music tunes can be associated with
specific illustrated backgrounds/stages by the user.

7. (Optional and super extra credit ;-) )
   Add a Hextris (a hexagonal version of Tetris,
popular on Sun Sparc workstations in the early 1990's)
version of Tetris, incorporating all of the above.

Benjamin L. Russell

--- Matthias Felleisen <matthias at ccs.neu.edu> wrote:

> 
> An interesting question would be to incorporate this
> game as a teaser  
> into 211 next time around. -- Matthias
> 
> 
> 
> On Feb 27, 2008, at 10:53 AM, David Van Horn wrote:
> 
> > Jon Rafkind wrote:
> >> I thought the recently uploaded tetris game to
> planet was fun so I
> >> converted it to use the Allegro package instead
> of htdp. Theres not
> >> really much of a point and its not like it runs
> better or  
> >> anything, but
> >> it was good to compare htdp's functional style
> with Allegro's mostly
> >> imperative style. It probably won't work too well
> in osx.
> >> Tetris on planet:
> >> http://planet.plt-scheme.org/display.ss? 
> >> package=tetris.plt;owner=dvanhorn
> >> Code attached if you want to try it.
> >
> > Hi Jon,
> >
> > Thanks for the code and interest in the Tetris
> package.  I'd be  
> > happy to include an Allegro version of the game in
> the package (I  
> > also have a 3D OpenGL version that will make it in
> eventually), but  
> > with the code you sent, I noticed a couple things:
> >
> >   - when the game ends, DrScheme hangs, requiring
> me to manually kill
> >     DrScheme after each play.
> >
> >   - once I move left, I always move left,
> regardless of keyboard  
> > input.
> >
> > I'm using OS X -- maybe this is relevant?
> >
> > David
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> > 
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> 
> _________________________________________________
>   For list-related administrative tasks:
>  
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> 



Posted on the users mailing list.