Unseen Ghost,
In this case, if you are not wanting the background to be erased, then make the tetris blocks to be sprites. A sprite, with it's "backsave" property set to 1, will not smudge when moved each loop. So, this gives you two options.
1.)Create all blocks as sprites.
set display mode 800,600,16
REM keep screen refresh consistent from computer to computer
sync on
sync rate 80
hide mouse
load image "block.bmp",1
load image "statboard.bmp",2
lod image "background.bmp",3
REM create sprite using block.bmp
sprite 1,0,0,1
REM hide sprite until you need it to show on the screen
hide sprite 1
REM set transparency properties to 0 to save on processing
set sprite 1,1,0
speed# = 0.50
x# = 395
y# = 0
REM paste background to screen once
paste image 3,0,0
do
REM paste sprite in new coordinates(background image will be drawn
REM where sprite is not
if upkey() = 1 then y# = y# - speed#
if downkey() = 1 then y# = y# + speed#
if leftkey() = 1 then x# = x# - speed#
if rightkey() = 1 then x# = x# + speed#
REM paste sprite at variable coordinates
paste sprite 1,x#,y#
sync
loop
With using a sprite there is no need to clear the screen or
constantly re-paste the background to the screen. Technically,
the sprite redraws the part of the background it covered last, if so be it is no longer covering that area anymore.
2.)Re-paste the background image and then the block image each loop, using the
CLS(clear screen) approach.
set display mode 800,600,16
sync on
sync rate 80
hide mouse
load image "block.bmp",1
load image "statboard.bmp",2
speed# = 0.50
x# = 395
y# = 0
do
if upkey() = 1 the y# = y# - speed#
if downkey() = 1 then y# = y# + speed#
if leftkey() = 1 then x# = x# - speed#
if rightkey() = 1 then x# = x# + speed#
REM paste the background image every loop
paste image 2,0,0
REM paste the block image every loop
paste image 1,x#,y#
REM make sure sync is placed before cls
sync
REM clear the whole screen(images will be re-drawn every loop)
cls
loop
This method may bring you lower screen rates, due to the whole background image having to be cleared and then re-pasted each loop(in using a sprite, only the part of the background in which the sprite covered has to be redrawn each loop, which is done automatically).
+NanoBrain+