pf = Playfield(pf_width, pf_height)
pf.append_parts([
  {'part': Rollover(), 'position': [74.5,360] },
  {'part': Rollover(), 'position': [37.4,320] },
  {'part': Rollover(), 'position': [520.4, 360] },
  {'part': Rollover(), 'position': [560.5, 320] },
  {'part': Rollover(), 'position': [457,1129.5], 'rotation':-120 },
  {'part': Rollover(), 'position': [269,1147.3], 'rotation':105 },
  {'part': Inserts('../../DXF/playfield_inserts.dxf') , 'position': [0,0]}, #TODO: SolidPinball: default [0,0] value for the 'position' keyword
  {'part': Launcher(), 'position': [pf_width - 30, 100] }, # ball launcher
  {'part': BallDrain(), 'position': [303,53.5] }, # ball drain
  {'part': BallHole(), 'position': [340.2,1116.3] }, # hidden entrance
  {'part': BallHole(), 'position': [135,942] }, # million loop
  {'part': BallHole(), 'position': [266,873.5] }, # arcade
  {'part': VerticalUpKicker(), 'position': [39.5,703.5] }, # snack
  {'part': Flipper(angle=-65, rubber_color="red"), 'position': [62.5, 746.5] }, #top left
  {'part': Flipper(angle=-35, rubber_color="red"), 'position':   [197.5, 181.5] }, #bottom left
  {'part': Flipper(angle=180+35, rubber_color="red"), 'position': [402, 181.5] }, #bottom right
  {'part': Slingshot(angle=-71.5), 'position': [300 - 172, 351] }, # left
  {'part': Slingshot(angle=71.5), 'position': [300 + 172, 351] }, # right
  {'part': PopBumper(cap_color="orangered", game="partyland", version=playfield_variant), 'position': [543.0, 670.0] },
  {'part': PopBumper(cap_color="royalblue", game="partyland", version=playfield_variant), 'position': [388.8, 631.7] },
  {'part': PopBumper(cap_color="lightseagreen", game="partyland", version=playfield_variant), 'position': [437.3, 690.0] },
# These could also be a 3 drop-target bank
  {'part': RoundStandupTarget(), 'position': [311-33*cos(-71.5*3.1415/180), 626-33*sin(-71.5*3.1415/180)], 'rotation':-71.5  }, # H
  {'part': RoundStandupTarget(), 'position': [311, 626], 'rotation':-71.5  }, # I
  {'part': RoundStandupTarget(), 'position': [311+33*cos(-71.5*3.1415/180), 626+33*sin(-71.5*3.1415/180)], 'rotation':-71.5  }, # T
  {'part': WideStandupTarget(), 'position': [278, 807], 'rotation':-20 }, # arcade
])

#TODO: SolidPinball: Implement RollUnderSwitch()
Example #2
0
pf.append_parts([
    {
        'part': Rollover(),
        'position': [74.5, 360]
    },
    {
        'part': Rollover(),
        'position': [37.4, 320]
    },
    {
        'part': Rollover(),
        'position': [520.4, 360]
    },
    {
        'part': Rollover(),
        'position': [560.5, 320]
    },
    {
        'part': Rollover(),
        'position': [457, 1129.5],
        'rotation': -120
    },
    {
        'part': Rollover(),
        'position': [269, 1147.3],
        'rotation': 105
    },
    {
        'part': Inserts('../../DXF/playfield_inserts.dxf'),
        'position': [0, 0]
    },  #TODO: SolidPinball: default [0,0] value for the 'position' keyword
    {
        'part': Launcher(),
        'position': [pf_width - 30, 100]
    },  # ball launcher
    {
        'part': BallDrain(),
        'position': [303, 53.5]
    },  # ball drain
    {
        'part': BallHole(),
        'position': [340.2, 1116.3]
    },  # hidden entrance
    {
        'part': BallHole(),
        'position': [135, 942]
    },  # million loop
    {
        'part': BallHole(),
        'position': [266, 873.5]
    },  # arcade
    {
        'part': VerticalUpKicker(),
        'position': [39.5, 703.5]
    },  # snack
    {
        'part': Flipper(angle=-65, rubber_color="red"),
        'position': [62.5, 746.5]
    },  #top left
    {
        'part': Flipper(angle=-35, rubber_color="red"),
        'position': [197.5, 181.5]
    },  #bottom left
    {
        'part': Flipper(angle=180 + 35, rubber_color="red"),
        'position': [402, 181.5]
    },  #bottom right
    {
        'part': Slingshot(angle=-71.5),
        'position': [300 - 172, 351]
    },  # left
    {
        'part': Slingshot(angle=71.5),
        'position': [300 + 172, 351]
    },  # right
    {
        'part':
        PopBumper(cap_color="orangered",
                  game="partyland",
                  version=playfield_variant),
        'position': [543.0, 670.0]
    },
    {
        'part':
        PopBumper(cap_color="royalblue",
                  game="partyland",
                  version=playfield_variant),
        'position': [388.8, 631.7]
    },
    {
        'part':
        PopBumper(cap_color="lightseagreen",
                  game="partyland",
                  version=playfield_variant),
        'position': [437.3, 690.0]
    },
    # These could also be a 3 drop-target bank
    {
        'part':
        RoundStandupTarget(),
        'position': [
            311 - 33 * cos(-71.5 * 3.1415 / 180),
            626 - 33 * sin(-71.5 * 3.1415 / 180)
        ],
        'rotation':
        -71.5
    },  # H
    {
        'part': RoundStandupTarget(),
        'position': [311, 626],
        'rotation': -71.5
    },  # I
    {
        'part':
        RoundStandupTarget(),
        'position': [
            311 + 33 * cos(-71.5 * 3.1415 / 180),
            626 + 33 * sin(-71.5 * 3.1415 / 180)
        ],
        'rotation':
        -71.5
    },  # T
    {
        'part': WideStandupTarget(),
        'position': [278, 807],
        'rotation': -20
    },  # arcade
])