def __init__(self, machine_type): super(ShootALine63, self).__init__(machine_type) pygame.mixer.pre_init(44100,-16,2,512) self.sound = procgame.sound.SoundController(self) self.sound.set_volume(1.0) # NOTE: trough_count only counts the number of switches present in the trough. It does _not_ count # the number of balls present. In this game, there should be 8 balls. self.trough_count = 6 # Subclass my units unique to this game - modifications must be made to set up mixers and steppers unique to the game # NOTE: 'top' positions are indexed using a 0 index, so the top on a 24 position unit is actually 23. self.searchdisc = units.Search("searchdisc", 49) self.searchdisc2 = units.Search("searchdisc2", 49) #Seach relays self.s1 = units.Relay("s1") self.s2 = units.Relay("s2") self.s3 = units.Relay("s3") self.s4 = units.Relay("s4") self.s5 = units.Relay("s5") self.search_index = units.Relay("search_index") #Replay Counter self.card1_replay_counter = units.Stepper("card1_replay_counter", 100) self.card2_replay_counter = units.Stepper("card2_replay_counter", 100) self.card3_replay_counter = units.Stepper("card3_replay_counter", 100) self.card4_replay_counter = units.Stepper("card4_replay_counter", 100) self.card5_replay_counter = units.Stepper("card5_replay_counter", 100) self.card6_replay_counter = units.Stepper("card6_replay_counter", 100) #Initialize stepper units used to keep track of features or timing. self.selector = units.Stepper("selector", 6) self.timer = units.Stepper("timer", 8) self.ball_count = units.Stepper("ball_count", 5) #Check for status of the replay register zero switch. If positive #and machine is just powered on, this will zero out the replays. self.replay_reset = units.Relay("replay_reset") # Now, the control unit can be in one of two positions, essentially. # This alternates by coin, and is used to portion the Spotted Numbers. self.cu = 1 #When engage()d, light 6v circuit, and enable game features, scoring, #etc. Disengage()d means that the machine is 'soft' tilted. self.anti_cheat = units.Relay("anti_cheat") #When engage()d, spin. self.start = units.Relay("start") #Tilt is separate from anti-cheat in that the trip will move the shutter #when the game is tilted with 1st ball in the lane. Also prevents you #from picking back up by killing the anti-cheat. Can be engaged by #tilt bob, slam tilt switches, or timer at 39th step. #Immediately kills motors. self.tilt = units.Relay("tilt") self.replays = 0 self.returned = False
def __init__(self, machine_type): super(Crosswords, self).__init__(machine_type) pygame.mixer.pre_init(44100, -16, 2, 512) self.sound = procgame.sound.SoundController(self) self.sound.set_volume(1.0) # NOTE: trough_count only counts the number of switches present in the trough. It does _not_ count # the number of balls present. In this game, there should be 8 balls. self.trough_count = 6 # Subclass my units unique to this game - modifications must be made to set up mixers and steppers unique to the game # NOTE: 'top' positions are indexed using a 0 index, so the top on a 24 position unit is actually 23. self.searchdisc = units.Search("searchdisc", 49) self.searchdisc2 = units.Search("searchdisc2", 49) #Seach relays self.s1 = units.Relay("s1") self.s2 = units.Relay("s2") self.s3 = units.Relay("s3") self.s4 = units.Relay("s4") self.s5 = units.Relay("s5") self.search_index = units.Relay("search_index") #Replay Counter self.card1_replay_counter = units.Stepper("card1_replay_counter", 100) self.card2_replay_counter = units.Stepper("card2_replay_counter", 100) self.card3_replay_counter = units.Stepper("card3_replay_counter", 100) self.card4_replay_counter = units.Stepper("card4_replay_counter", 100) #Hole in One uses a specialized scoring system, tracking your shots - as does this game. self.average = units.Relay("average") self.good = units.Relay("good") self.expert = units.Relay("expert") #Initialize stepper units used to keep track of features or timing. self.selector = units.Stepper("selector", 4) self.timer = units.Stepper("timer", 40) self.ball_count = units.Stepper("ball_count", 5) #When engage()d, light 6v circuit, and enable game features, scoring, #etc. Disengage()d means that the machine is 'soft' tilted. self.anti_cheat = units.Relay("anti_cheat") #When engage()d, spin. self.start = units.Relay("start") #Tilt is separate from anti-cheat in that the trip will move the shutter #when the game is tilted with 1st ball in the lane. Also prevents you #from picking back up by killing the anti-cheat. Can be engaged by #tilt bob, slam tilt switches, or timer at 39th step. #Immediately kills motors. self.tilt = units.Relay("tilt") self.replays = 0 self.returned = False
def __init__(self, machine_type): super(ConeyIsland, self).__init__(machine_type) pygame.mixer.pre_init(44100, -16, 2, 512) self.sound = procgame.sound.SoundController(self) self.sound.set_volume(1.0) # NOTE: trough_count only counts the number of switches present in the trough. It does _not_ count # the number of balls present. In this game, there should be 8 balls. self.trough_count = 6 # Subclass my units unique to this game - modifications must be made to set up mixers and steppers unique to the game # NOTE: 'top' positions are indexed using a 0 index, so the top on a 24 position unit is actually 23. # Initialize reflex(es) and mixers unique to this game # NOTE: reflex unit drawing was not available for this game, so until I convince # another Coney Island owner to take their game apart, I'll note that there # are four lugs, three of which provides another path to the mixer, and one which is always connected # and bypasses the mixer entirely. There are no games from 1951 or 52 that have the reflex documented. self.reflex = units.Reflex("primary", 100) #Initialize the mixer units # NOTE: the mixers are not documented for this game either. However, there are three different lugs connected. # I will guess that 3/24 of all lugs are blanks, though looking at the docs for Bally Beauty shows that # only 3/24 positions are not connected. Many of the other early games show similar patterns. self.mixer = units.Mixer("mixer", 23) self.spotting = units.Spotting("spotting", 50) self.searchdisc = units.Search("searchdisc", 49) #Seach relays self.s1 = units.Relay("s1") self.s2 = units.Relay("s2") self.s3 = units.Relay("s3") self.s4 = units.Relay("s4") self.s5 = units.Relay("s5") self.search_index = units.Relay("search_index") #Replay Counter self.card1_replay_counter = units.Stepper("card1_replay_counter", 100) self.card2_replay_counter = units.Stepper("card2_replay_counter", 100) self.card3_replay_counter = units.Stepper("card3_replay_counter", 100) #Initialize stepper units used to keep track of features or timing. self.selector = units.Stepper("selector", 3) self.ebselector = units.Stepper("ebselector", 7) self.timer = units.Stepper("timer", 40) self.ball_count = units.Stepper("ball_count", 8) self.extra_ball = units.Stepper("extra_ball", 3) #Check for status of the replay register zero switch. If positive #and machine is just powered on, this will zero out the replays. self.replay_reset = units.Relay("replay_reset") #When engage()d, light 6v circuit, and enable game features, scoring, #etc. Disengage()d means that the machine is 'soft' tilted. self.anti_cheat = units.Relay("anti_cheat") #When engage()d, spin. self.start = units.Relay("start") # When engage()d, allow for play for EB. Engages with the press of the yellow button. # does not allow for play if there are no credits on the meter, nor if the EB unit is # at the top. Also does not allow for play if the timer has shut off. You cannot revive # older games with a press of a yellow button like you can with games with an 8 step timer. self.eb_play = units.Relay("eb_play") #Tilt is separate from anti-cheat in that the trip will move the shutter #when the game is tilted with 1st ball in the lane. Also prevents you #from picking back up by killing the anti-cheat. Can be engaged by #tilt bob, slam tilt switches, or timer at 39th step. #Immediately kills motors. self.tilt = units.Relay("tilt") self.replays = 0 self.returned = False