#
# HERE ARE THE RULES FOR HOW I'M GOING TO CONDUCT THE FINALS.
# There is no need to comment on these rules ... rules is rules!
#
# STEP 1: I chose three programs from the pack of those
# that were submitted. I chose an "old" version
# of these programs that the author had since
# re-submitted ... thus, the three seed opponents
# were legitimate entries at one time, but they
# were not actual entries that would compete in
# the finals.
#
# ??????? STEP 2: I made up a gameboard ... and put
# ??????? very little thought behind it.
# ???????
# ??????? STEP 3: For each program that passed system
# ??????? test, I ran a match against each of the three
# ??????? seed programs - for a total of six games.
# ???????
#
# STEP 4: I scored each of the six games as follows:
#
# You get 1000 points for winning when you play X (first)
# You get 1200 points for winning when you play O (second)
# You get 500 points for tieing when you play X
# You get 600 points for tieing when you play O
# For each of the six games, you get the total points you scored
# (NOT the difference in scores!)
#
# STEP 5: I sorted the programs according to the total points
# scored in all six games according to the above.
# The top scoring program is seeded first, the
# next second, and so forth down the line. The
# seedings are used ONLY to determine the position
# within the elimination tournament ... nothing more!
#
# ========================== END STAGE ONE =======================
#
# I now have N programs in an ordered table ... since N may be even
# or odd and will probably be on the order of 100, I proceed as follows:
#
# STEP 1: If N is odd, the highest seeded entry that has not yet
# received a bye will get a bye. This leaves us with
# an even number of entries.
#
# STEP 2: seed 1 plays seed N in a match; seed 2 plays N-1; etc.
# Each match consists of 2 games on the same board,
# with each player getting a chance to go first.
#
# STEP 3: If an entry wins or ties, it advances to the next round in
# that bracket. A loss will drop it to the loser's
# bracket, or will eliminate it if the match took place
# in the loser's bracket.
#
# AND THEN ... after the first set of games, we will have two brackets.
# play in each bracket will proceed as above. For each round,
# seeding will be determined based on the original values. For
# each round, a different starting board will be used. For each
# round, entries that win or tie will remain in the bracket.
# First time losers will drop to the next lower bracket. A loss
# in the losers bracket will eliminate you. I will not award
# more than a single bye to any one entry, and I will try to
# avoid having two programs play "repeat" matches against each other.
#
# EVENTUALLY, after some number of rounds, there will be only 2K entries
# left in the winners bracket. These will advance to the playoffs.
# I will then continue the loser's bracket until there are roughly
# K entries remaining. These will also advance to the playoffs.
#
# ========================== END STAGE TWO =======================
#
# I now have 3K entries left ... more or less. I will use my judgement
# on the value of K, but there will be no fewer than 4 and no more
# than 8 entries remaining at this point.
#
# EVERYONE WILL PLAY EVERYONE ELSE IN THE FINAL ROUND. A SINGLE BOARD
# WILL BE USED FOR ALL THESE GAMES.
#
# Scoring of these games will follow the rules for the first stage.
# (Bonuses for wins and ties + the total points scored over all games.)
#
# The scores over all games played will be summed and the winner will
# be the entry with the highest number of points. I'm willing to bet
# anyone a buck that there won't be a tie to resolve after all this!
# (But if there is, I'll think of something clever of course)