X-Git-Url: http://pileus.org/git/?p=~andy%2Frhawk;a=blobdiff_plain;f=test.awk;h=7cdc96b5bc596f26bde40e077facf27e8cf578f8;hp=821062678418c814c00c2ac4fdd461eb0b4311ab;hb=HEAD;hpb=467f232316285956b997d446ca458a9d2eb38c07 diff --git a/test.awk b/test.awk index 8210626..7cdc96b 100644 --- a/test.awk +++ b/test.awk @@ -1,7 +1,12 @@ # Functions function say(who, msg) { - print ":" who "! PRIVMSG #rhtest :" msg + print ":" who"!u@h PRIVMSG #rhtest :" msg +} + +function auth(user, nick) +{ + print ":" nick "!u@c ACCOUNT " user } function error(msg) @@ -14,20 +19,25 @@ function debug(msg) print msg > "/dev/stderr" } -function command(who, cmd) +function command(who, cmd, i) { arg=cmd - gsub(/\<[nbp]|[+-]/, "", arg) + gsub(/\<[nbpYNS]|[+-]/, "", arg) if (cmd ~ /^\./) 0 # nop else if (cmd ~ /^n/) say(who, ".newgame " arg) else if (cmd ~ /^e/) say(who, ".endgame ") else if (cmd ~ /^j/) say(who, ".join") + else if (cmd ~ /^Y/) say(who, ".allow " arg) + else if (cmd ~ /^N/) say(who, ".deny " arg) + else if (cmd ~ /^S/) say(who, ".show ") + else if (cmd ~ /^o/) say("andy753421", ".order " who " " i) else if (cmd ~ /^d/) say("andy753421", ".deal " who " " hand[who]) else if (cmd ~ /^l/) say(who, ".look") else if (cmd ~ /^b/) say(who, ".bid " arg) else if (cmd ~ /^s/) say(who, ".score") else if (cmd ~ /^B/) say(who, ".bids") else if (cmd ~ /^t/) say(who, ".tricks") + else if (cmd ~ /^T/) say(who, ".turn") else if (cmd ~ /^p/) say(who, ".pass " arg) else if (arg ~ /[shdc]$/) say(who, ".play " arg) else error("unknown cmd '" cmd "'") @@ -41,28 +51,39 @@ function reset() } # Rules -BEGIN { reset() } +BEGIN { + auth("andy753421", "andy753421") + reset() +} // { gsub(/#.*/, "") } /^[^ ]+:/ { - gsub(/:/, "") + gsub(/:/, " ") + split($1, parts, "/"); pi = length(players) if (NF-2 > nturns) nturns = NF-1 for (i=2; i<=NF; i++) turns[pi][i-2] = $i - players[pi] = $1 - hand[$1] = $0 - gsub(/^\w*|[nbp-]\w+|\<[nejlbsBtpd]\>|[.+]/, "", hand[$1]) - gsub(/^ */, "", hand[$1]) - print $1 ": " hand[$1] > "/dev/stderr" - say($1, "unicode :(") + who = parts[1] + players[pi] = parts[1] + auths[pi] = parts[2] + hand[who] = $0 + gsub(/^\w*(\/\w*)?|[nbpYN-]\w+|\<[nejadowlbsBtpdS]\>|[.+]/, "", hand[who]) + gsub(/^ *| *$/, "", hand[who]) + gsub(/ */, " ", hand[who]) + print who ": " hand[who] > "/dev/stderr" + say(who, "unicode :(") + say(who, "colors :(") } /^\s*$/ { + for (pi=0; pi