どうもkeito94です。
只今スプライトクラスのバグ事件を乗り越え、迷路を作っているところなのですが、
少しわからないことがあったので質問させていただきます。
パックマンには、緊急回避のために左右がつながっているワープトンネルがあります。
ワープ通路であることを表すチップをマップデータに入れるというのはわかっているのですが、
コード:  
    def create(self, screen,blocks):
        transColor = self.image.get_at((0, 0))
        self.image.set_colorkey(transColor, RLEACCEL)
        for y in range(MAP_HEIGHT):
            for x in range(MAP_WIDTH):
                if MAP[y][x] == BLOCK:
                    cell = Block(self.imageList[1], (x * CHIPSIZE, y * CHIPSIZE), screen)
                    blocks.add(cell)
                elif MAP[y][x] == FOOD:
                    screen.blit(self.imageList[2], (x * CHIPSIZE, y * CHIPSIZE))
                elif MAP[y][x] == WARP:
                    # ここにワープの処理を入れる
                    pass
                else:
                    pass
パックマンをワープさせる方法がわかりません。
あと、迷路を表示したときの処理落ちの原因が、メインループでMap.create(元Map.draw)を直接実行していたということがわかったので、
プレイヤーの部分も含め、少し手を加えました。(そりゃあ、マップチップが増えれば増えるほど処理落ちするもんね…。)
コード:  
def Main():
    pygame.init()
    screen = pygame.display.set_mode((640, 480))
    player = pygame.sprite.Group()
    blocks = pygame.sprite.OrderedUpdates()
    pacman = Player()
    maze = Map()
    player.add(pacman)
    clock = pygame.time.Clock()
    # 迷路を生成する。
    maze.create(screen,blocks)
    # メインループ
    while True:
        clock.tick(60)
        screen.fill((0, 0, 0))
        blocks.draw(screen)
        player.update(blocks)
        pacman.draw(screen)
        pygame.display.update()  # 画面を更新
        # イベント処理
        for event in pygame.event.get():
            if event.type == QUIT:  # 閉じるボタンが押されたら終了
                pygame.quit()  # Pygameの終了(画面閉じられる)
                sys.exit()
追記:本来の主題とはかけ離れていったので、タイトルを変えました。