You can now use [ q b ] code [ / q b ] to share QB64PE source code.
You can click the QB64 button in the toolbar to use the bbcode.
We had to use this new bbcode because of the way the highlighter works. However, the colors match the QB64PE wiki export that was created by @RhoSigma
Here is an example:
You can click the QB64 button in the toolbar to use the bbcode.
- CTRL-SHIFT-S to go into Source mode (optional but will maintain all white space!)
- Paste your code
- CTRL-A to select your code
- Click the QB64 button to wrap it in [ q b ][/ q b ]
We had to use this new bbcode because of the way the highlighter works. However, the colors match the QB64PE wiki export that was created by @RhoSigma

Here is an example:
Code: (Select All)
$Debug '$INCLUDE:'../include/QB64_GJ_LIB/_GJ_LIB.BI' '$INCLUDE:'../include/Toolbox64/FileOps.bi' '$INCLUDE:'../include/Toolbox64/ANSIPrint.bi' CONST TRUE = -1, FALSE = NOT TRUE DIM AS STRING BOARD_ANSI, BOARD_ANSI_NO_LABELS, BOARD_ANSI_LEVEL_SECTORS BOARD_ANSI$ = LoadFileFromDisk$("../assets/ansi/board-132x50-no-secrets.ans") BOARD_ANSI_LEVEL_SECTORS$ = LoadFileFromDisk$("../assets/ansi/board-132x50-no-secrets.ans") DIM SHARED AS _UNSIGNED LONG YELLOW, BLACK, BROWN, BRIGHT_BLUE YELLOW~& = _RGB32(&HFF, &HFF, &H55) BLACK~& = _RGB32(&H00, &H00, &H00) BROWN~& = _RGB32(&HAA, &H55, &H00) BRIGHT_BLUE~& = _RGB32(&H55, &H55, &HFF) DIM SHARED AS LONG CANVAS, CANVAS_COPY, LEVEL_SECTORS CONST SW = 132 ' SCREEN WIDTH IN CHARACTERS CONST SH = 51 ' SCREEN HEIGHT IN CHARACTERS + 1 MORE TO PREVENT SCOLLING OFF CONST CW = 8 ' WIDTH OF 1 CHARACTER CONST CH = 16 ' HEIGHT OF 1 CHARACTER $RESIZE:ON $RESIZE:STRETCH CANVAS& = _NEWIMAGE(SW * CW, SH * CH, 32) CANVAS_COPY& = _NEWIMAGE(SW * CW, SH * CH, 32) LEVEL_SECTORS& = _NEWIMAGE(SW * CW, SH * CH, 32) _FONT CH _FULLSCREEN _SQUAREPIXELS, _SMOOTH ' clear canvas SCREEN CANVAS& _DEST CANVAS& _SOURCE CANVAS& CLS , BLACK~& PrintANSI(BOARD_ANSI$) ' copy canvas to the copy _DEST CANVAS_COPY& CLS , BLACK~& PrintANSI(BOARD_ANSI$) _DEST CANVAS& ' load level sectors _DEST LEVEL_SECTORS& CLS , BLACK~& PrintANSI(BOARD_ANSI_LEVEL_SECTORS$) _DEST CANVAS& TYPE SECTOR start_x AS INTEGER start_y AS INTEGER end_x AS INTEGER end_y AS INTEGER w AS INTEGER h AS INTEGER kolor AS _UNSIGNED LONG label AS STRING END TYPE DIM SHARED SECTORS(1 TO 9) AS SECTOR TYPE CURSOR x AS INTEGER y AS INTEGER prev_x AS INTEGER prev_y AS INTEGER cursor_color AS _UNSIGNED LONG in_sector AS INTEGER in_room AS INTEGER on_path AS INTEGER on_door AS INTEGER on_secret_door AS INTEGER END TYPE DIM SHARED c AS CURSOR ' setup CURSOR c.x% = 59*CW c.y% = 24*CH c.cursor_color~& = _RGB32(&HFF, &H00, &H00, &HAA) c.prev_x% = c.x% c.prev_y% = c.y% ' setup SECTORS ' LEVEL 1 SECTORS(1).kolor~& = _RGB32(&H55, &HFF, &H55) ' BRIGHT GREEN SECTORS(1).label$ = "LEVEL 1 - MAIN GALLERY" SECTORS(1).start_x% = 41 SECTORS(1).start_y% = 17 SECTORS(1).end_x% = 79 SECTORS(1).end_y% = 32 SECTORS(1).w% = SECTORS(1).end_x% - SECTORS(1).start_x% SECTORS(1).h% = SECTORS(1).end_y% - SECTORS(1).start_y% ' LEVEL 2 SECTORS(2).kolor~& = _RGB32(&H00, &HAA, &H00) ' DARK GREEN SECTORS(2).label$ = "LEVEL 2 - GUARD ROOM + KITCHEN" SECTORS(2).start_x% = 1 SECTORS(2).start_y% = 17 SECTORS(2).end_x% = 40 SECTORS(2).end_y% = 33 SECTORS(2).w% = SECTORS(2).end_x% - SECTORS(2).start_x% SECTORS(2).h% = SECTORS(2).end_y% - SECTORS(2).start_y% ' LEVEL 3 SECTORS(3).kolor~& = _RGB32(&HAA, &H00, &H00) ' DARK RED SECTORS(3).label$ = "LEVEL 3 - ARMORY" SECTORS(3).start_x% = 1 SECTORS(3).start_y% = 1 SECTORS(3).end_x% = 34 SECTORS(3).end_y% = 16 SECTORS(3).w% = SECTORS(3).end_x% - SECTORS(3).start_x% SECTORS(3).h% = SECTORS(3).end_y% - SECTORS(3).start_y% ' LEVEL 4 SECTORS(4).kolor~& = _RGB32(&HFF, &H55, &H55) ' BRIGHT RED SECTORS(4).label$ = "LEVEL 4 - STORE ROOM" SECTORS(4).start_x% = 1 SECTORS(4).start_y% = 34 SECTORS(4).end_x% = 40 SECTORS(4).end_y% = 50 SECTORS(4).w% = SECTORS(4).end_x% - SECTORS(4).start_x% SECTORS(4).h% = SECTORS(4).end_y% - SECTORS(4).start_y% ' LEVEL 5 SECTORS(5).kolor~& = _RGB32(&HFF, &H55, &HFF) ' BRIGHT PURPLE SECTORS(5).label$ = "LEVEL 5 - TORTURE CHAMBER" SECTORS(5).start_x% = 41 SECTORS(5).start_y% = 33 SECTORS(5).end_x% = 80 SECTORS(5).end_y% = 50 SECTORS(5).w% = SECTORS(5).end_x% - SECTORS(5).start_x% SECTORS(5).h% = SECTORS(5).end_y% - SECTORS(5).start_y% ' LEVEL 6 SECTORS(6).kolor~& = _RGB32(&H00, &HAA, &HAA) ' DARK CYAN SECTORS(6).label$ = "LEVEL 6 - KING'S QUARTERS" SECTORS(6).start_x% = 80 SECTORS(6).start_y% = 17 SECTORS(6).end_x% = 117 SECTORS(6).end_y% = 32 SECTORS(6).w% = SECTORS(6).end_x% - SECTORS(6).start_x% SECTORS(6).h% = SECTORS(6).end_y% - SECTORS(6).start_y% ' LEVEL 7 SECTORS(7).kolor~& = _RGB32(&H55, &HFF, &HFF) ' BRIGHT CYAN SECTORS(7).label$ = "LEVEL 7 - WIZ'S QUARTERS" SECTORS(7).start_x% = 79 SECTORS(7).start_y% = 1 SECTORS(7).end_x% = 117 SECTORS(7).end_y% = 16 SECTORS(7).w% = SECTORS(7).end_x% - SECTORS(7).start_x% SECTORS(7).h% = SECTORS(7).end_y% - SECTORS(7).start_y% ' LEVEL 8 SECTORS(8).kolor~& = _RGB32(&H55, &H55, &H55) ' BRIGHT BLACK SECTORS(8).label$ = "LEVEL 8 - QUEEN'S QUARTERS" SECTORS(8).start_x% = 81 SECTORS(8).start_y% = 33 SECTORS(8).end_x% = 117 SECTORS(8).end_y% = 50 SECTORS(8).w% = SECTORS(8).end_x% - SECTORS(8).start_x% SECTORS(8).h% = SECTORS(8).end_y% - SECTORS(8).start_y% ' LEVEL 9 SECTORS(9).kolor~& = _RGB32(&HAA, &H00, &HAA) ' DARK PURPLE SECTORS(9).label$ = "LEVEL 9 - THE CRYPT" SECTORS(9).start_x% = 35 SECTORS(9).start_y% = 1 SECTORS(9).end_x% = 78 SECTORS(9).end_y% = 16 SECTORS(9).w% = SECTORS(9).end_x% - SECTORS(9).start_x% SECTORS(9).h% = SECTORS(9).end_y% - SECTORS(9).start_y% ' render initial labels for board render_room_labels ' draw CURSOR one time to start CURSOR.draw ' loop waiting for input to move CURSOR DIM k AS STRING DIM p AS INTEGER DIM cur_sector AS INTEGER DO: _LIMIT 30 k$ = UCASE$(INKEY$) IF k$ = "" THEN k$ = CHR$(0) p% = INSTR("WASD", k$) IF p% <> 0 THEN CURSOR.move k$ END IF CURSOR.update_state _DISPLAY LOOP UNTIL k$=CHR$(27) _FULLSCREEN _OFF SCREEN 0 : _DEST 0 _DELAY 1 _FREEIMAGE CANVAS& _FREEIMAGE CANVAS_COPY& _FREEIMAGE LEVEL_SECTORS& SYSTEM SUB CURSOR.move (k AS STRING) c.prev_x% = c.x% c.prev_y% = c.y% IF k$ = "A" THEN c.x% = c.x% - CW IF k$ = "D" THEN c.x% = c.x% + CW IF k$ = "W" THEN c.y% = c.y% - CH IF k$ = "S" THEN c.y% = c.y% + CH CURSOR.keep_in_bounds IF CURSOR.can_move = TRUE THEN CURSOR.erase CURSOR.draw SOUND 350, 0.1 ELSE c.x% = c.prev_x% c.y% = c.prev_y% SOUND 200, 0.1 END IF END SUB SUB CURSOR.keep_in_bounds IF c.x% + CW > SW * CW THEN c.x% = SW-CW IF c.y% + CH > SH * CH THEN c.y% = SH-CH IF c.x% - CW < 0 THEN c.x% = 0 IF c.y% - CH < 0 THEN c.y% = 0 IF c.x% > SW * CW THEN c.x% = SW-CW IF c.y% > SH * CH THEN c.y% = SH-CH IF c.x% < 0 THEN c.x% = 0 IF c.y% < 0 THEN c.y% = 0 END SUB SUB CURSOR.update_state DIM AS LONG img_box DIM cur_sector AS INTEGER DIM in_sector AS SECTOR DIM state AS STRING state$ = "" img_box& = _NEWIMAGE(CW, CH, 32) _PUTIMAGE (0, 0)-(CW, CH), CANVAS_COPY&, img_box&, (c.x%, c.y%)-(c.x%+CW, c.y%+CH) c.on_path% = is_path(img_box&) c.in_room% = in_room(img_box&) c.on_door% = is_door(img_box&) c.on_secret_door% = is_secret_door(img_box&) COLOR _RGB32(&HFF, &HFF, &HFF), _RGB32(&H00, &H00, &H00) cur_sector% = SECTOR.get_by_xy(c.x%, c.y%) in_sector = SECTORS(cur_sector%) _PRINTSTRING(0, 50 * CH), "SECTOR(" + _TRIM$(STR$(cur_sector%)) + "): " + in_sector.label$ ' show state IF c.on_path% = TRUE THEN state$ = state$ + " ON PATH" IF c.in_room% = TRUE THEN state$ = state$ + " IN ROOM" IF c.on_door% = TRUE THEN state$ = state$ + " ON DOOR" IF c.on_secret_door% = TRUE THEN state$ = state$ + " ON SECRET DOOR" _PRINTSTRING(80 * CW, 50 * CH), " " _PRINTSTRING(80 * CW, 50 * CH), state$ _FREEIMAGE img_box& END SUB FUNCTION CURSOR.can_move% DIM AS LONG img_box DIM AS INTEGER __on_path, __in_room, __on_door, __on_secret_door img_box& = _NEWIMAGE(CW, CH, 32) _PUTIMAGE (0, 0)-(CW, CH), CANVAS_COPY&, img_box&, (c.x%, c.y%)-(c.x%+CW, c.y%+CH) __on_path% = is_path(img_box&) __in_room% = in_room(img_box&) __on_door% = is_door(img_box&) __on_secret_door% = is_secret_door(img_box&) _FREEIMAGE img_box& CURSOR.can_move = __on_path% OR __in_room% OR __on_door% OR __on_secret_door% END FUNCTION SUB CURSOR.erase _SOURCE CANVAS_COPY& _DEST CANVAS& _PUTIMAGE _SOURCE CANVAS& render_room_labels END SUB SUB CURSOR.draw LINE (c.x%, c.y%)-(c.x%+CW-1, c.y%+CH-1), c.cursor_color~&, BF END SUB FUNCTION image_is_monochromatic% (img AS LONG, kolor AS _UNSIGNED LONG) DIM AS INTEGER x, y, has_kolor DIM AS _UNSIGNED LONG check_color DIM AS LONG old_source old_source& = _SOURCE _SOURCE img& FOR y% = 0 TO _HEIGHT(img&) - 1 FOR x% = 0 TO _WIDTH(img&) - 1 check_color~& = POINT(x%, y%) IF (check_color~& <> kolor~&) THEN _SOURCE old_source& image_is_monochromatic = FALSE EXIT FUNCTION ELSE IF check_color~& = kolor~& THEN has_kolor% = TRUE END IF NEXT x% NEXT y% _SOURCE old_source& image_is_monochromatic = has_kolor% END FUNCTION FUNCTION image_is_diachromatic% (img AS LONG, kolor1 AS _UNSIGNED LONG, kolor2 AS _UNSIGNED LONG) DIM AS INTEGER x, y, has_kolor1, has_kolor2 DIM AS _UNSIGNED LONG check_color DIM AS LONG old_source old_source& = _SOURCE _SOURCE img& FOR y% = 0 TO _HEIGHT(img&) - 1 FOR x% = 0 TO _WIDTH(img&) - 1 check_color~& = POINT(x%, y%) IF (check_color~& <> kolor1~&) AND (check_color~& <> kolor2~&) THEN _SOURCE old_source& image_is_diachromatic = FALSE EXIT FUNCTION ELSE IF check_color~& = kolor1~& THEN has_kolor1% = TRUE IF check_color~& = kolor2~& THEN has_kolor2% = TRUE END IF NEXT x% NEXT y% _SOURCE old_source& image_is_diachromatic = has_kolor1% AND has_kolor2% END FUNCTION FUNCTION is_path% (img AS LONG) c.on_path% = image_is_monochromatic(img&, YELLOW~&) is_path = c.on_path% END FUNCTION FUNCTION in_room% (img AS LONG) DIM sector_color AS _UNSIGNED LONG DIM sector AS INTEGER sector% = SECTOR.get_by_xy(c.x%, c.y%) sector_color~& = SECTORS(sector%).kolor~& c.in_room% = ( _ image_is_diachromatic(img&, sector_color~&, BROWN~&) _ OR image_is_diachromatic(img&, sector_color~&, BRIGHT_BLUE~&) _ OR image_is_monochromatic(img&, sector_color~&) _ ) in_room = c.in_room% END FUNCTION FUNCTION is_door% (img AS LONG) DIM AS INTEGER is_door_on_path, is_door_in_room, is_door_fullblock, sector DIM sector_color AS _UNSIGNED LONG sector% = SECTOR.get_by_xy(c.x%, c.y%) sector_color~& = SECTORS(sector%).kolor~& is_door_on_path% = image_is_diachromatic(img&, YELLOW~&, BROWN~&) is_door_in_room% = image_is_diachromatic(img&, sector_color~&, BROWN~&) is_door_fullblock% = image_is_monochromatic(img&, BROWN~&) c.on_door% = is_door_on_path% OR is_door_in_room% OR is_door_fullblock% is_door = c.on_door% END FUNCTION FUNCTION is_secret_door% (img AS LONG) DIM AS INTEGER is_secret_door_on_path, is_secret_door_in_room, is_secret_door_fullblock, sector DIM sector_color AS _UNSIGNED LONG sector% = SECTOR.get_by_xy(c.x%, c.y%) sector_color~& = SECTORS(sector%).kolor~& is_secret_door_on_path% = image_is_diachromatic(img&, YELLOW~&, BRIGHT_BLUE~&) is_secret_door_in_room% = image_is_diachromatic(img&, sector_color~&, BRIGHT_BLUE~&) is_secret_door_fullblock% = image_is_monochromatic(img&, BRIGHT_BLUE~&) c.on_secret_door% = is_secret_door_on_path% OR is_secret_door_in_room% OR is_secret_door_fullblock% is_secret_door = c.on_secret_door% END FUNCTION SUB render_room_labels DIM AS _UNSIGNED LONG fg_color_blue, fg_color_red fg_color_blue~& = _RGB32(&H00, &H00, &HAA) fg_color_red~& = _RGB32(&HFF, &H55, &H55) COLOR fg_color_red~&, YELLOW~& _PRINTSTRING(57*CW,23*CH), "START" COLOR fg_color_blue~&, YELLOW~& _PRINTSTRING(57*CW,25*CH), "MAIN" _PRINTSTRING(56*CW,26*CH), "GALLERY" _PRINTSTRING(14*CW,10*CH), "ARMORY" _PRINTSTRING(47*CW,7*CH), "THE" _PRINTSTRING(47*CW,8*CH), "CRYPT" _PRINTSTRING(83*CW,9*CH), "WIZ'S" _PRINTSTRING(84*CW,10*CH), "LAB" _PRINTSTRING(93*CW,7*CH), "WIZ'S" _PRINTSTRING(93*CW,8*CH), "TREASURE" _PRINTSTRING(3*CW,26*CH), "KITCHEN" _PRINTSTRING(18*CW,23*CH), "GUARD" _PRINTSTRING(18*CW,24*CH), "ROOM" _PRINTSTRING(18*CW,41*CH), "STORE" _PRINTSTRING(18*CW,42*CH), "ROOM" _PRINTSTRING(49*CW,39*CH), "TORTURE" _PRINTSTRING(49*CW,40*CH), "CHAMBER" _PRINTSTRING(88*CW,42*CH), "QUEEN'S" _PRINTSTRING(88*CW,43*CH), "ANNEX" _PRINTSTRING(87*CW,34*CH), "QUEEN'S" _PRINTSTRING(87*CW,35*CH), "TREASURE" _PRINTSTRING(90*CW,27*CH), "KING'S" _PRINTSTRING(88*CW,28*CH), "LIBRARY" _PRINTSTRING(104*CW,21*CH), "KING'S" _PRINTSTRING(104*CW,22*CH), "TREASURE" END SUB ' gets sector FUNCTION SECTOR.get_by_xy% (x AS INTEGER, y AS INTEGER) DIM i AS INTEGER DIM s AS SECTOR DIM AS INTEGER sx, ex, sy, ey FOR i% = 1 TO 9 s = SECTORS(i%) sx% = (s.start_x% - 1) * CW ex% = (s.end_x% - 1) * CW sy% = (s.start_y% - 1) * CH ey% = (s.end_y% - 1) * CH IF x% >= sx% AND x% <= ex% AND y% >= sy% AND y% <= ey% THEN SECTOR.get_by_xy% = i% EXIT FUNCTION END IF NEXT i% SECTOR.get_by_xy% = 0 END FUNCTION '$INCLUDE:'../include/QB64_GJ_LIB/_GJ_LIB.BM' '$INCLUDE:'../include/Toolbox64/FileOps.bas' '$INCLUDE:'../include/Toolbox64/ANSIPrint.bas'