def newlevel(level):
    background.blit(backimg, (0,0))
    nums.empty()
    ops.empty()
    doors.empty()
    global player
    count = 0
    try:
        levfile = open(os.path.join("levels", "level%d.txt"%(level)))
        data = [line.strip() for line in levfile]
        Item.setlevel(data, charset)
        for y, row in enumerate(data[:12]):
            for x, cell in enumerate(row):
                if cell != 'w':
                    cell = '.'
                background.blit(images[cell], (32*x+48, 32*y+64))
        for y, row in enumerate(data[:12]):
            for x, cell in enumerate(row):
                if cell == '-' or cell == '*' or cell == '/' or cell == '2' or cell == 's':
                    ops.add(Item.Op((x, y), cell, images[cell]))
                elif cell == 'p':
                    player = Player.Player((x, y), data, images['p'])
                elif cell == 'd':
                    doors.add(Item.Door((x, y), images['d']))
                elif cell == '#':
                    nums.add(Item.Num((x, y), int(data[12+count]), images['#']))
                    count += 1
        return 1
    except IOError:
        return 0
Example #2
0
def newlevel(level):
    background.blit(backimg, (0, 0))
    nums.empty()
    ops.empty()
    doors.empty()
    global player
    count = 0
    try:
        levfile = open(os.path.join("levels", "level%d.txt" % (level)))
        data = [line.strip() for line in levfile]
        Item.setlevel(data, charset)
        for y, row in enumerate(data[:12]):
            for x, cell in enumerate(row):
                if cell != 'w':
                    cell = '.'
                background.blit(images[cell], (32 * x + 48, 32 * y + 64))
        for y, row in enumerate(data[:12]):
            for x, cell in enumerate(row):
                if cell == '-' or cell == '*' or cell == '/' or cell == '2' or cell == 's':
                    ops.add(Item.Op((x, y), cell, images[cell]))
                elif cell == 'p':
                    player = Player.Player((x, y), data, images['p'])
                elif cell == 'd':
                    doors.add(Item.Door((x, y), images['d']))
                elif cell == '#':
                    nums.add(
                        Item.Num((x, y), int(data[12 + count]), images['#']))
                    count += 1
        return 1
    except IOError:
        return 0