X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=spades.awk;h=61b967cae98313b70f51051ab89f81de5c922663;hb=a054ded3a7624a97824718f70e7468af4b042a59;hp=ae662ca217b6752d13b47c2391afd99a328a6845;hpb=91fcb65aa70760aa2f4cfe902a2c85610ba3cd30;p=~andy%2Frhawk diff --git a/spades.awk b/spades.awk index ae662ca..61b967c 100644 --- a/spades.awk +++ b/spades.awk @@ -17,7 +17,7 @@ function sp_init(cards, tmp0, tmp1) function sp_reset(type) { # Per message - if (type >= 0) { + if (type < 0) { sp_from = "" # The speakers player name sp_valid = "" # It is the speaker turn } @@ -136,9 +136,11 @@ function sp_load(file, game) function sp_pretty(cards, who) { - if (!plain[who]) { + if (!nocolor[who]) { gsub(/[0-9JQKA]*[sc]/, "\0031,00\002&\017", cards) # black gsub(/[0-9JQKA]*[hd]/, "\0034,00\002&\017", cards) # red + } + if (!nounicode[who]) { gsub(/s/, "\002♠", cards) gsub(/h/, "\002♥", cards) gsub(/d/, "\002♦", cards) @@ -229,10 +231,15 @@ function sp_bidders( i, turn, bid, bids) { for (i = 0; i < 4; i++) { turn = (sp_dealer + i) % 4 - if (sp_bids[turn] && !sp_nil[turn]) { + if (sp_bids[turn] && !sp_nil[turn]) bid = sp_order[turn] ":" sp_bids[turn] - bids = bids " " bid - } + else if (sp_nil[turn] == 1) + bid = sp_order[turn] ":" "nil" + else if (sp_nil[turn] == 2) + bid = sp_order[turn] ":" "blind" + else + continue + bids = bids " " bid } gsub(/^ +| +$/, "", bids) return bids @@ -521,7 +528,7 @@ sp_state == "pass" && } } -sp_state ~ "(play|bid)" && +sp_state ~ "(bid|pass|play)" && /^\.look$/ { if (!(sp_from in sp_players)) { say(".slap " FROM ", you are not playing.") @@ -604,6 +611,9 @@ sp_state == "play" && sp_order[2] " " sp_order[3]) } if (sp_state == "bid" || sp_state == "play") { + say("playing to: " \ + sp_playto " points, " \ + sp_limit " bags") say(sp_team(0) ": " \ int(sp_scores[0]) " points, " \ int(sp_bags(0)) " bags")