def select_object(kind): global classType, PreyObj, special_on allSims = all_sim(Black_Hole.__bases__[0]) for name in allSims: if name.__name__ == kind: classType = name if name.__name__ == "Prey": PreyObj = name if kind == "Remove": classType = kind elif kind == "Special": if special_on == False: special_on = True for s in sim: if isinstance(s, Hunter): x, y = s.get_location() w, h = s.get_dimension() specialOb = Special(x, y) specialOb.set_dimension(w, h) sim.add(specialOb) controller.the_canvas.delete(s) sim.remove(s) else: special_on = False for s in sim: if isinstance(s, Special): x, y = s.get_location() w, h = s.get_dimension() hunterOb = Hunter(x, y) hunterOb.set_dimension(w, h) sim.add(hunterOb) controller.the_canvas.delete(s) sim.remove(s)
def get_specials(self, day): cursor = self.mongo.db.Bars.find({}) specials = [] for bar in cursor: for spec in bar['specials'][day]: to_add = Special(spec['special_id'], spec['special_name'], spec['description'], spec['bar_id'], object=spec['object']) specials.append(to_add.serialize()) return specials
def mouse_click(x,y): global big_bang if selected != 'Special' and selected != 'Remove': add(eval(selected+'(' + str(x) + ',' + str(y) + ')')) elif selected == 'Special': if big_bang == None: print('Big Bang Started') big_bang = Special(x,y) else: removeset = find(lambda item:True if item.contains((x,y)) else False) for item in removeset: remove(item) if big_bang != None: if big_bang.contains((x,y)): print('Big Bang Stopped') big_bang = None
def create_specials(input_specials): specials = [] for special in input_specials: specials.append( Special(special['special_id'], special['special_name'], special['description'], special['bar_id'], special['object'])) return specials
def create_special(self, bar_id, special, day): bar = self.mongo.db.Bars.find_one({'bar_id': bar_id}) specials = bar['specials'][day] total = 0 for l in bar['specials']: for s in l: total = max(total, s['special_id']) special['special_id'] = total + 1 to_add = Special(special['special_id'], special['special_name'], special['description'], special['bar_id'], object=special['object']) specials.append(to_add.serialize()) update = self.mongo.db.Bars.update_one( {'bar_id': bar_id}, {'$set': { 'specials': bar['specials'] }})
def load_specials(self): """Load the special data for the level.""" f, o = self.f, self.offset # Special count f.seek(o) specialCount = ord(f.read(1)) o += 1 print "There are", specialCount, "specials." self.specials = list() for i in range(specialCount): f.seek(o) s = Special(f, o) self.specials.append(s) o = s.get_offset() self.offset = o
def launch_special(self): """ Launches special shot from current position of the space ship. :return: """ # Get launch parameters from current # position and angle of the ship position = self.__ship.get_position() for i in range(5): special = Special(position, [ SPECIAL_FACTOR * math.sin((i * 360 / 5) / 360 * 2 * math.pi), SPECIAL_FACTOR * math.cos((i * 360 / 5) / 360 * 2 * math.pi)], i * 360 / 5) self.__specials.append(special) self.__screen.register_torpedo(special)
def mouse_click(x, y): if button == 'Ball': simulation.add(Ball(x, y)) elif button == 'Floater': simulation.add(Floater(x, y)) elif button == 'Black_Hole': simulation.add(Black_Hole(x, y)) elif button == 'Pulsator': simulation.add(Pulsator(x, y)) elif button == 'Hunter': simulation.add(Hunter(x, y)) elif button == 'Special': simulation.add(Special(x, y)) elif button == 'Remove': for i in simulation.copy(): if i.distance((x, y)) < i.radius: remove(i)
def mouse_click(x,y): global selection, simultons if selection == 'Remove': #Need to finish for sim in simultons.copy(): if sim.contains( (x,y) ): remove(sim) elif selection == 'Ball': add( Ball(x,y,5,5,0,5) ) elif selection == 'Floater': add( Floater(x,y,5,5,0,5) ) elif selection == 'Black_Hole': add( Black_Hole(x,y,20,20) ) elif selection == 'Pulsator': add( Pulsator(x,y,20,20) ) elif selection == 'Hunter': add( Hunter(x,y,20,20,0,5) ) elif selection == 'Special': add( Special(x,y,5,5,0,10) )
def mouse_click(x,y): try: if object_name == 'Ball': balls.add(Ball(x,y)) elif object_name == 'Floater': balls.add(Floater(x,y)) elif object_name == 'Black_Hole': balls.add(Black_Hole(x,y)) elif object_name == 'Pulsator': balls.add(Pulsator(x,y)) elif object_name == 'Hunter': balls.add(Hunter(x,y)) elif object_name == 'Special': balls.add(Special(x,y)) elif object_name == 'Remove': for i in find(lambda a: a.contains((x,y))): balls.remove(i) except: pass
def mouse_click(x, y): global balls if select_kind == 'Remove': for b in balls: coor = b.get_location() if coor[0] - 5 < x and x < coor[0] + 5 and coor[ 1] - 5 < y and y < coor[1] + 5: remove(b) break elif select_kind == 'Ball': add(Ball(x, y)) elif select_kind == 'Floater': add(Floater(x, y)) elif select_kind == 'Black_Hole': add(Black_Hole(x, y)) elif select_kind == 'Pulsator': add(Pulsator(x, y)) elif select_kind == 'Hunter': add(Hunter(x, y)) elif select_kind == 'Special': add(Special(x, y))
def mouse_click(x,y): global balls, click, remove_set if str(click) == "Remove": try: for ele in balls: if ele.contains((x,y)): remove(ele) except: pass else: if str(click) == "Ball": add(Ball(x,y)) elif str(click) == 'Black_Hole': add(Black_Hole(x,y)) elif str(click) == 'Floater': add(Floater(x,y)) elif str(click) == 'Hunter': add(Hunter(x,y)) elif str(click) == 'Pulsator': add(Pulsator(x,y)) elif str(click) == "Special": add(Special(x,y))
def gl_init(self): Special.init() [thing.gl_init() for thing in self.contents]