Exemple #1
0
 def tomodel(self):
   b = BoardEditor()
   for key in Board.defaults.keys():
     item = getattr(self, key)
     if key == 'position':
       if self.on_action == constants.YOU:
         setattr(b, key, decode_position(item))
       elif self.on_action == constants.HIM:
         p = decode_position(item)
         setattr(b, key, (p[1], p[0]))
       else:
         assert False
     else:
       setattr(b, key, item)
   return b.freeze()
Exemple #2
0
class Trial:
  def __init__(self, position):
    self.board = BoardEditor(position)
    self.result = Result(0, 0)

  def run(self):
    self.board.rolled = random.randint(1, 6), random.randint(1, 6)
    self.result.inc_roll()
    mf = MoveFactory(self.board)
    if mf.is_leagal_to_pickup_dice():
      if self.board.is_doubles():
        self.result.add_timing(self.board.rolled[0] * 4)
      else:
        self.result.add_timing(self.board.rolled[0] + self.board.rolled[1])
      return True
    #print mf

    pid, mid = "2LYBAAAAAAAAAA:cAkgAAAAAAAA".split(':')
    decode(self.board, pid, mid)
    self.board.position = b.position[0], CLEAN
    return False

  def get_position(self):
    return HashableBoard.freeze(self.board)
Exemple #3
0
 def __init__(self, position):
   self.board = BoardEditor(position)
   self.result = Result(0, 0)
Exemple #4
0
def make_finalStatePosition(gnubgid):
  pid, mid = gnubgid.split(':')
  b = BoardEditor()
  decode(b, pid, mid)
  b.position = b.position[0], CLEAN
  return HashableBoard.freeze(b)