diff --git a/colourgo/game.s b/colourgo/game.s index 348c9bf..be0136b 100644 --- a/colourgo/game.s +++ b/colourgo/game.s @@ -499,8 +499,20 @@ lastButtonState: .BYTE $00 sbc gridXPos bpl @leftIsOnScreen lda #$0 -@leftIsOnScreen: + tax + jmp @skipLeftAdjust +@leftIsOnScreen: + tax + lda gridXShift + beq @skipLeftAdjust + cmp #4 + bcs @skipLeftAdjust + dex + dex + +@skipLeftAdjust: + txa cmp #CHAR_XPOS+1 bcs @noneFound @@ -1486,9 +1498,26 @@ level4: .BYTE 60, 40, 120, 120+GRID_HEIGHT, COL_VIOLET .BYTE 40, $00, $00, $00, $00 +level5: +.BYTE 0, 80, 140, 140+GRID_HEIGHT, COL_VIOLET +.BYTE 60, 80, 120, 120+GRID_HEIGHT, COL_VIOLET +.BYTE 10, 70, 160, 160+GRID_HEIGHT, COL_GREEN +.BYTE 50, 80, 140, 140+GRID_HEIGHT, COL_VIOLET +.BYTE 60, 40, 120, 120+GRID_HEIGHT, COL_VIOLET +.BYTE 40, $00, $00, $00, $00 + +level6: +.BYTE 0, 80, 140, 140+GRID_HEIGHT, COL_VIOLET +.BYTE 100, 20, 120, 120+GRID_HEIGHT, COL_GREEN +.BYTE 40, 20, 100, 100+GRID_HEIGHT, COL_VIOLET +.BYTE 34, 20, 80, 80+GRID_HEIGHT, COL_GREEN +.BYTE 34, 20, 60, 60+GRID_HEIGHT, COL_VIOLET +.BYTE 30, 20, 40, 40+GRID_HEIGHT, COL_GREEN +.BYTE 40, $00, $00, $00, $00 + levelsLo: -.LOBYTES level1, level2, level3, level4, 0 +.LOBYTES level1, level2, level3, level4, level5, level6, 0 levelsHi: -.HIBYTES level1, level2, level3, level4, 0 +.HIBYTES level1, level2, level3, level4, level5, level6, 0 diff --git a/colourgo/main.c b/colourgo/main.c index 3fc4b4b..ff3ac3b 100644 --- a/colourgo/main.c +++ b/colourgo/main.c @@ -6,15 +6,53 @@ // Copyright © 2017 Jeremy Rand. All rights reserved. // +#include #include #include "game.h" #include "machine.h" +void splashScreen(void) +{ + clrscr(); + + printf( +// 0000000000111111111122222222223333333333 +// 0123456789012345678901234567890123456789 + " COLOURGO V1.0\n" // 00 + " BY JEREMY RAND\n" // 01 + "\n" // 02 + "YOU MUST HAVE A COLOUR MONITOR TO PLAY\n" // 03 + "THIS GAME (I SUPPOSE COLOR MONITORS\n" // 04 + "FROM THE US WILL WORK TOO).\n" // 05 + "\n" // 06 + "PRESS Q OR ESCAPE AT ANY TIME TO EXIT\n" // 07 + "THE GAME\n" // 08 + "\n" // 09 + "YOUR PLAYER RUNS TO THE RUN AT ALL TIMES" // 10 + "PRESS THE CLOSED APPLE KEY TO JUMP. YOU" // 11 + "CAN DOUBLE JUMP ALSO. ONCE YOUR PLAYER\n" // 12 + "TOUCHES A FLOOR (EVEN WITH THE HEAD),\n" // 13 + "YOU CAN DOUBLE JUMP AGAIN. CHANGE THE\n" // 14 + "COLOUR OF YOUR PLAYER BY PRESSING ANY\n" // 15 + "KEY (I SUGGEST SPACE).\n" // 16 + "\n" // 17 + "YOUR PLAYER MUST BE THE SAME COLOUR AS\n" // 18 + "ANY FLOOR YOU TOUCH!!!\n" // 19 + "\n" // 20 + "THE SOLID FLOOR IS THE END OF THE LEVEL." // 21 + "\n" // 22 + " PRESS ANY KEY TO BEGIN" // 23 + ); + cgetc(); +} + + int main(void) { initMachine(); + splashScreen(); game(); uninitMachine(); return 0;