X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/bc82153494759a00aa278b2039e240ca673957c6..5c6226f7284e7b0ce87825f4a90d083d03f94388:/nethack.plp diff --git a/nethack.plp b/nethack.plp index 0a5a4be..3115e28 100644 --- a/nethack.plp +++ b/nethack.plp @@ -1,77 +1,21 @@ -<: -use utf8; -use strict; -use warnings; -no warnings 'qw'; # you know what you doing -no warnings 'uninitialized'; # save some useless checks for more legible code - -our $VERSION = '1.0'; - -our $ascii = 0; -if (exists $get{ascii}) { - $ascii = $get{ascii} ne '0'; # manual override -} elsif (defined $ENV{HTTP_ACCEPT_CHARSET}) { - $ascii = 1; - for (split q{,}, $ENV{HTTP_ACCEPT_CHARSET}) { - $ascii = 0, last if $_ eq '*' or m{utf-?8}i; - } -} - -my $charset = $ascii ? 'us-ascii' : 'utf-8'; -my $ctype = "text/html; charset=$charset"; -$header{content_type} = $ctype; +<(common.inc.plp)><: + +Html({ + title => 'nethack cheat sheet', + version => 'v1.1', + description => [ + "Keyboard overview sheet for the Nethack console RPG game,", + "describing the default controls.", + ], + keywords => [qw' + nethack rogue game control controls sheet reference overview keyboard + '], + charset => $sign{charset}, + stylesheet => [qw'light dark circus mono red terse'], + keys => 1, +}); -:> - - - -nethack cheat sheet - - - -<: - my %styles = map {$_ => $_} qw(dark circus mono red terse); - our $style = exists $get{style} && $styles{$get{style}} || 'light'; - printf(qq{\n}, - $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "$_.css", $_ - ) for keys %styles; - - our $showkeys = exists $get{keys} && $get{keys} ne '0'; - print "\n" unless $showkeys; - print "\n" - if $showkeys and $get{keys} eq 'ghost'; :> - - - - -

NetHack cheat sheet

normal gameplay

@@ -80,31 +24,18 @@ function setmode(classname) {
  • <: -our %sign = ( - arg => $ascii ? '.' : '·', # described as 'dot' - argi => $ascii ? ':' : ':', - motion => $ascii ? '|' : '↕', - alias => $ascii ? 'see: ' : '»', - up => $ascii ? 'up' : '▲', - right => $ascii ? 'right' : '▶', - down => $ascii ? 'down' : '▼', - left => $ascii ? 'left' : '◀', - sep => $ascii ? '*' : '•', - _ => exists $get{ascii} && !$ascii ? "\x{200b}" : '', - # use the correct ZWNJ only when unicode is forced on - # default to use unofficial html for best support -); - -use Shiar_Sheet::Keyboard; -my $keys = Shiar_Sheet::Keyboard->new({do 'nethack.inc.pl'}); +use Shiar_Sheet::Keyboard 2; +my $info = do 'nethack.eng.inc.pl' or die $@; +$info->{def} = do 'nethack.inc.pl'; +my $keys = Shiar_Sheet::Keyboard->new($info); $keys->map($get{map}) or undef $get{map}; -$keys->print_rows($get{static}); +$keys->print_rows($get{rows} || '4321-421', [3,2,1,0]); :> @@ -113,8 +44,6 @@ $keys->print_rows($get{static});
    -
    -
    direction
    Direction to move to or target a command (<:= $sign{motion} :>).
    move @@ -127,8 +56,6 @@ $keys->print_rows($get{static});
    Display invertory menu.
    menu
    Enters some other menu. -
    -
    @@ -136,18 +63,18 @@ $keys->print_rows($get{static});
    key<:= $sign{arg} :>
    Commands with a dot need at least one argument afterwards. -
    key<:= $sign{motion} :> -
    Requires a direction afterwards.
    key<:= $sign{argi} :>
    Asks for an inventory item. +
    key<:= $sign{argm} :> +
    Requires a direction afterwards.
    - - -