def main(alist): made, rest, name = id_er.main(alist) if name == 'HC': rank = rank_hc(made) elif name == 'P': rank = rank_p(made) elif name == '2P': rank = rank_2p(made) elif name == '3K': rank = rank_3k(made) elif name == 'STR': rank = rank_str(made) elif name == 'FL': rank = rank_fl(made) elif name == 'FH': rank = rank_fh(made) elif name == '4K': rank = rank_4k(made) elif name == 'STRFL': rank = rank_strfl(made) # hack to fix a mistake in id_er: if type(made) != type([1]): made = [made] rest = [x for x in rest if x not in made] # make sure made + rest isn't longer than a poker hand if len(made) + len(rest) > 5: new_rest = [] while len(made) + len(new_rest) < 5: hc = id_er.get_hc(rest) rest.remove(hc) new_rest.append(hc) rest = new_rest return name, rank, made, rest
def rank_strfl(some_made): hc = id_er.get_hc(some_made) if hc[0] == '0x41' and '0x35' in [card[0] for card in some_made]: return straightflushes['0x35'] else: return straightflushes[hc[0]]
def rank_fl(some_made): hc = id_er.get_hc(some_made) return flushes[hc[0]]