REM 'RogueCraft Proof of Concept.DEFINT A-ZSCREEN _NEWIMAGE(640, 480, 32) 'what the user will seeTiles1& = _LOADIMAGE("RogueCraftExp1.bmp", 32) 'hidden window of our tiles 8 tiles@(16 x 16)DIM Map%(40, 30)GOSUB LoadMapGOSUB ShowMapDO _LIMIT 30 _DISPLAYLOOP UNTIL _KEYDOWN(27)SLEEPSYSTEM'--------------------- gosubs -------------------------------LoadMap:FOR col = 0 TO 29 FOR row = 0 TO 39 READ z Map%(row, col) = z NEXT rowNEXT colRETURNShowMap:FOR col = 0 TO 29 FOR row = 0 TO 39 SELECT CASE Map%(row, col) CASE 0 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (0, 0)-(15, 15) CASE 1 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (16, 0)-(31, 15) CASE 2 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (32, 0)-(47, 15) CASE 3 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (48, 0)-(63, 15) CASE 4 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (64, 0)-(79, 15) CASE 5 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (80, 0)-(95, 15) CASE 6 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (96, 0)-(111, 15) CASE 7 _PUTIMAGE (row * 16, col * 16)-((row * 16) + 15, (col * 16) + 15), Tiles1&, 0, (112, 0)-(127, 15) END SELECT NEXT rowNEXT colRETURN'----------------------------------------- MAP 40 x 30 -----------------------------'Tiles are 0,1,2,3,4,5,6,7' *1 *10 *20 *30 *40DATA 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7DATA 7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,5,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
LoadMap:FOR col = 0 TO 29 FOR row = 0 TO 39 READ z Map%(row, col) = z NEXT rowNEXT colRETURN
CHDIR "d:\qb64\Other Peoples Demos\RogueCraft" '// CHANGE TO WHERE YOU PUT THE FILESGDK_StartGDK_Screen_SetRes GameScreen, 640, 480, 32, 0DIM KB AS KeyBoardStateDIM TileSheet AS Tileset, TileSheetXY(1 TO 8) AS XY, Level(40, 30) AS TileGDK_Tileset_New TileSheet, "RogueCraftExp1.bmp", TileSheetXY(), 8, 1, _RGB(0, 0, 0), 0, 0GDK_TileMap_Load Level(), 40, 30DO _LIMIT 24 CLS GDK_Keyboard_GetState KB IF KB.ESC THEN SYSTEM GDK_Tiles_Draw TileSheet, TileSheetXY(), Level(), 0, 0, 0, 0, 40, 30 _DISPLAYLOOPREM $INCLUDE:'UnseenGDK.bm'DATA 7,1,7,1,7,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7DATA 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,5,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
REMDEFINT A-Z_TITLE "VSGE Editor" ' our window titleSCREEN _NEWIMAGE(800, 600, 32) ' screen the user seesDIM Map%(40, 30) ' structure to hold the map data inmemoryDIM SHARED mx%, my%, mbl%, mbr% ' structure for mouse x y left and right buttonsDIM Tints&(8) ' structure for the 8 colors numbersTiles1& = _LOADIMAGE("RogueCraftExp1.bmp", 32) ' hidden window of our tiles 8 tiles@(16 x 16)IF Tiles1& <> 0 THEN ' error trap for unfound file PRINT "Graphic file loaded"; Tiles1&ELSE PRINT "Unable to locate graphic file RougeCraftExp1.bmp" _DELAY 3 ENDEND IFGrey& = _RGB32(192, 192, 192)Pink& = _RGB32(255, 105, 180)LWhite& = _RGB32(255, 250, 250)GOSUB BoxGOSUB GridGOSUB ShowTilesTileNum = 0: Savfilename$ = "VSGE-Data.txt": CanSave = 0_MOUSESHOWDO _LIMIT 30 GOSUB MicePoll GOSUB FindPlace IF _KEYDOWN(115) THEN GOSUB PrepareSave 'S button to save IF Region = 2 THEN GOSUB InRegion2 IF Region = 1 THEN GOSUB InRegion1 LOCATE 34, 1: PRINT "Tile", "Region="; Region, "TileNum="; TileNum, cellx, celly LOCATE 35, 1: PRINT "MiceX="; mx%, "MiceY="; my%; " " _DISPLAYLOOP UNTIL _KEYDOWN(27)SLEEPSYSTEM'------------------------------------- GOSUBS ------------------------------------Box:LINE (7, 7)-(649, 489), Grey&, BF ' main windowLINE (663, 7)-(680, 136), Grey&, BF ' tile selection windowLINE (698, 6)-(739, 39), Grey&, BF ' mini mapRETURNGrid:FOR x = 8 TO 647 STEP 16 ' main paste window grid FOR y = 8 TO 487 STEP 16 LINE (x, y)-(x + 15, y + 15), Pink&, B NEXT yNEXT xx = 664: y = 8FOR Tile = 0 TO 7 ' tile selection window grid LINE (x, y)-(x + 15, y + 15), Pink&, B y = y + 16NEXT TileRETURNShowTiles:x1 = 664: y1 = 8: x2 = 0: y2 = 0 ' show tiles zero to seven = 8 tiles totalFOR Tile = 0 TO 7 ' LINE (x1, y1)-(x1 + 15, y1 + 15), Pink&, B _PUTIMAGE (x1, y1)-(x1 + 15, y1 + 15), Tiles1&, 0, (x2, y2)-(x2 + 15, y2 + 15) y1 = y1 + 16 x2 = x2 + 16NEXT TileGOSUB MakeColors ' 'probe the color of the tiles + save to arrayRETURNFindPlace:Region = 0IF mx% >= 8 THEN IF mx% <= 647 THEN IF my% >= 8 THEN IF my% <= 487 THEN Region = 1 'main draw window END IF END IF END IFEND IFIF mx% >= 664 THEN IF mx% <= 679 THEN IF my% >= 8 THEN IF my% <= 135 THEN Region = 2 'main tile window END IF END IF END IFEND IFRETURNMicePoll:DO WHILE _MOUSEINPUT mx% = _MOUSEX: my% = _MOUSEY: mbl% = _MOUSEBUTTON(1): mbr% = _MOUSEBUTTON(2)LOOPRETURNInRegion1:micex = mx% - 8: MiceY = my% - 8 ' correct the offset from the left of the screencellx = micex \ 16 ' divide by 16 to get cellcelly = MiceY \ 16 ' divide by 16 to get cellpastex1 = (cellx * 16) + 8: pastex2 = pastex1 + 15: pastey1 = (celly * 16) + 8: pastey2 = pastey1 + 15 'paste refers to place to pasteIF mbl% = -1 THEN _PUTIMAGE (pastex1, pastey1)-(pastex2, pastey2), Tiles1&, 0, (copyx1, copyy1)-(copyx2, copyy2) Map%(cellx, celly) = TileNum ' assign tile number GOSUB ShowMiniDim ' update mini windowEND IFRETURNInRegion2:IF mbl% = -1 THEN SELECT CASE my% CASE 8 TO 23 TileNum = 0 copyx1 = 0: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 'the source image co-ordinates for putimage CASE 24 TO 39 TileNum = 1 copyx1 = 16: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 40 TO 55 TileNum = 2 copyx1 = 32: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 56 TO 71 TileNum = 3 copyx1 = 48: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 72 TO 87 TileNum = 4 copyx1 = 64: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 88 TO 103 TileNum = 5 copyx1 = 80: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 103 TO 119 TileNum = 6 copyx1 = 96: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 CASE 120 TO 135 TileNum = 7 copyx1 = 112: copyy1 = 0: copyx2 = copyx1 + 15: copyy2 = copyy1 + 15 END SELECT _PUTIMAGE (10, 500)-(26, 516), Tiles1&, 0, (copyx1, copyy1)-(copyx2, copyy2)END IFRETURNShowMiniDim:x = 699: y = 7FOR across = 0 TO 29 '39 FOR down = 0 TO 39 '29 z = Map%(down, across) ' ->across ,down PSET (699 + down, 8 + across), Tints&(z) ' ->across ,down 'LOCATE across + 1, down + 1: PRINT LTRIM$(STR$(z)) ' ->across ,down NEXT downNEXT acrossCanSave = 1RETURNMakeColors:count = 0FOR T = 16 TO 130 STEP 16 Hue& = POINT(675, T) Tints&(count) = Hue& count = count + 1NEXT TRETURNPrepareSave:'convert onscreen to DATA statementstemp$ = "": LOCATE 20, 20: PRINT "SAVING FILE": _DISPLAY: _DELAY 1FOR across = 0 TO 29 '39 FOR down = 0 TO 39 '29 z = Map%(down, across) z$ = STR$(z): z$ = LTRIM$(z$) temp$ = temp$ + z$ + "," NEXT down GOSUB SavTxt temp$ = ""NEXT acrossLOCATE 20, 10: PRINT "FILE HAS BEEN SAVED AS VSGE-Data.txt": _DISPLAY: _DELAY 1SYSTEMRETURNSavTxt:z = LEN(temp$)temp$ = LEFT$(temp$, z - 1)temp$ = "DATA " + temp$OPEN Savfilename$ FOR APPEND AS #1PRINT #1, temp$CLOSE #1RETURN
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
'CHDIR "d:\qb64\Other Peoples Demos\RogueCraft" '// CHANGE TO WHERE YOU PUT THE FILES'My Face, useing Unseens GDK versionGDK_StartGDK_Screen_SetRes GameScreen, 640, 480, 32, 0DIM KB AS KeyBoardStateDIM TileSheet AS Tileset, TileSheetXY(1 TO 8) AS XY, Level(40, 30) AS TileGDK_Tileset_New TileSheet, "RogueCraftExp1.bmp", TileSheetXY(), 8, 1, _RGB(0, 0, 0), 0, 0GDK_TileMap_Load Level(), 40, 30DO _LIMIT 24 CLS GDK_Keyboard_GetState KB IF KB.ESC THEN SYSTEM GDK_Tiles_Draw TileSheet, TileSheetXY(), Level(), 0, 0, 0, 0, 40, 30 _DISPLAYLOOPREM $INCLUDE:'UnseenGDK.bm'DATA 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,5,5,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,5,5,0,5,5,5,5,0,5,0,0,0,0,0,0,5,5,0,0,5,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,5,0,5,3,3,0,5,5,5,0,0,0,0,0,5,5,0,0,3,3,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,3,3,0,5,5,5,5,0,0,0,5,5,5,5,7,3,3,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,5,0,5,5,0,0,5,0,0,0,5,0,0,5,5,5,5,5,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,5,5,5,0,0,0,5,0,0,0,5,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,5,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,5,5,5,0,0,0,0,0,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
REM 'VSGE Proof of Concept.DEFINT A-ZSCREEN _NEWIMAGE(640, 480, 32) 'what the user will seeTiles1& = _LOADIMAGE("RogueCraftExp1.bmp", 32) 'hidden window of our tiles 8 tiles@(16 x 16)DIM Map%(40, 30)GOSUB LoadMapGOSUB ShowMapDO _LIMIT 30LOOP UNTIL _KEYDOWN(27)SLEEPSYSTEM'--------------------- gosubs -------------------------------LoadMap:FOR down = 0 TO 29 'col 29 FOR across = 0 TO 39 'row 39 READ z Map%(across, down) = z 'row,col NEXT acrossNEXT downRETURNShowMap:FOR down = 0 TO 29 FOR across = 0 TO 39 SELECT CASE Map%(across, down) 'CASE 0 '_PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (0, 0)-(15, 15) '///NOTE: I remarked this line out because I did not want the greenish background CASE 1 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (16, 0)-(31, 15) CASE 2 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (32, 0)-(47, 15) CASE 3 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (48, 0)-(63, 15) CASE 4 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (64, 0)-(79, 15) CASE 5 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (80, 0)-(95, 15) CASE 6 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (96, 0)-(111, 15) CASE 7 _PUTIMAGE (across * 16, down * 16)-((across * 16) + 15, (down * 16) + 15), Tiles1&, 0, (112, 0)-(127, 15) END SELECT NEXT acrossNEXT downRETURN'----------------------------------------- MAP 40 x 30 -----------------------------'Tiles are 0,1,2,3,4,5,6,7' *1 *10 *20 *30 *40DATA 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,5,5,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,5,5,0,5,5,5,5,0,5,0,0,0,0,0,0,5,5,0,0,5,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,5,0,5,3,3,0,5,5,5,0,0,0,0,0,5,5,0,0,3,3,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,3,3,0,5,5,5,5,0,0,0,5,5,5,5,0,3,3,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,5,5,0,5,5,0,0,5,0,0,0,5,0,0,5,5,5,5,5,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,5,5,5,0,0,0,5,0,0,0,5,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,5,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,5,5,5,0,0,0,0,0,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,5,5DATA 5,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5DATA 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5