Skip to content

Instantly share code, notes, and snippets.

@mynameisfiber
Created March 12, 2012 23:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mynameisfiber/2025404 to your computer and use it in GitHub Desktop.
Save mynameisfiber/2025404 to your computer and use it in GitHub Desktop.
import re
def check_winner(board,row=4):
try:
return re.search(r"([^.|])(\1{%d}|%s)"%(row-1,"|".join(r"(.{%d}\1){%d}"%(len(a[0])+d,row-1) for d in range(-1,2))), "|".join("".join(x) for x in a)).group()[0]
except:
return "No one"
if __name__ == "__main__":
a = [
[".", ".", ".", ".", ".", ".", "."],
[".", ".", ".", ".", ".", ".", "."],
[".", ".", "O", ".", ".", ".", "."],
[".", ".", "X", "O", "X", "X", "."],
[".", ".", "X", "X", "O", "O", "X"],
[".", ".", "O", "X", "X", "O", "X"]
]
print "%s wins." % check_winner(a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment