SUBROUTINE MAZDRW IMPLICIT INTEGER (A-Z) # # THIS SUBROUTINE DRAWS THE INITIAL PACMAN MAZE (BOARD) ON THE VT100 # INCLUDE/NL SY:UVT100.DAT INCLUDE/NL SY:PACMAN.CMN BYTE MAZE(CMAR,RMAR) EQUIVALENCE (MAZE,LN01) DATA LN01 / ULCOR,15*HORIZ,URCOR,3*SPACE,ULCOR,15*HORIZ,URCOR/ DATA LN02 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT,3*SPACE,VERT, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT / DATA LN03 / VERT,EGZCHR,ULCOR,4*HORIZ,URCOR,DOTCHR,ULCOR,4*HORIZ, URCOR,DOTCHR,VERT,3*SPACE,VERT,DOTCHR,ULCOR,4*HORIZ,URCOR,DOTCHR, ULCOR,4*HORIZ,URCOR,EGZCHR,VERT / DATA LN04 / VERT,DOTCHR,LLCOR,4*HORIZ,LRCOR,DOTCHR,LLCOR,4*HORIZ, LRCOR,DOTCHR,LLCOR,3*HORIZ,LRCOR,DOTCHR,LLCOR,4*HORIZ,LRCOR,DOTCHR, LLCOR,4*HORIZ,LRCOR,DOTCHR,VERT / DATA LN05 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT / DATA LN06 / VERT,DOTCHR,ULCOR,4*HORIZ,URCOR,DOTCHR,ULCOR, URCOR,DOTCHR,TRIGHT,4*HORIZ,TDOWN,HORIZ,TDOWN,4*HORIZ,TLEFT, DOTCHR,ULCOR,URCOR,DOTCHR,ULCOR,4*HORIZ,URCOR,DOTCHR,VERT / DATA LN07 / VERT,DOTCHR,LLCOR,4*HORIZ,LRCOR,DOTCHR,VERT,VERT, SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT,SPACE,VERT,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,VERT,VERT,DOTCHR,LLCOR,4*HORIZ,LRCOR, DOTCHR,VERT / DATA LN08 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, VERT,TRIGHT,4*HORIZ,TLEFT,DOTCHR,LLCOR,HORIZ,LRCOR,DOTCHR,TRIGHT, 4*HORIZ,TLEFT,VERT,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,VERT / DATA LN09 / TRIGHT,6*HORIZ,URCOR,DOTCHR,VERT,VERT,DOTCHR,SPACE,DOTCHR, SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR, SPACE,DOTCHR,VERT,VERT,DOTCHR,ULCOR,6*HORIZ,TLEFT / DATA LN10 / LLCOR,6*HORIZ,LRCOR,DOTCHR,LLCOR,LRCOR,DOTCHR,ULCOR, 4*HORIZ,3*DOOR,4*HORIZ,URCOR,DOTCHR,LLCOR,LRCOR,DOTCHR,LLCOR, 6*HORIZ,LRCOR / DATA LN11 / 7*TUNCHR,2*SPACE,DOTCHR,SPACE,DOTCHR,VERT,11*SPACE,VERT, DOTCHR,SPACE,DOTCHR,2*SPACE,7*TUNCHR / DATA LN12 / ULCOR,6*HORIZ,URCOR,DOTCHR,ULCOR,URCOR,DOTCHR,LLCOR, 11*HORIZ,LRCOR,DOTCHR,ULCOR,URCOR,DOTCHR,ULCOR,6*HORIZ,URCOR / DATA LN13 / VERT,6*SPACE,VERT,DOTCHR,VERT,VERT,DOTCHR,13*SPACE, DOTCHR,VERT,VERT,DOTCHR,VERT,6*SPACE,VERT / DATA LN14 / TRIGHT,6*HORIZ,LRCOR,DOTCHR,LLCOR,LRCOR,DOTCHR,TRIGHT, 4*HORIZ,TDOWN,HORIZ,TDOWN,4*HORIZ,TLEFT,DOTCHR,LLCOR,LRCOR,DOTCHR, LLCOR,6*HORIZ,TLEFT/ DATA LN15 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,VERT,SPACE,VERT, SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR, SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT / DATA LN16 / VERT,DOTCHR,ULCOR,4*HORIZ,URCOR,DOTCHR,ULCOR,5*HORIZ, URCOR,DOTCHR,VERT,SPACE,VERT,DOTCHR,ULCOR,5*HORIZ,URCOR,DOTCHR, ULCOR,4*HORIZ,URCOR,DOTCHR,VERT / DATA LN17 / VERT,DOTCHR,LLCOR,2*HORIZ,URCOR,SPACE,VERT,DOTCHR, LLCOR,5*HORIZ,LRCOR,DOTCHR,LLCOR,HORIZ,LRCOR,DOTCHR,LLCOR,5*HORIZ, LRCOR,DOTCHR,VERT,SPACE,ULCOR,2*HORIZ,LRCOR,DOTCHR,VERT / DATA LN18 / VERT,EGZCHR,SPACE,DOTCHR,SPACE,VERT,SPACE,VERT,DOTCHR, SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,3*SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT, SPACE,VERT,SPACE,DOTCHR,SPACE,EGZCHR,VERT / DATA LN19 / TRIGHT,2*HORIZ,TLEFT,DOTCHR,LLCOR,HORIZ,LRCOR,DOTCHR, ULCOR,URCOR,DOTCHR,TRIGHT,4*HORIZ,TDOWN,HORIZ,TDOWN,4*HORIZ, TLEFT,DOTCHR,ULCOR,URCOR,DOTCHR,LLCOR,HORIZ,LRCOR,DOTCHR,TRIGHT, 2*HORIZ,TLEFT / DATA LN20 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, VERT,VERT,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT,SPACE,VERT, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,VERT,VERT,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT / DATA LN21 / VERT,DOTCHR,ULCOR,6*HORIZ,LRCOR,LLCOR,4*HORIZ,URCOR, DOTCHR,VERT,SPACE,VERT,DOTCHR,ULCOR,4*HORIZ,LRCOR,LLCOR,6*HORIZ, URCOR,DOTCHR,VERT / DATA LN22 / VERT,DOTCHR,LLCOR,12*HORIZ,LRCOR,DOTCHR,LLCOR,HORIZ, LRCOR,DOTCHR,LLCOR,12*HORIZ,LRCOR,DOTCHR,VERT / DATA LN23 / VERT,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE, DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,SPACE,DOTCHR,VERT / DATA LN24 / LLCOR,35*HORIZ,LRCOR / # # DRAW MAZE AND SET STARTING LOCATION COORDINATES # CALL UVT100(ED,2) #ERASE SCREEN DO I = 1,RMAR [ #DRAW MAZE CALL UVT100(CUP,I,1) CALL GETADR(PRL,OUTBUF) PRL(2) = LEN CALL WTQIO(IOWVB,5,2,,,PRL) LEN = 0 WRITE (5,100) (MAZE(J,I),J=1,CMAR) ] RDOOR = 9 #LOCATION WHERE MONSTERS CDOOR = 18 #START OUT FROM PRISON INIROW = 18 #PACMAN STARTING LOCATION INICOL = 19 LPRISR = 11 #LEFTY STARTING LOCATION LPRISC = 18 CPRISR = 11 #CURLY STARTING LOCATION CPRISC = 20 FPRISR = 11 #FLUFFY STARTING LOCATION FPRISC = 16 NPRISR = 11 #NELLIE STARTING LOCATION NPRISC = 22 FRUROW = 13 #FRUIT LOCATION FRUCOL = 19 RETURN 100 FORMAT (62A1) END