[comp.sources.games] v06i073: mex - yet another version of Tetris for the Sun, Part02/02

games@tekred.CNA.TEK.COM (05/17/89)

Submitted-by: Glenn Kreisel <glenn@midget.towson.edu>
Posting-number: Volume 6, Issue 73
Archive-name: mex/Part02

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 2 (of 2)."
# Contents:  Makefile block1.icon block2.icon block3.icon block4.icon
#   block5.icon block6.icon block7.icon hiscore.icon info.file mex.h
#   mex.hiscores.uu mex.icon objects.h screens.h
# Wrapped by billr@saab on Wed May 17 08:33:14 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(1069 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X# @(#)Makefile
X
XBASE_DIR = /usr/games/lib/mex
XBIN = /usr/games
X
XDEFINES  = -DINSTALL_DIR='"$(BASE_DIR)"' \
X	   -DHISCORE_FILE='"$(BASE_DIR)/mex.hiscores"' \
X	   -DINFO_FILE='"$(BASE_DIR)/info.file"'
XCFLAGS   = -O $(DEFINES)
XCPPFLAGS = 
XLIBS     = -lsuntool -lsunwindow -lpixrect -lm
XNAME     = mex
XOBJS     = mex.o mex_look.o mex_scores.o
X
XSRC      = mex.c mex_look.c mex_scores.c
X
XHSRC     =  	mex.h object.h
X
X$(NAME) : .install $(OBJS)
X	$(CC) -O -o $(NAME) $(OBJS) $(LIBS)
X
X
Xmex.o: mex.c mex.h objects.h
X
Xmex_look.o: mex_look.c mex.h
X
Xmex_scores.o: mex_scores.c mex.h
X
X
X
Xlint_it: $(SRC)
X	lint $(SRC) $(LIBS) $(INCLUDE_DIRS) $(DEFINES) > lint_out
X
X
Xshar: 
X	shar -f mex1 Makefile README mex.hiscores *.icon \
X		info.file
X	shar -f mex2 *.c *.h
X
X
X.install:
X	@echo -n "The install directory is :"
X	@echo $(BASE_DIR)
X	@echo
X	@echo
X	@echo "Now compiling sources..."
X	@echo 
X	@echo 
X	-uudecode mex.hiscores.uu
X	-rm mex.hiscores.uu
X	chmod 777 mex.hiscores
X	touch .install
X
Xinstall: $(NAME)
X	install -s $(NAME) $(BIN)
X	-mkdir $(BASE_DIR)
X	cp mex.hiscores info.file $(BASE_DIR)
END_OF_FILE
if test 1069 -ne `wc -c <'Makefile'`; then
    echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'block1.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block1.icon'\"
else
echo shar: Extracting \"'block1.icon'\" \(193 characters\)
sed "s/^X//" >'block1.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x3FFC,0x7FFE,0xE007,0xD00B,0xCB93,0xC6E3,0xCEE3,0xCC63,
X	0xCC63,0xCFE3,0xCC63,0xCC63,0xD013,0xE00F,0x7FFE,0x3FFC
END_OF_FILE
if test 193 -ne `wc -c <'block1.icon'`; then
    echo shar: \"'block1.icon'\" unpacked with wrong size!
fi
# end of 'block1.icon'
fi
if test -f 'block2.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block2.icon'\"
else
echo shar: Extracting \"'block2.icon'\" \(193 characters\)
sed "s/^X//" >'block2.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x07FF,0x0FFF,0x1807,0x300F,0x601F,0xFFFB,0xFFF3,0xC063,
X	0xC063,0xC063,0xC063,0xC063,0xC067,0xC06E,0xFFFC,0xFFF8
END_OF_FILE
if test 193 -ne `wc -c <'block2.icon'`; then
    echo shar: \"'block2.icon'\" unpacked with wrong size!
fi
# end of 'block2.icon'
fi
if test -f 'block3.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block3.icon'\"
else
echo shar: Extracting \"'block3.icon'\" \(193 characters\)
sed "s/^X//" >'block3.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0x8811,0x9C39,0x8811,0x8001,0x8181,0x8181,0xE243,
X	0x9005,0x9005,0x8809,0x8731,0x81E1,0x81E1,0x80C1,0xFFFF
END_OF_FILE
if test 193 -ne `wc -c <'block3.icon'`; then
    echo shar: \"'block3.icon'\" unpacked with wrong size!
fi
# end of 'block3.icon'
fi
if test -f 'block4.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block4.icon'\"
else
echo shar: Extracting \"'block4.icon'\" \(193 characters\)
sed "s/^X//" >'block4.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0x8201,0x8881,0xA721,0x8701,0xA221,0xB261,0xBFE1,
X	0x8701,0x8701,0x8701,0xBFE1,0xBFE1,0xB061,0xB061,0xFFFF
END_OF_FILE
if test 193 -ne `wc -c <'block4.icon'`; then
    echo shar: \"'block4.icon'\" unpacked with wrong size!
fi
# end of 'block4.icon'
fi
if test -f 'block5.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block5.icon'\"
else
echo shar: Extracting \"'block5.icon'\" \(193 characters\)
sed "s/^X//" >'block5.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0x8001,0x8001,0xA991,0xB9E1,0xA981,0x81E1,0xBBE1,
X	0x90A1,0x90B1,0xB891,0x81C1,0x83E1,0x83E1,0x81C1,0xFFFF
END_OF_FILE
if test 193 -ne `wc -c <'block5.icon'`; then
    echo shar: \"'block5.icon'\" unpacked with wrong size!
fi
# end of 'block5.icon'
fi
if test -f 'block6.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block6.icon'\"
else
echo shar: Extracting \"'block6.icon'\" \(193 characters\)
sed "s/^X//" >'block6.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xC045,0xE013,0xB015,0x9809,0x8C15,0x8601,0x9FF1,
X	0x9FF9,0x9FF1,0x8061,0x8031,0x8019,0x800D,0x8007,0xFFFF
END_OF_FILE
if test 193 -ne `wc -c <'block6.icon'`; then
    echo shar: \"'block6.icon'\" unpacked with wrong size!
fi
# end of 'block6.icon'
fi
if test -f 'block7.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'block7.icon'\"
else
echo shar: Extracting \"'block7.icon'\" \(193 characters\)
sed "s/^X//" >'block7.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x1FF8,0x3FFC,0x700E,0xE007,0xCE73,0xC423,0xC003,0xC183,
X	0xC183,0xC003,0xC663,0xC3C3,0xE007,0xF00E,0x7FFC,0x3FF8
END_OF_FILE
if test 193 -ne `wc -c <'block7.icon'`; then
    echo shar: \"'block7.icon'\" unpacked with wrong size!
fi
# end of 'block7.icon'
fi
if test -f 'hiscore.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'hiscore.icon'\"
else
echo shar: Extracting \"'hiscore.icon'\" \(1933 characters\)
sed "s/^X//" >'hiscore.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0xC10E,0x009B,0x8C3C,0x0403,
X	0x8314,0xC08E,0x00C1,0x0B01,0xC240,0x6004,0x0100,0x9101,
X	0xE280,0x2004,0x0100,0x7041,0xB201,0x11F1,0xF088,0x7821,
X	0x8F03,0x33E7,0xE398,0x3811,0x8F03,0x30C3,0x0198,0x4809,
X	0x9303,0x30C3,0x0398,0x0405,0xA003,0xF0C3,0x03F8,0x4005,
X	0xA103,0xF0C3,0x71F8,0x4405,0xA103,0x30C3,0x7B98,0x0203,
X	0xA003,0x30C3,0x1D98,0x4201,0xA083,0x30C3,0x1D98,0x0001,
X	0xA083,0x31F3,0xFD98,0x4201,0x8082,0x23E1,0xF110,0x0101,
X	0x9880,0x0000,0x0200,0x4001,0x8040,0x0000,0x0200,0x0081,
X	0x8040,0x0000,0x0000,0x4001,0x8221,0xC3C3,0xC783,0xC001,
X	0x8233,0xE7E7,0xE7C7,0xE081,0x8006,0x0626,0x6666,0x4001,
X	0x8026,0x0606,0x6666,0x8001,0x8007,0x0606,0x6666,0x0041,
X	0x8003,0xC606,0x6667,0xC001,0x8001,0xE606,0x67C7,0xC001,
X	0x8010,0x6606,0x67E6,0x8021,0x8000,0x6606,0x6666,0x8011,
X	0x8004,0xE626,0x6636,0x0001,0x8007,0xC7E7,0xE637,0xE001,
X	0x8003,0x83C3,0xC637,0xC001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x307F,0x9E7F,0x8001,0x8000,0x303F,0x3F3F,0x0001,
X	0x8000,0x300C,0x300C,0x0001,0x8000,0x300C,0x300C,0x0001,
X	0x8000,0x300C,0x3C0C,0x0001,0x8000,0x300C,0x0E0C,0x0001,
X	0x8000,0x300C,0x030C,0x0001,0x8000,0x300C,0x030C,0x0001,
X	0x8000,0x3F3F,0x1F0C,0x0001,0x8000,0x3F7F,0xBE0C,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x1000,0x0000,0x0001,0x8000,0x1000,0x0001,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x0C00,0x0000,0x0001,
X	0x8000,0x0E00,0x0003,0x0001,0x8000,0x0600,0x0003,0x0001,
X	0x8000,0x0600,0x0003,0x0001,0x8000,0x0600,0x0003,0x0001,
X	0x8000,0x0600,0x0003,0x0001,0xC000,0x0600,0x0003,0x0003,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x7FFF,0xFFFF,0xFFFF,0xFFFE
END_OF_FILE
if test 1933 -ne `wc -c <'hiscore.icon'`; then
    echo shar: \"'hiscore.icon'\" unpacked with wrong size!
fi
# end of 'hiscore.icon'
fi
if test -f 'info.file' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'info.file'\"
else
echo shar: Extracting \"'info.file'\" \(1272 characters\)
sed "s/^X//" >'info.file' <<'END_OF_FILE'
X                    Instructions for Mex
X
X
X    The idea of the game is to rotate (middle mouse button) each piece as it falls from the top of the screen.  The     pieces can also be moved to the left or right by the outer  mouse buttons.  Once one has lined a piece up to fit neatly into a row one 
Xmay hit the space bar to acquire more points by letting the piece drop fast.  The basic strategy is to   NOT let the rows pile up.  Every piece must fit or one will see the rows build up fast.  If they reach the top the game is OVER.  A new level will be 
Xreached every 10 rows         completed.  If one closes the game frame the current game   will be paused and one will need to select RESUME when the  game is brought back from the icon.  The keys 'j' (left),
X'k' (rotate) and 'l' (right) have been mapped accordingly.
XThe fun starts after level 10 is completed!!!!!!!!!!!
X
X
X                Have Fun!!!!!!!!!!!!
X    
X    
X    I would like to express my appreciation to Ray Kreisel, Jeff Law, Caitlin "L" Wheatley, tom uffner, Brantley E.
XRiley, Shirley "Sun Goddess" Peters,and everyone at UDEL 
Xfor their time.
X 
X Comments about the Game can be sent to:
X 		glenn@midget.towson.edu
X 		S72QKRE@TOWSONVX.BITNET
X 		
X This program should always be distributed FREE!!!!!!!!
END_OF_FILE
if test 1272 -ne `wc -c <'info.file'`; then
    echo shar: \"'info.file'\" unpacked with wrong size!
fi
# end of 'info.file'
fi
if test -f 'mex.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mex.h'\"
else
echo shar: Extracting \"'mex.h'\" \(1841 characters\)
sed "s/^X//" >'mex.h' <<'END_OF_FILE'
X#include <stdio.h>
X#include <pixrect/pixrect_hs.h>
X#include <suntool/sunview.h>
X#include <suntool/canvas.h>
X#include <suntool/panel.h>
X#include <sys/time.h>
X#include <sys/types.h>
X#include <sys/ioctl.h>
X#include <sundev/kbio.h>
X#include <pwd.h>
X#include <sundev/kbd.h>
X#include <pixrect/memvar.h>
X
X
X#define	S_IRUSR 0000400		/* read permission, owner */
X#define	S_IWUSR 0000200		/* write permission, owner */
X#define	S_IXUSR 0000100		/* execute/search permission, owner */
X#define	S_IRGRP 0000040		/* read permission, group */
X#define	S_IWGRP 0000020		/* write permission, grougroup */
X#define	S_IXGRP 0000010		/* execute/search permission, group */
X#define	S_IROTH 0000004		/* read permission, other */
X#define	S_IWOTH 0000002		/* write permission, other */
X#define	S_IXOTH 0000001		/* execute/search permission, other */
X#define	S_ENFMT 0000000		/* enforcement-mode locking not implemented */
X
X/* #include <sys/stat.h> */
X#include <sys/timeb.h>
X
X
X#define height 		22  /* screen height in blocks */
X#define width 		11  /* screen width in blocks */
X#define object_width 	4  /* number of blocks object is made of */
X#define object_height	3   /* Maximum object height */
X#define char_height 	18 /* space each block will take on screen */
X#define char_width 	18 /* this will allow a 2 pixel buffer area */
X#define x1 		current_object->x[0]
X#define x4 		current_object->x[3]
X#define block_icon_height 16  /* block data (picture) height */
X#define block_icon_width 16  /* block data (picture) width */
X
X#define NEW_GAME 1
X#define EXIT_GAME 0
X#define GAME_OVER 2
X#define MAX_LEVEL 10  /* Max. level a player can obtain */
X#define RUNNING 3
X#define KEEP_SCORES 10  /* number of scores to keep a record of */
X#define info_file "info.file"
X#define MOVES_PER_ROW 5 
X
X
Xstruct each_player{
X		char name[60];
X		int	score;
X		int	rows;
X		char date[40];
X		};
END_OF_FILE
if test 1841 -ne `wc -c <'mex.h'`; then
    echo shar: \"'mex.h'\" unpacked with wrong size!
fi
# end of 'mex.h'
fi
if test -f 'mex.hiscores.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mex.hiscores.uu'\"
else
echo shar: Extracting \"'mex.hiscores.uu'\" \(97 characters\)
sed "s/^X//" >'mex.hiscores.uu' <<'END_OF_FILE'
Xbegin 644 mex.hiscores
XM`D<N($MR96ES96P",3@P,#`@,SA7960@07!R(#(V(#$W.C$R.C$S(#$Y.#D*
X#`0H*
X`
Xend
END_OF_FILE
if test 97 -ne `wc -c <'mex.hiscores.uu'`; then
    echo shar: \"'mex.hiscores.uu'\" unpacked with wrong size!
fi
# end of 'mex.hiscores.uu'
fi
if test -f 'mex.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mex.icon'\"
else
echo shar: Extracting \"'mex.icon'\" \(1933 characters\)
sed "s/^X//" >'mex.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x3E00,0x03EF,0x8001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x3E00,0x03EF,0x8001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x3E00,0x03EF,0x8001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x3E00,0x03EF,0x8001,0x8000,0x3E00,0x03EF,0x8001,
X	0x8000,0x0000,0x0000,0x0001,0x8000,0x3EF8,0x0000,0x0001,
X	0x83F0,0x3EF8,0x0000,0x0001,0x87F8,0x3EF8,0x0000,0x0001,
X	0x8FFC,0x3EF8,0x0000,0x0001,0x8EDC,0x3EF8,0x0000,0x0001,
X	0x8CCC,0x0000,0x0000,0x0001,0x8CCC,0x0000,0x0000,0x0001,
X	0x8C0C,0x0000,0x0000,0x0001,0x8C0C,0x0000,0x0000,0x0001,
X	0x8C0C,0x0000,0x0000,0x0001,0x8C0C,0x0000,0x0000,0x0001,
X	0x8C0C,0x0000,0x0000,0x0001,0x9E1C,0x0000,0x0000,0x0001,
X	0x9C0E,0x0000,0x0000,0x0001,0x9C0E,0x003E,0x01F0,0x0001,
X	0x8000,0x007E,0x01F0,0x0001,0x8000,0x00E0,0x01F0,0x0001,
X	0x8000,0x00C0,0x01F0,0x0001,0x8000,0x00C0,0x01F0,0x0001,
X	0x8000,0x00C0,0x0000,0x0001,0x8000,0x00DC,0x01F7,0xC001,
X	0x8000,0x00FC,0x01F7,0xC001,0x8000,0x00DC,0x01F7,0xC001,
X	0x8000,0x00C0,0x01F7,0xC001,0x8000,0x00C0,0x01F7,0xC001,
X	0x8000,0x00E0,0x0000,0x0001,0x8000,0x007E,0x0007,0xC001,
X	0x8000,0x003E,0x0007,0xC001,0x8000,0x0000,0x0007,0xC001,
X	0x8000,0x0000,0x0007,0xC001,0x8000,0x0000,0x0007,0xC001,
X	0x8000,0x0000,0x0000,0x0001,0x83EF,0xBEF8,0x0000,0x0001,
X	0x83EF,0xBEF8,0x0404,0x0001,0x83EF,0xBEF8,0x060C,0x0001,
X	0x83EF,0xBEF8,0x071C,0x0001,0x83EF,0xBEF8,0x03B8,0x0001,
X	0x8000,0x0000,0x01B0,0x0001,0x8000,0x0000,0x00F0,0x0001,
X	0x8000,0x0000,0x0060,0x0001,0x8000,0x0000,0x0060,0x0001,
X	0x8000,0x0000,0x00F0,0x0001,0x8000,0x0000,0x039C,0x0001,
X	0x8000,0x0000,0x070E,0x0001,0x8000,0x0000,0x0706,0x0001,
X	0x8000,0x0000,0x0606,0x0001,0x8000,0x0000,0x0602,0x0001,
X	0x8000,0x0000,0x0000,0x0001,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_FILE
if test 1933 -ne `wc -c <'mex.icon'`; then
    echo shar: \"'mex.icon'\" unpacked with wrong size!
fi
# end of 'mex.icon'
fi
if test -f 'objects.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'objects.h'\"
else
echo shar: Extracting \"'objects.h'\" \(3519 characters\)
sed "s/^X//" >'objects.h' <<'END_OF_FILE'
X/*   ALL code in this program may be used for personal use */
X/*   and this program may be distributed as long as this copyright */
X/*   heading is attached to each source code file.  Distribution must  */
X/*   be done FREE of charge................ */
X/*                                           Glenn Kreisel */
X/*				             glenn@midget.towson.edu */		
X#define piece object_struct
X#define LTRED &block
X#define LTGREEN &block2
X#define YELLOW &block3
X#define BLUE &block4
X#define WHITE &block5
X#define RED &block6
X#define GREEN &block7
Xextern struct piece ltred_piece;
Xextern struct piece yellow_piece2;
Xextern struct piece green_piece2;
Xextern struct piece blue_piece2, blue_piece3, blue_piece4;
Xextern struct piece white_piece2, white_piece3, white_piece4;
Xextern struct piece red_piece2, red_piece3, red_piece4;
X/* Piece defs taken from Marc Budha's program at UDEL */
X/*  --x-
X**  --x- Vertical Red Piece
X**  --x-
X**  --x- */
Xstruct piece ltred_piece2 = { &ltred_piece, LTRED,
X	{ 2, 2, 2, 2 }, { 0, 1, 2, 3} };
X/*  ----
X**  xxxx Horizontal Red Piece
X**  ----
X**  ---- */
Xstruct piece ltred_piece =  { &ltred_piece2, LTRED,
X	{ 1, 0, 3, 2 }, { 1, 1, 1, 1} };
X/*  ----
X**  -xx- Green Piece
X**  -xx-
X**  ---- */
Xstruct piece ltgreen_piece =  { &ltgreen_piece, LTGREEN,
X	{ 1, 1, 2, 2 }, { 1, 2, 1, 2} };
X/*  ----
X**  -xx- Yellow Piece 1
X**  xx--
X**  ---- */
Xstruct piece yellow_piece =  { &yellow_piece2, YELLOW,
X	{ 1, 0, 2, 1 }, { 1, 2, 1, 2 } };
X/*  -x--
X**  -xx- Yellow Piece 2
X**  --x-
X**  ---- */
Xstruct piece yellow_piece2 =  { &yellow_piece, YELLOW,
X	{ 1, 1, 2, 2 }, { 0, 1, 1, 2 } };
X/*  -xx-
X**  -x-- Blue Piece 1
X**  -x--
X**  ---- */
Xstruct piece blue_piece =  { &blue_piece4, BLUE,
X	{ 1, 1, 2, 1 }, { 0, 1, 0, 2 } };
X/*  ----
X**  xxx- Blue Piece 2
X**  --x-
X**  ---- */
Xstruct piece blue_piece2 =  { &blue_piece, BLUE,
X	{ 1, 0, 2, 2 }, { 1, 1, 1, 2 } };
X/*  --x-
X**  --x- Blue Piece 3
X**  -xx-
X**  ---- */
Xstruct piece blue_piece3 =  { &blue_piece2, BLUE,
X	{ 2, 1, 2, 2 }, { 0, 2, 1, 2 } };
X/*  -x--
X**  -xxx Blue Piece 4
X**  ----
X**  ---- */
Xstruct piece blue_piece4 =  { &blue_piece3, BLUE,
X	{ 1, 1, 3, 2 }, { 0, 1, 1, 1 } };
X/*  ----
X**  xxx- White Piece 1
X**  -x--
X**  ---- */
Xstruct piece white_piece =  { &white_piece4, WHITE,
X	{ 1, 0, 2, 1 }, { 1, 1, 1, 2 } };
X/*  -x--
X**  xx-- White Piece 2
X**  -x--
X**  ---- */
Xstruct piece white_piece2 =  { &white_piece, WHITE,
X	{ 1, 0, 1, 1 }, { 0, 1, 1, 2 } };
X/*  -x--
X**  xxx- White Piece 3
X**  ----
X**  ---- */
Xstruct piece white_piece3 =  { &white_piece2, WHITE,
X	{ 1, 0, 2, 1 }, { 0, 1, 1, 1 } };
X/*  -x--
X**  -xx- White Piece 4
X**  -x--
X**  ---- */
Xstruct piece white_piece4 =  { &white_piece3, WHITE,
X	{ 1, 1, 2, 1 }, { 0, 1, 1, 2 } };
X/*  -xx-
X**  --x- Red Piece 1
X**  --x-
X**  ---- */
Xstruct piece red_piece =  { &red_piece4, RED,
X	{ 2, 1, 2, 2 }, { 0, 0, 1, 2 } };
X/*  ---x
X**  -xxx Red Piece 2
X**  ----
X**  ---- */
Xstruct piece red_piece2 =  { &red_piece, RED,
X	{ 3, 1, 3, 2 }, { 0, 1, 1, 1 } };
X/*  -x--
X**  -x-- Red Piece 3
X**  -xx-
X**  ---- */
Xstruct piece red_piece3 =  { &red_piece2, RED,
X	{ 1, 1, 2, 1 }, { 0, 1, 2, 2 } };
X/*  ----
X**  -xxx Red Piece 4
X**  -x--
X**  ---- */
Xstruct piece red_piece4 =  { &red_piece3, RED,
X	{ 2, 1, 3, 1 }, { 1, 1, 1, 2 } };
X/*  ----
X**  xx-- Green Piece 1
X**  -xx-
X**  ---- */
Xstruct piece green_piece =  { &green_piece2, GREEN,
X	{ 1, 0, 2, 1 }, { 1, 1, 2, 2 } };
X/*  --x-
X**  -xx- Green Piece 2
X**  -x--
X**  ---- */
Xstruct piece green_piece2 =  { &green_piece, GREEN,
X	{ 2, 1, 2, 1 }, { 0, 1, 1, 2 } };
X
X
END_OF_FILE
if test 3519 -ne `wc -c <'objects.h'`; then
    echo shar: \"'objects.h'\" unpacked with wrong size!
fi
# end of 'objects.h'
fi
if test -f 'screens.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'screens.h'\"
else
echo shar: Extracting \"'screens.h'\" \(1133 characters\)
sed "s/^X//" >'screens.h' <<'END_OF_FILE'
X/* holds block representation at the bottom of each level */
X/* each screen is defined by a 11 wide by 5 high matrix */
X/* with each x signifying a still_block , 'e' denotes end of block */
X
X/* char mold[][width]={
X		"           ",
X		"           ",
X		"           ",
X		"           ",
X		"           ","e"
X	};
X
X	*/
Xchar screen4[][width]={
X		"x         x",
X		"xx       xx",
X		"xxx     xxx",
X		"xx       xx",
X		"x         x","e"
X	};
Xchar screen5[][width]={
X		"    xx     ",
X		"  x    x   ",
X		"  x    x   ",
X		"    xx     ",
X		"           ","e"
X	};
Xchar screen6[][width]={
X		"xxx x x x x",
X		"x   xxx x x",
X		"x   x x xx ",
X		"x x x x x x",
X		"xxx x x x x","e"
X	};
X
X
Xchar screen7[][width]={
X		"xxx x   x x",
X		"x   x   x x",
X		"x   x   x x",
X		"x   x   xxx",
X		"xxx xxx x x","e"
X	};
X
X char screen8[][width]={
X		"   xxxxx   ",
X		"  x x x x  ",
X		" x x   x x ",
X		"  x xxx x  ",
X		"   xxxxx   ","e"
X	};
X char screen9[][width]={
X		"    xxx    ",
X		"   xx xx   ",
X		"  xx   xx  ",
X		" xx     xx ",
X		"xx       xx","e"
X	};
X
X char screen10[][width]={
X		"  x        ",
X		" x    x    ",
X		"x    x    x",
X		"    x    x ",
X		"   x       ","e"
X	};
X
END_OF_FILE
if test 1133 -ne `wc -c <'screens.h'`; then
    echo shar: \"'screens.h'\" unpacked with wrong size!
fi
# end of 'screens.h'
fi
echo shar: End of archive 2 \(of 2\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked both archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0