INTRODUCTION ============ It's Snake. But with a window. You need to get all the dots which are counting down to zero. Every dot makes your window bigger.
FEATURES (and their true meanings) ================================== - A wannabe classic (Snake. Window. Got it?) - The power of a window on C16 and Plus/4 (How to constantly clear and redraw a big object) - Use either joystick port (P=1:DO:P=3-P:LOOP UNTIL JOY(P). There.) - Accommodates to any color schemes (Uses defaults.) - One-minute game (This game is a joke.) - Sound! (One.)
STARTING VIA EMULATOR ===================== Recommended emulator: YAPE: http://yape.homeserver.hu/ How to start the game: 1. File / Attach disk image... 2. Select and open the .d64 image 3. Enter command: DLOAD"*" and press Enter 4. If you wish to LIST the program, see PROGRAM LINES OVERVIEW down below. 5. Enter command: RUN and press Enter 6. In Settings / Input setup..., make sure that at least one joystick is enabled.
GAME INSTRUCTIONS ================= Use a real or virtual joystick in either of the 2 built-in ports. To start the game, press fire on joystick. Using all 8 directions of the stick, move the window onto the dot counting down. If you reach it before the dot counts to 0, your window gets bigger, and a new dot starts counting down from 9 at a random location. You win the game when you get the dot at window size 22. If you can't get to the dot in time, the game ends and restarts. Note that dots are counting down in real time (using the built-in TIME variable), not relating to your moves.
PROGRAM LINES OVERVIEW ====================== 0 init 1 display "bottom bar" message, detect joy port 2 set in-game bottom bar message, volume and end-game messages 3 loop: increase window, display size, check end-size 4 update window, clear "desktop" 5 search for a suitable new place for a new dot, beep 6 display new dot, reset timer, take care of window growth at right/bottom edges 7 loop: update dot, check timeout/win, display end message, restart program 8 joy handling, update coordinates, clear window 9 take care of window position, draw window, check dot's existence
VARIABLES ========= const B bottom screen border (24) B$ window's bottom bar gfx F dot poke address (3072-4070, excl. right screen border) I,J loop variables L window left column (0 - 33-W) L$ window's left bar gfx M win flag (0/1) const M$(0-1) end messages ("FAIL"/"WIN") const O dot power original amount/poke value (185.99) session P used joy port (1/2) R$ window's right bar gfx T window top row (0 - 22-W) T$ window's top bar gfx W window size (1-22) W$ window gfx const X(0-8) joy X directions (-1 - 1) const Y window border pokes base - sort of (2022) const Y(0-8) joy Y directions (-1 - 1) const Z inverted 0 poke value (176) |