SUBROUTINE MOVETHO C*BEGIN COMMON COMMON SNAP,SNAPSHT(247), + DATE,REMKL,REMCOM,REMBASE,REMRES,REMTIME,STARKL,BASEKL, + KILLK,KILLC,GALAXY(8,8),CX(10),CY(10),BASEQX(5),BASEQY(5), + NEWSTUF(8,8),PLNETS(10,5),ISX,ISY,NSCREM,NROMKL,NROMREM, + NSCKILL,NPLANKL,ISATB,BATX,BATY,THINGX,THINGY, + QUAD(10,10),KX(20),KY(20),KPOWER(20),KDIST(20),KSTUF(20), + FUTURE(10),MESSAGE(5,10), + INKLING,INBASE,INRESOR,INCOM,INTIME,INSTAR,INENRG,INSHLD, + INTORPS,INLSR,INDATE,ENERGY,SHLD,SHLDUP,CONDIT,TORPS,SHIP, + QUADX,QUADY,SECTX,SECTY,WARPFAC,WFACSQ,LSUPRES,DAMAGE(20), + LENGTH,SKILL,PASSWD,DIST,DIREC,TIME,BASEX,BASEY,DOCKFAC, + KLHERE,COMHERE,CASUAL,NHELP,NKINKS,STARCH(8,8), + DEVICE(2,14),IDIDIT,GAMEWON,ALIVE,JUSTIN,RESTING,ALLDONE, + DAMFAC,SHLDCHG,NDEVICE,PLNETX,PLNETY,INORBIT,LANDED,IPLANET, + IMINE,ICRYSTL,INPLAN,NENHERE,ISHERE,NEUTZ,IRHERE,ICRAFT, + IENTESC,ISCRAFT,ISCATE,CRYPROB,ICITE,IPHWHO, + CRACKS(12) INTEGER SHLDUP,CONDIT,QUADX,QUADY,SECTX,SECTY,TORPS, + REMKL,REMBASE,SKILL,REMCOM,GALAXY,STARCH,CX,CY, + SHIP,ALLDONE,BASEQX,BASEQY,BASEX,BASEY,GAMEWON, + ALIVE,STARKL,BASEKL,CASUAL,COMHERE,RESTING,SNAP,SHLDCHG, + THINGX,THINGY,BATX,BATY,PLNETX,PLNETY,PLNETS REAL KDIST,KPOWER,LSUPRES,INTIME,INRESOR,INDATE,INSHLD, + INENRG,INLSR BYTE QUAD REAL*8 DEVICE,PASSWD C*END COMMON LOGICAL*1 IHS,IHR,IHC,IHK,IHE,IHF,IHBLANK,IHDOT,IHP,IHB + ,IHSTAR,IHT,IHQUEST,IHNUM COMMON/HOLLER/IHEOL,IHREAL,IHALPHA,IHS,IHR,IHC,IHK,IHGREEN,IHRED, +IHYELLO,IHDOCKD,IHE,IHF,IHBLANK,IHDOT,IHQUEST,IHP,IHSTAR,IHB +,IHT,IHNUM EQUIVALENCE (KSTUF(1),ITHERE),(KSTUF(2),ITHX),(KSTUF(3),ITHY) IF(ITHERE.EQ.0 .OR. JUSTIN.EQ.1) RETURN IF((ITHERE.EQ.1 .AND. ITHX.EQ.ITHY) .OR. + (ITHERE.EQ.2 .AND. ITHX.NE.ITHY)) GO TO 1 IDX=11-ITHX IDY=ITHY GO TO 5 1 IDX=ITHX IDY=11-ITHY C----------MAKE SURE DESTINATION IS EMPTY. IF NOT, FORGET IT. 5 IF((QUAD(IDX,IDY).NE.IHDOT).AND.(QUAD(IDX,IDY).NE.IHNUM)) RETURN QUAD(ITHX,ITHY)=IHNUM IF(ITHX.EQ.IDX) GO TO 12 C----------MOVE THOLIAN ON X-AXIS IM=ISIGN(1,IDX-ITHX) 7 IF(ITHX.EQ.IDX) GO TO 20 ITHX=ITHX+IM IF(QUAD(ITHX,ITHY).EQ.IHDOT) QUAD(ITHX,ITHY)=IHNUM GO TO 7 12 IF(ITHY.EQ.IDY) GO TO 20 C------------MOVE THOLIAN ON Y-AXIS. IM=ISIGN(1,IDY-ITHY) 13 IF(ITHY.EQ.IDY) GO TO 20 ITHY=ITHY+IM IF(QUAD(ITHX,ITHY).EQ.IHDOT) QUAD(ITHX,ITHY)=IHNUM GO TO 13 20 QUAD(ITHX,ITHY)=IHT C-------CHECK TO SEE IF ALL HOLES ARE PLUGGED DO 22 I=1,10 DO 22 J=1,10,9 IF(QUAD(J,I).NE.IHNUM .AND. QUAD(J,I).NE.IHT) RETURN IF(QUAD(I,J).NE.IHNUM .AND. QUAD(I,J).NE.IHT) RETURN 22 CONTINUE C-------ALL PLUGGED UP, THOLIAN SPLITS. QUAD(ITHX,ITHY)=IHNUM CALL DROPIN(IHBLANK,ID1,ID2) ITHERE=0 CALL CRMSENA(IHT,2,ITHX,ITHY) CALL CRAMDMP(15H COMPLETES WEB. ) RETURN END