INK BROWN CLS COLOR BORDER LIGHT BLUE CONST POSITIVE maxWalls = 3 CONST POSITIVE windowHeight = 3 CONST POSITIVE maxPlayers = 2 basement = LOAD TILES("examples/scrolling_basement.png") TRANSPARENT DIM wall AS TILES(maxWalls) wall(0) = LOAD TILES("examples/scrolling_wall0.png") TRANSPARENT wall(1) = LOAD TILES("examples/scrolling_wall1.png") TRANSPARENT wall(2) = LOAD TILES("examples/scrolling_wall2.png") TRANSPARENT DIM window AS TILES(windowHeight) window(0) = LOAD TILES("examples/scrolling_window0.png") TRANSPARENT window(1) = LOAD TILES("examples/scrolling_window1.png") TRANSPARENT window(2) = LOAD TILES("examples/scrolling_window2.png") TRANSPARENT DIM player AS SPRITE(maxPlayers) player(0) = CSPRITE(LOAD IMAGE("examples/scrolling_player0.png")) player(1) = CSPRITE(LOAD IMAGE("examples/scrolling_player1.png")) arrow = SPRITE(LOAD IMAGE("examples/scrolling_arrow.png")) rowIndex = 0 windowIndex = 0 playerIndex = 0 playerX = ( SCREEN WIDTH - SPRITE WIDTH ) \ #2 arrowX = 0 arrowY = 0 GLOBAL wall GLOBAL window GLOBAL rowIndex GLOBAL windowIndex GLOBAL playerIndex GLOBAL playerX GLOBAL arrowX GLOBAL arrowY SCREEN ROWS 24 SCROLL LEFT SCROLL LEFT SCROLL LEFT SCROLL LEFT DRAW TILES basement ROW 0, 0 TO SCREEN TILES WIDTH - 1 DOUBLE BUFFER ON BEGIN GAMELOOP PROCEDURE refreshRow x = (BYTE) 0 IF rowIndex > 0 THEN DRAW TILES wall(rowIndex) ROW 0, 0 TO rowIndex - 1 ENDIF DRAW TILES wall(rowIndex) ROW 0, rowIndex TO SCREEN TILES WIDTH - 1 IF windowIndex > 4 THEN w = TILES WIDTH(window(windowIndex-5)) x = 4 DRAW TILES window(windowIndex-5) ROW 0, x TO x + w - 1 ADD x, w ** #2 DRAW TILES window(windowIndex-5) ROW 0, x TO x + w - 1 ADD x, w ** #2 DRAW TILES window(windowIndex-5) ROW 0, x TO x + w - 1 ENDIF SPRITE player(playerIndex) AT playerX, SCREEN HEIGHT - SPRITE HEIGHT - TILES HEIGHT(basement) ENABLE SPRITE player(1-playerIndex) DISABLE ADD rowIndex, 1, 0 TO 2 ADD windowIndex, 1, 0 TO 7 ADD playerIndex, 1, 0 TO 1 END PROC ON SCROLL DOWN ROW CALL refreshRow SCROLL DOWN SELECT CASE JOY(0) CASE JOY LEFT IF playerX > 0 THEN DEC playerX ENDIF CASE JOY RIGHT IF playerX < (SCREEN WIDTH - SPRITE WIDTH) THEN INC playerX ENDIF ENDSELECT IF RND(100) > 50 THEN IF arrowY = 0 THEN arrowX = RND(SCREEN WIDTH - SPRITE WIDTH - 1) arrowY = 1 ENDIF ENDIF IF arrowY > 0 THEN ADD arrowY, 3, 0 TO SCREEN HEIGHT + SPRITE HEIGHT SPRITE arrow AT arrowX, arrowY ENABLE ELSE SPRITE arrow DISABLE ENDIF END GAMELOOP
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.atari scrolling_example_04.bas -o example.xex altirra example.xex # Windows ugbc.atari.exe scrolling_example_04.bas -o example.xex altirra example.xex
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.atarixl scrolling_example_04.bas -o example.xex altirra example.xex # Windows ugbc.atarixl.exe scrolling_example_04.bas -o example.xex altirra example.xex
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.c64 scrolling_example_04.bas -o example.prg x64sc example.prg # Windows ugbc.c64.exe scrolling_example_04.bas -o example.prg x64sc example.prg
Per poter eseguire l'esempio, è necessario disporre dell'emulatore YAPE, e in particolare che l'eseguibile yape
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.plus4 scrolling_example_04.bas -o example.prg yape example.prg # Windows ugbc.plus4.exe scrolling_example_04.bas -o example.prg yape example.prg
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile xplus4
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.plus4 scrolling_example_04.bas -o example.prg xplus4 example.prg # Windows ugbc.plus4.exe scrolling_example_04.bas -o example.prg xplus4 example.prg
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.d32 scrolling_example_04.bas -o example.bin xroar -rompath (percorso ROM) example.bin # Windows ugbc.d32.exe scrolling_example_04.bas -o example.bin xroar.exe -rompath (percorso ROM) example.bin
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.d64 scrolling_example_04.bas -o example.bin xroar -rompath (percorso ROM) example.bin # Windows ugbc.d64.exe scrolling_example_04.bas -o example.bin xroar.exe -rompath (percorso ROM) example.bin
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi i seguenti comandi:
# Linux ugbc.pc128op scrolling_example_04.bas -o example.bin dcmoto example.bin (scegliere example.bin) (scegliere BASIC 128) CLEAR,&H2FFF: LOADM"CASS:",R: EXEC # Windows ugbc.pc128op.exe scrolling_example_04.bas -o example.bin dcmoto example.bin (scegliere BASIC 128) CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile x64sc
sia accessibile.
Digitare quindi i seguenti comandi:
# Linux ugbc.mo5 scrolling_example_04.bas -o example.bin dcmoto example.bin (scegliere example.bin) (scegliere BASIC 128) CLEAR,&H2FFF: LOADM"CASS:",R: EXEC # Windows ugbc.mo5.exe scrolling_example_04.bas -o example.bin dcmoto example.bin (scegliere BASIC 128) CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XEMU, e in particolare che l'eseguibile xmega65
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.vic20 scrolling_example_04.bas -o example.prg xvic --memory 24k example.prg # Windows ugbc.vic20.exe scrolling_example_04.bas -o example.prg xvic --memory 24k example.prg
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Speccy, e in particolare che l'eseguibile speccy
sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.zx scrolling_example_04.bas -o example.tap Speccy example.tap # Windows ugbc.zx.exe scrolling_example_04.bas -o example.tap Speccy example.tap
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore openMsx oppure il BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.coleco scrolling_example_04.bas -o example.rom openmsx -machine \"COL - ColecoVision\" -cart example.rom # Windows ugbc.coleco.exe scrolling_example_04.bas -o example.rom bluemsx -machine \"COL - ColecoVision\" example.rom
# Linux ugbc.coleco scrolling_example_04.bas -o example.rom bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom # Windows ugbc.coleco.exe scrolling_example_04.bas -o example.rom bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.sc3000 scrolling_example_04.bas -o example.rom bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom # Windows ugbc.sc3000.exe scrolling_example_04.bas -o example.rom bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.sg1000 scrolling_example_04.bas -o example.rom bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom # Windows ugbc.sg1000.exe scrolling_example_04.bas -o example.rom bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
Se hai trovato un problema nel cercare di eseguire questo esempio, se pensi che ci sia un bug o, più semplicemente, vorresti che fosse migliorato, apri una segnalazione su GitHub per questo specifico esempio. Grazie!