Ejemplo n.º 1
0
 def __init__(self):
     super(Level3, self).__init__()
     self.recipeTitle = "Avocado Toast"
     self.solutions = self.create_solution_dicts()
     self.next = Level4.Level4
     bread_slice_str, avocado_str, olive_oil_str = 'Bread Slice', 'Avocado', 'Olive Oil'
     toast_str, slice_str, spread_str, salt_str, pepper_str = 'Toast', 'Slice', 'Spread', 'Salt', 'Pepper'
     toast = Block.FBlock(
         toast_str, (settings.WINDOWWIDTH / 24, settings.WINDOWHEIGHT / 16),
         True, 'images/toast.png')
     slice = Block.FBlock(
         slice_str,
         (settings.WINDOWWIDTH / 24, 2 * settings.WINDOWHEIGHT / 16), True,
         'images/slice.png')
     spread = Block.FBlock(
         spread_str,
         (settings.WINDOWWIDTH / 24, 3 * settings.WINDOWHEIGHT / 16), True,
         'images/spread.png')
     salt = Block.FBlock(
         salt_str,
         (settings.WINDOWWIDTH / 24, 4 * settings.WINDOWHEIGHT / 16), True,
         'images/salt.png')
     pepper = Block.FBlock(
         pepper_str,
         (settings.WINDOWWIDTH / 24, 5 * settings.WINDOWHEIGHT / 16), True,
         'images/pepper.png')
     breadSlice = Block.IBlock(
         bread_slice_str,
         (settings.WINDOWWIDTH / 24, 9 * settings.WINDOWHEIGHT / 16), True,
         'images/breadslice.png')
     avocado = Block.IBlock(
         avocado_str,
         (settings.WINDOWWIDTH / 24, 10 * settings.WINDOWHEIGHT / 16), True,
         'images/avocado.png')
     oliveoil = Block.IBlock(
         olive_oil_str,
         (settings.WINDOWWIDTH / 24, 11 * settings.WINDOWHEIGHT / 16), True,
         'images/oliveoil.png')
     self.functions, self.ingredients = [
         toast, slice, spread, salt, pepper
     ], [breadSlice, avocado, oliveoil]
Ejemplo n.º 2
0
 def __init__(self):
     super(Level1, self).__init__()
     self.recipeTitle = "Toast"
     self.solutions = self.create_solution_dicts()
     self.next = Level2.Level2
     bread_slice_str = 'Bread Slice'
     toast_str = 'Toast'
     toast = Block.FBlock(
         toast_str, (settings.WINDOWWIDTH / 24, settings.WINDOWHEIGHT / 16),
         True, 'images/toast.png')
     breadSlice = Block.IBlock(
         bread_slice_str,
         (settings.WINDOWWIDTH / 24, 9 * settings.WINDOWHEIGHT / 16), True,
         'images/breadslice.png')
     self.functions, self.ingredients = [toast], [breadSlice]
Ejemplo n.º 3
0
 def handleMouseDown(self, mousePoint, block):
     if block.collide(mousePoint):
         if block.bank:
             # create new instance of function with bank=false
             if block.type == "function":
                 new_block = Block.FBlock(block.text,
                                          block.blockRect.center, False,
                                          block.path)
                 self.functions.append(new_block)
             elif block.type == "ingredient":
                 new_block = Block.IBlock(block.text,
                                          block.blockRect.center, False,
                                          block.path)
                 self.ingredients.append(new_block)
             new_block.setPos(mousePoint)
             new_block.drag = True
         else:  # Need to deal with non-snapped and snapped fcn blocks
             if block.snapped:
                 line_number = block.getLine(block.blockRect.centery)[1]
                 # Loop through board list finding curr block clicked
                 for i in range(
                         len(settings.BOARD[line_number]) - 1, -1, -1):
                     curr = settings.BOARD[line_number][i]
                     if curr == block:
                         curr.setPos(mousePoint)
                         curr.drag = True
                         index = i + 1
                         while index <= len(
                                 settings.BOARD[line_number]) - 1:
                             settings.BOARD[line_number][index].trailBlock(
                                 settings.BOARD[line_number][index - 1])
                             index += 1
                         break
                 for j in range(i, len(settings.BOARD[line_number])
                                ):  # Loop from found block index until end
                     settings.BOARD[line_number][i].snapped = False
                     self.draglist.append(
                         settings.BOARD[line_number].pop(i))
             else:
                 block.setPos(mousePoint)
                 block.drag = True
                 self.draglist.append(block)
     elif self.cook.button_pressed(mousePoint):
         return self.check_win()
     return False