The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

kezboard - a SDL game where cards are used to move around a board

SYNOPSIS

  kezboard [--delay=0.5] [--level=1] [--no-mulligan] [--seed=20240112]

DESCRIPTION

kezboard is a SDL game. The player's icon can be moved by playing cards such as "turn left" or "move forward" from the left column. Use the mouse or number keys to select cards to play in a particular order. "Escape" or c or u will remove any played cards if you change your mind. Click the "okay" button or hit the "return" key to submit the cards (once three cards have been played), and then see how your ship moves. The goal is to move to the goal cell, which hopefully should be obvious. Subsequent levels add obstacles of various sorts that probably should be avoided.

M or the mulligan button will take a mulligan, in the event you get a bad hand and want a new one. Only one of these may be taken per game, and it adds one to your score.

Q will quit the game from the level map, if your window manager omits drawing any sort of close button on a window.

"Move forward" actually adds +1 to the inertia counter in the direction your ship is currently heading; inertia is retained unless removed by moving in the opposite direction, or by running into a bomb or something like that.

Motion is done X inertia first, then Y, repeating until all the inertia counters reach 0.

You can also click on object in the grid to see details on them such as their position and more importantly inertia. +X is to the right, and +Y is towards the top of the window. The mental practice of visualizing moves was a large motivation for this game.

Options include:

--delay

Delay in seconds for the "animations", 0.5 by default.

--level

Starting game level, default 1.

--no-mulligan

Disable the ability to take a mulligan.

--seed

Custom seed for Perl's rand() RNG. The actual numbers generated may depend on the operating system or specific version of Perl.

EXIT STATUS

kezboard exits 0 on game victory, and >0 if an error occurs.

SEE ALSO

RoboRally

AUTHORS

Jeremy Mates