def on_execute(self): if self.on_init() == False: self._running = False #x = 50 #y = 50 #self.spawn_lots() #self.spawn_concrete() clock = pygame.time.Clock() while (self._running): #self.orig_surf = self.board.copy() #self.new_surf = pygame.surface.Surface() first = time.time() for event in pygame.event.get(): self.on_event(event) #pygame.draw.rect(self.board, (255, 255, 102), [x, y, 15, 15]) #Animate the fall for each particle #x += 3 #y += 1 #time.sleep(0.01) self.on_loop() self.on_render() second = time.time() print(second - first) clock.tick(60)
def play(self, media_file, loop=False, vol=0): t1 = time.time() self.stop(3) # Up to 3 second delay to let the old player stop. logging.debug('Time palyer stoped: {0}'.format(time.time() - t1)) if media_file.lower().endswith(".jpg") or media_file.lower().endswith(".gif"): self._print('Display image: {0}'.format(media_file)) self._display_image(media_file) logging.debug('Time image done: {0}'.format(time.time() - t1)) else: self._print('Display video: {0}'.format(media_file)) self._display_video(media_file, loop=False, vol=0) logging.debug( 'Time video displayed: {0}'.format(time.time() - t1))
def play(self, media_file, loop=False, vol=0): t1 = time.time() self.stop(3) # Up to 3 second delay to let the old player stop. logging.debug('Time player stoped: {0}'.format(time.time() - t1)) if media_file.lower().endswith(".jpg") or media_file.lower().endswith(".gif"): self._print('Display image: {0}'.format(media_file)) self._display_image(media_file) logging.debug('Time image done: {0}'.format(time.time() - t1)) else: self._print('Display video: {0}'.format(media_file)) self._display_video(media_file, loop=False, vol=0) logging.debug( 'Time video displayed: {0}'.format(time.time() - t1))
def on_mouse_button_down(self, pos, button): if button==3: self.blockedkeys=False if button==1: if self.intervallo_mouse: self.mousenow=time.time() if 'arco' in self.mag.selezionabili: if self.mag.selezionabili['arco']: utensile=Proiettile(self,pos) if 'lasso' in self.mag.selezionabili: if self.mag.selezionabili['lasso']: utensile=Proiettile(self,pos) if 'spada' in self.mag.selezionabili: if self.mag.selezionabili['spada']: utensile=UtensileSpada(self,pos) if 'piccone' in self.mag.selezionabili: if self.mag.selezionabili['piccone']: utensile=UtensilePiccone(self,pos) if 'mappa' in self.mag.selezionabili: if self.mag.selezionabili['mappa']: pgu=PguApp(self,inizio="mappa") if 'utensile' in locals(): utensile.mostra() else: if not 'pgu' in locals(): dialog = DialogoAvvisi(testo="Seleziona un'arma o uno strumento da usare! (tasto T) (tasto H)")
def __init__(self): #Width and Height of pygame window self.screenwidth = 640 self.screenlength = 640 #Width and Heigth of paddle self.paddlewidth = 10 self.paddleheight = 100 #Left paddle initial position co-ordinates self.startpaddleleftx= 0 self.startpaddlelefty= 400 #Right paddle initial position co-ordinates self.startpaddlerightx= 640 - self.paddlewidth self.startpaddlerighty= 400 #Ball initial co-ordinates self.ballx = 320 self.bally = 320 self.radius = 20 self.thickness = 0 #Colors self.red = (255,0,0) self.blue = (0,0,255) self.green = (0,255,0) self.clock = pygame.time.Clock() self.left_player_score_coord = (0,0) self.right_player_score_coord = (480,0) self.start_time = time.time() self.time_coord = (320,0) self.game_over_coord = (320,240) self.game_over_time = 60
def update_inertial_states(self, data): #print(current_inertial_states) current_inertial_state = data quatx, quaty, quatz, quatw = current_inertial_state[15:] yaw, pitch, roll = SO3Rotation.quaternion_to_euler_angles((quatw, quatx, quaty, quatz)) print('GUI State Update!') start_time = time.time() #print(current_inertial_states, current_inertial_state) self.entry_posx.delete(0,tk.END) self.entry_posx.insert(0, str(current_inertial_state[0])) self.entry_posy.delete(0,tk.END) self.entry_posy.insert(0, str(current_inertial_state[1])) self.entry_posz.delete(0,tk.END) self.entry_posz.insert(0, str(current_inertial_state[2])) self.entry_velx.delete(0,tk.END) self.entry_velx.insert(0, str(current_inertial_state[3])) self.entry_vely.delete(0,tk.END) self.entry_vely.insert(0, str(current_inertial_state[4])) self.entry_velz.delete(0,tk.END) self.entry_velz.insert(0, str(current_inertial_state[5])) self.entry_accx.delete(0,tk.END) self.entry_accx.insert(0, str(current_inertial_state[6])) self.entry_accy.delete(0,tk.END) self.entry_accy.insert(0, str(current_inertial_state[7])) self.entry_accz.delete(0,tk.END) self.entry_accz.insert(0, str(current_inertial_state[8])) self.entry_roll.delete(0,tk.END) self.entry_roll.insert(0, str(roll)) self.entry_pitch.delete(0,tk.END) self.entry_pitch.insert(0, str(pitch)) self.entry_yaw.delete(0,tk.END) self.entry_yaw.insert(0, str(yaw)) self.entry_rollrate.delete(0,tk.END) self.entry_rollrate.insert(0, str(current_inertial_state[9])) self.entry_pitchrate.delete(0,tk.END) self.entry_pitchrate.insert(0, str(current_inertial_state[10])) self.entry_yawrate.delete(0,tk.END) self.entry_yawrate.insert(0, str(current_inertial_state[11])) self.entry_angaccx.delete(0,tk.END) self.entry_angaccx.insert(0, str(current_inertial_state[12])) self.entry_angaccy.delete(0,tk.END) self.entry_angaccy.insert(0, str(current_inertial_state[13])) self.entry_angaccz.delete(0,tk.END) self.entry_angaccz.insert(0, str(current_inertial_state[14])) print('GUI State Update Time! ', time.time() - start_time)
def intervallo_mouse(self): if not hasattr(self,'mousenow'): return True tnow=time.time() if tnow>self.mousenow+2: self.suono_noncolpito.play() return True else: self.suono_cilecca.play() return False
def speak(text, lang='en'): if spoken: a = str(int(time.time())) tts = gTTS(text=text, lang=lang) tts.save(a + '.mp3') mixer.init() mixer.music.load(a + '.mp3') mixer.music.play() while mixer.music.get_busy() == True: continue
def update_inertial_states(self, data): #print(current_inertial_states) current_inertial_state = data print('GUI State Update!') start_time = time.time() #print(current_inertial_states, current_inertial_state) self.entry_posx.delete(0, tk.END) self.entry_posx.insert(0, str(current_inertial_state[0])) self.entry_posy.delete(0, tk.END) self.entry_posy.insert(0, str(current_inertial_state[1])) self.entry_posz.delete(0, tk.END) self.entry_posz.insert(0, str(current_inertial_state[2])) self.entry_velx.delete(0, tk.END) self.entry_velx.insert(0, str(current_inertial_state[3])) self.entry_vely.delete(0, tk.END) self.entry_vely.insert(0, str(current_inertial_state[4])) self.entry_velz.delete(0, tk.END) self.entry_velz.insert(0, str(current_inertial_state[5])) self.entry_accx.delete(0, tk.END) self.entry_accx.insert(0, str(current_inertial_state[6])) self.entry_accy.delete(0, tk.END) self.entry_accy.insert(0, str(current_inertial_state[7])) self.entry_accz.delete(0, tk.END) self.entry_accz.insert(0, str(current_inertial_state[8])) # self.entry_roll.delete(0,tk.END) # self.entry_roll.insert(0, str(current_inertial_state[9])) # self.entry_pitch.delete(0,tk.END) # self.entry_pitch.insert(0, str(current_inertial_state[10])) # self.entry_yaw.delete(0,tk.END) # self.entry_yaw.insert(0, str(current_inertial_state[11])) self.entry_rollrate.delete(0, tk.END) self.entry_rollrate.insert(0, str(current_inertial_state[9])) self.entry_pitchrate.delete(0, tk.END) self.entry_pitchrate.insert(0, str(current_inertial_state[10])) self.entry_yawrate.delete(0, tk.END) self.entry_yawrate.insert(0, str(current_inertial_state[11])) self.entry_angaccx.delete(0, tk.END) self.entry_angaccx.insert(0, str(current_inertial_state[12])) self.entry_angaccy.delete(0, tk.END) self.entry_angaccy.insert(0, str(current_inertial_state[13])) self.entry_angaccz.delete(0, tk.END) self.entry_angaccz.insert(0, str(current_inertial_state[14])) print('GUI State Update Time! ', time.time() - start_time)
def eval_result(self, res): self.clock_hand.stop() if not self.state.is_playing(): return if not self.answered: if res is None: self.level.wrong_answer() self.shadow_wrong.visible = 1 self.shadow_wrong.dirty = 1 self.log_res("NO ANSW ", time.time() - self.clock_hand.init_time) elif res: self.level.correct_answer() self.shadow_correct.visible = 1 self.shadow_correct.dirty = 1 self.log_res("CORRECT ", time.time() - self.clock_hand.init_time) else: self.level.wrong_answer() self.shadow_wrong.visible = 1 self.shadow_wrong.dirty = 1 self.log_res("WRONG ", time.time() - self.clock_hand.init_time) self.answered = True self.plane_ticks = 0 self.refresh_game_indicators() if self.level.is_won(): print "ganaste" self.sprites_group.add(Message("GANASTE", "ESPACIO PARA JUGAR DE NUEVO O ESC PARA SALIR"), layer=MSG_lyr) self.state.lost() if self.level.is_lost(): print "perdiste" if self.level.lost_by_miss(): self.sprites_group.add(Message("PERDISTE", "ESPACIO PARA JUGAR DE NUEVO O ESC PARA SALIR"), layer=MSG_lyr) elif self.level.lost_by_time(): self.sprites_group.add(Message("TE QUEDASTE SIN TIEMPO", "ESPACIO PARA JUGAR DE NUEVO O ESC PARA SALIR"), layer=MSG_lyr) self.state.lost()
def _display_with_pygame(self, imagefile): try: t1 = time.time() # Clear the screen self._blank_screen() logging.debug('Time: {0}'.format(time.time() - t1)) img = image.load(imagefile) # img = pygame.image.load(imagefile).convert() logging.debug(time.time() - t1) img, offset_x, offset_y = self.scale_image(img) logging.debug(time.time() - t1) self._screen.blit(img, (offset_x, offset_y)) logging.debug(time.time() - t1) # update the display display.update() logging.debug('Time image displayed: {0}'.format(time.time() - t1)) ''' fadeIn? from black ''' # pygame.display.flip() # pause pygame_time.wait(self._image_display_time * 1000) # time.sleep(self._image_display_time) ''' fadeOut? to black ''' except Exception, e: logging.error('Error: ' + str(e))
def update_image_feeds(self, data): scalar = 3 col_count = 0 row_count = 0 sim_images = data print("GUI Image Update:") start_time = time.time() for key in sim_images: if len(sim_images[key][0]) > 0: for i in range(self.num_video_feeds): sim_image = sim_images[:,:,scalar*i:scalar*(i+1)] if scalar == 1: sim_image = np.reshape(sim_image, (sim_image.shape[0], sim_image.shape[1])) if ((i % 3) == 0): col_count = 0 row_count += 1 #print('sim image shape ', sim_image.shape, type(sim_image), sim_image, self.isNormal) if self.isNormal: sim_image = np.array(sim_image * 255, dtype = np.uint8) else: sim_image = np.array(sim_image, dtype = np.uint8) img = Image.fromarray(sim_image) imgtk = ImageTk.PhotoImage(image = img) if self.VideoFeeds[i] is None: # Initialize the image panel self.VideoFeeds[i] = Label(self.VideoFrame, image=imgtk) self.VideoFeeds[i].image = imgtk self.VideoFeeds[i].grid(row = row_count, column = col_count) else: self.VideoFeeds[i].configure(image = imgtk) self.VideoFeeds[i].image = imgtk col_count += 1 col_count = 0 row_count = 0 print("Feed Update Time: ", time.time() - start_time)
def stop(self, block_timeout_sec=None): """Stop the video player. block_timeout_sec is how many seconds to block waiting for the player to stop before moving on. """ t1 = time.time() # Stop the player if it's running. if self._process is not None and self._process.returncode is None: # There are a couple processes used by omxplayer, so kill both # with a pkill command. # subprocess.call(['pkill', '-9', 'fbi']) # subprocess.call(['killall' 'fbi']) subprocess.call(['pkill', '-9', 'omxplayer']) # If a blocking timeout was specified, wait up to that amount of time # for the process to stop. start = time.time() while self._process is not None and self._process.returncode is None: if (time.time() - start) >= block_timeout_sec: break time.sleep(0) # Let the process be garbage collected. self._process = None # Clear the screen self._blank_screen()
def start_the_game(self): self.welcome_message() pygame.init() while 1: self.refresh_game() self.find_helicopter_rocket_collide() self.draw_helicopter_in_screen() self.helicopter_draw_time -= 1 pygame.display.flip() self.get_kesy_from_player() self.move_airplane() game_time = time.time() if self.time_elapse < self.MAX_ELAPSE: self.time_progress(game_time) print(self.rocket_velocity, self.time_elapse_set)
def eval_result(self, res): self.clock_hand.stop() current_checkpoint = self.level.checkpoint if not self.state.is_playing(): return if not self.answered: if res is None: self.level.wrong_answer() self.log_res("NO ANSW ", time.time() - self.clock_hand.init_time) elif res: self.level.correct_answer() self.log_res("CORRECT ", time.time() - self.clock_hand.init_time) else: self.level.wrong_answer() self.log_res("WRONG ", time.time() - self.clock_hand.init_time) self.shadow.visible = 1 self.shadow.dirty = 1 self.answered = True self.plane_ticks = 0 self.refresh_game_indicators() if (current_checkpoint != self.level.checkpoint and self.level.checkpoint < len(self.level.level_order)): self.show_instructions() if self.level.is_won(): print "ganaste" self.sprites_group.add(Message("GANASTE", "ESC PARA SALIR"), layer=MSG_lyr) self.state.lost()
def show_first_card(screen, card_deck, xy_of_card_selected, difficulty): """ makes the first selected card visible :param screen: pygame screen :param card_deck: string array, cards image paths :param xy_of_card_selected: tuple, location of selected card :param difficulty: int :return: float, current time in seconds """ card_range = 3 + difficulty screen.blit( card_deck[card_range * xy_of_card_selected[1] + xy_of_card_selected[0]], (CARDS_WIDTH * xy_of_card_selected[0], SCREEN_INCREASE + CARDS_HEIGHT * xy_of_card_selected[1])) return time.time() # First card has been flipped
def drawCharacters(self): self.surfCharacters.fill((10,10,10)); for player in self.players: if (time.time() - player.lastMoved) > .5: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + ".png"), (player.x * 48, player.y * 48)) else: if player.lastX < player.x: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + "Right.png"), (player.x * 48, player.y * 48)) elif player.lastX > player.x: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + "Left.png"), (player.x * 48, player.y * 48)) elif player.lastY < player.y: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + ".png"), (player.x * 48, player.y * 48)) elif player.lastY > player.y: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + "Up.png"), (player.x * 48, player.y * 48)) else: self.surfCharacters.blit(self.getTex("entities/player" + player.tex + ".png"), (player.x * 48, player.y * 48)) self.screen.blit(self.surfCharacters, (self.surfCharactersX, self.surfCharactersY));
def __init__(self): self.WIDTH = 600 self.HEIGHT = 800 self.START_TIME = time.time() self.TIME_ELAPSE_INCREASE_SPEED = 25 self.MAX_ELAPSE = 10 self.time_elapse = 0 self.time_elapse_set = set() self.rocket_velocity = 10 self.helicopter_velocity = 1 self.screen = pygame.display.set_mode((self.WIDTH, self.HEIGHT)) self.keys = [False, False] self.air_plane_location_begin = [self.WIDTH//3, self.HEIGHT-150] self.rockets_positions = [] self.helicopter_draw_time = 100 self.helicopter_elapse_time = 50 self.helicopter_draw_position = [[100, 20]] self.air_plane = pygame.image.load("files/airplane.png") self.sky = pygame.image.load("files/sky.gif") self.rocket = pygame.image.load("files/bomb.png") self.helicopter = pygame.image.load("files/heli.png")
def drawHud(self): if self.surfHud.get_alpha() == 0: return; self.surfHud.fill(self.COLOR_TRANSPARENT) pygame.draw.rect(self.surfHud, (22,22,22), (0, 0, 768, 32)) txtBanner = self.fontDefault.render("Greyvar v0.0", False, (120, 120, 120)); pos = txtBanner.get_rect(); pos.x += 4; pos.y += 4; self.surfHud.blit(txtBanner, pos) txtHostname = self.fontDefault.render("Server: " + (self.serverHostname if not self.serverHostname == None else "NOT CONNECTED"), False, (120, 120, 120)) pos = txtHostname.get_rect(); pos.x = 320; pos.y = 4; self.surfHud.blit(txtHostname, pos) txt, pos = self.createTextAndPosition("FPS: " + str(int(self.clock.get_fps())), (50, 150, 50), 640, 4) self.surfHud.blit(txt, pos); now = time.time() renderedMessages = 0 for timestamp in self.messages.copy(): if (timestamp + self.MESSAGE_DISPLAY_TIME < now): logging.debug("Deleting old message: " + self.messages[timestamp]); del self.messages[timestamp] else: txtMessage = self.fontDefault.render(self.messages[timestamp], False, (150, 50, 50)) pos = txtMessage.get_rect() pos.x = 20 pos.y = 600 - ((len(self.messages) - renderedMessages) * pos.h) self.surfHud.blit(txtMessage, pos) renderedMessages += 1 # textpos.centerx = self.surfHud.get_rect().centerx # self.surfHud.set_colorkey((0,0,0)) self.screen.blit(self.surfHud, (0, 0))
#Creating left paddle object paddleleft = paddle(screen, objhelper.startpaddleleftx, objhelper.startpaddlelefty, objhelper.paddlewidth, objhelper.paddleheight,objhelper.red) #Creating right paddle object paddleright = paddle(screen, objhelper.startpaddlerightx, objhelper.startpaddlerighty, objhelper.paddlewidth, objhelper.paddleheight,objhelper.blue) #Creating a ball ball_1 = ball(screen,objhelper.ballx, objhelper.bally,objhelper.radius, objhelper.thickness, objhelper.green) while True: #Tell how many frames per second objhelper.clock.tick(200) time_end = time.time() #Refreshes the screen pygame.display.update() #Fills screen with black each time in while True screen.fill((0,0,0)) #Movement of left paddle paddleleft.move(screen) #Movement of right paddle paddleright.move(screen) #Movement of ball ball_1.move(screen) #Check boundary ball_1.checkboundaries(screen) #Check right paddle collision paddleright.detectpaddlecollision(screen,ball_1,"right") #Check left paddle collision
def main(arraytype=None): """play various sndarray effects If arraytype is provided then use that array package. Valid values are 'numeric' or 'numpy'. Otherwise default to NumPy, or fall back on Numeric if NumPy is not installed. """ main_dir = os.path.split(os.path.abspath(__file__))[0] if arraytype not in ("numpy", None): raise ValueError("Array type not supported: %r" % arraytype) print("Using %s array package" % sndarray.get_arraytype()) print("mixer.get_init %s" % (mixer.get_init(),)) samples_per_second = pygame.mixer.get_init()[0] print(("-" * 30) + "\n") print("loading sound") sound = mixer.Sound(os.path.join(main_dir, "data", "car_door.wav")) print("-" * 30) print("start positions") print("-" * 30) start_pos = 0.1 sound2 = sound_from_pos(sound, start_pos, samples_per_second) print("sound.get_length %s" % (sound.get_length(),)) print("sound2.get_length %s" % (sound2.get_length(),)) sound2.play() while mixer.get_busy(): pygame.time.wait(200) print("waiting 2 seconds") pygame.time.wait(2000) print("playing original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("waiting 2 seconds") pygame.time.wait(2000) # if 0: # #TODO: this is broken. # print (("-" * 30) + "\n") # print ("Slow down the original sound.") # rate = 0.2 # slowed_sound = slow_down_sound(sound, rate) # slowed_sound.play() # while mixer.get_busy(): # pygame.time.wait(200) print("-" * 30) print("echoing") print("-" * 30) t1 = time.time() sound2 = make_echo(sound, samples_per_second) print("time to make echo %i" % (time.time() - t1,)) print("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("echoed sound") sound2.play() while mixer.get_busy(): pygame.time.wait(200) sound = mixer.Sound(os.path.join(main_dir, "data", "secosmic_lo.wav")) t1 = time.time() sound3 = make_echo(sound, samples_per_second) print("time to make echo %i" % (time.time() - t1,)) print("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("echoed sound") sound3.play() while mixer.get_busy(): pygame.time.wait(200)
# utils.show_chord_keys_by_ascii(self.chord_keys_bound) (is_beat_at_right_most, current_play_percent, progress_multi_lines, page_end_offset_x) = self.piano.show_notes_staff_in_page( self.enabled_tracks, self.tracks_order_idx, self.notes_in_all_staff, self.last_timestamp, self.staff_top, parse_midi.g_bar_duration, parse_midi.g_time_signature_n, self.staff_offset_x, self.is_pause) # scroll page automatically if not self.is_pause and is_beat_at_right_most and (current_play_percent == 0 or current_play_percent > (100 - 50 / progress_multi_lines)): self.staff_offset_x = page_end_offset_x utils.sync_play_time(self, pitch_timestamp, old_time) old_time = time.time() self.last_timestamp = pitch_timestamp self.chord_keys_bound = [] self.play_commands = [] if self.is_pause and self.play_one_timestamp_while_paused: self.play_one_timestamp_while_paused = False continue self.play_commands += [(cmd, pitch, volecity)] # playtrack if cmd == "NOTE_ON": # build chord if pitch not in self.chord_keys_bound: self.chord_keys_bound += [pitch] # show keys
def main(): pygame.init() estado_pj1 = 0 estado_pj2 = 0 final_pj1 = 0 #este genera la condicion para que no siga moviendo las animacion y detemina finalmente quien es el personaje a ocupar final_pj2 = 0 v = 0 w = 4 n = 35 time = 75 #milisegundos (en estapa de prueba para decir el mejor tiempo de espera) ID_pj1 = 0 #ID pj va de 1-4, representa al personaje para despues cargarlo, esto cuenta el caso random ID_pj2 = 0 screen = pygame.display.set_mode((screen_w,screen_h)) pygame.display.set_caption("Seleccion de Personaje") #nombre de la ventana fondo = pygame.image.load("Screens/imgs/Fondo.jpg").convert()# permite cargar imagenes screen.blit(fondo,(0,0)) pygame.display.flip() Imagen = {}#bibliotecas con las imagenes Imagen[0]=("Screens/imgs/Sel_pj.jpg") Imagen[1]=("Screens/imgs/Sel_pj1.jpg") Imagen[2]=("Screens/imgs/Sel_pj2.jpg") Imagen[3]=("Screens/imgs/Sel_pj1pj2.jpg") Cuadro = {} Cuadro[0]=("Screens/imgs/Fondo_pj0.jpg") Cuadro[1]=("Screens/imgs/Fondo_pj1.jpg") Cuadro[2]=("Screens/imgs/Fondo_pj2.jpg") Cuadro[3]=("Screens/imgs/Fondo_pj3.jpg") Cuadro[4]=("Screens/imgs/Fondo_pj4.jpg") Tiempo = {} Tiempo[0] = pygame.image.load("Screens/imgs/t0.png").convert() Tiempo[1] = pygame.image.load("Screens/imgs/t1.png").convert() Tiempo[2] = pygame.image.load("Screens/imgs/t2.png").convert() Tiempo[3] = pygame.image.load("Screens/imgs/t3.png").convert() Tiempo[4] = pygame.image.load("Screens/imgs/t4.png").convert() Tiempo[5] = pygame.image.load("Screens/imgs/t5.png").convert() Tiempo[6] = pygame.image.load("Screens/imgs/t6.png").convert() Tiempo[7] = pygame.image.load("Screens/imgs/t7.png").convert() Tiempo[8] = pygame.image.load("Screens/imgs/t8.png").convert() Tiempo[9] = pygame.image.load("Screens/imgs/t9.png").convert() Reloj = pygame.image.load("Screens/imgs/Reloj.png").convert() Fondo_reloj = pygame.image.load("Screens/imgs/Fondo_reloj.jpg").convert() reloj = int(time.time()) while True: for event in pygame.event.get(): if event.type == KEYDOWN: if pygame.key.get_pressed()[K_RIGHT]: estado_pj1 = 1 elif pygame.key.get_pressed()[K_LEFT]: estado_pj1 = 2 if pygame.key.get_pressed()[K_d]: estado_pj2 = 1 elif pygame.key.get_pressed()[K_a]: estado_pj2 = 2 if pygame.key.get_pressed()[K_RETURN]: final_pj1 = 1 if pygame.key.get_pressed()[K_BACKSPACE]: final_pj1 = 0 if pygame.key.get_pressed()[K_SPACE]: final_pj2 = 1 if pygame.key.get_pressed()[K_TAB]: final_pj2 = 0 if pygame.key.get_pressed()[K_ESCAPE]: pygame.quit() sys.exit() elif event.type == KEYUP: if estado_pj1 == 1 or 2: estado_pj1 = 0 if estado_pj2 == 1 or 2: estado_pj2 = 0 if not final_pj1 == 1: if estado_pj1 == 1: v += 1 ID_pj1 += 1 if v == 5: v = 0 if ID_pj1 == 5: ID_pj1 = 0 if estado_pj1 == 2: v -= 1 ID_pj1 -= 1 if v == -1: v = 4 if ID_pj1 == -1: ID_pj1 = 4 if not final_pj2 == 1: if estado_pj2 == 1: w += 1 ID_pj2 += 1 if w == 5: w = 0 if ID_pj2 == 5: ID_pj2 = 0 if estado_pj2 == 2: w -= 1 ID_pj2 -= 1 if w == -1: w = 4 if ID_pj2 == -1: ID_pj2 = 4 a=0 b=0 c=0 d=0 e=0 x=(0,1,2,3,4) #casos que corresponden para poder actualizar las imagenes de los cuadros de los personajes ha seleccionar + una lista auxiliar :) if ID_pj1==0: a=1 if ID_pj1==1: b=1 if ID_pj1==2: c=1 if ID_pj1==3: d=1 if ID_pj1==4: e=1 if ID_pj2==0: a=2 if ID_pj2==1: b=2 if ID_pj2==2: c=2 if ID_pj2==3: d=2 if ID_pj2==4: e=2 if ID_pj1==ID_pj2: X=x[ID_pj1] if X==0: a=3 if X==1: b=3 if X==2: c=3 if X==3: d=3 if X==4: e=3 Bloque = {} #las imagenes de los cuadros de personajes se tienen que resetear cada vez que se cambia la posicion para que se pueda actualizar la imagen a mostrar Bloque[0]=pygame.image.load(Imagen[a]).convert() Bloque[1]=pygame.image.load(Imagen[b]).convert() Bloque[2]=pygame.image.load(Imagen[c]).convert() Bloque[3]=pygame.image.load(Imagen[d]).convert() Bloque[4]=pygame.image.load(Imagen[e]).convert() cuadro1 = pygame.image.load(Cuadro[v]).convert() cuadro2 = pygame.image.load(Cuadro[w]).convert() screen.blit(cuadro1,(50,40)) screen.blit(cuadro2,(718,40)) screen.blit(Bloque[0],(30,510)) screen.blit(Bloque[1],(234,580)) screen.blit(Bloque[2],(435,620)) screen.blit(Bloque[3],(640,580)) screen.blit(Bloque[4],(845,510)) pygame.display.flip() pygame.time.wait(time) if final_pj1 == 1 and final_pj2 == 1: ##Observacion## (Estas corresponden a los numeros asigados a ellos para que el nucleo, sepa cual cargar) if ID_pj1 == 2: #1-Musician while not ID_pj1 == 2: #2-Medic ID_pj1 = random.randint(0,4) #3-Enginner if ID_pj2 == 2: #4-Psyco while not ID_pj2 == 2: ID_pj2 = random.randint(0,4) if ID_pj1 == 0: ID_pj1 = 1 if ID_pj1 == 1: ID_pj1 = 2 if ID_pj2 == 0: ID_pj2 = 1 if ID_pj2 == 1: ID_pj2 = 2 return ID_pj1,ID_pj2 if event.type == pygame.QUIT: pygame.quit() sys.exit()
def main(*args): """Display multiple images bounce off each other using collition detection Positional arguments: one or more image file names. This pygame.masks demo will display multiple moving sprites bouncing off each other. More than one sprite image can be provided. """ if len(args) == 0: raise ValueError("Require at least one image file name: non given") print ('Press any key to quit') screen = pygame.display.set_mode((640,480)) images = [] masks = [] for impath in args: images.append(pygame.image.load(impath).convert_alpha()) masks.append(maskFromSurface(images[-1])) numtimes = 10 import time t1 = time.time() for x in range(numtimes): m = maskFromSurface(images[-1]) t2 = time.time() print ("python maskFromSurface :%s" % (t2-t1)) t1 = time.time() for x in range(numtimes): m = pygame.mask.from_surface(images[-1]) t2 = time.time() print ("C pygame.mask.from_surface :%s" % (t2-t1)) sprites = [] for i in range(20): j = i % len(images) s = Sprite(images[j],masks[j]) s.setPos((random.uniform(0,screen.get_width()), random.uniform(0,screen.get_height()))) s.setVelocity((random.uniform(-5,5),random.uniform(-5,5))) sprites.append(s) pygame.time.set_timer(pygame.USEREVENT,33) while 1: event = pygame.event.wait() if event.type == pygame.QUIT: return elif event.type == pygame.USEREVENT: """Do both mechanics and screen update""" screen.fill((240,220,100)) for i in range(len(sprites)): for j in range(i+1,len(sprites)): sprites[i].collide(sprites[j]) for s in sprites: s.update(1) if s.pos[0] < -s.surface.get_width()-3: s.pos[0] = screen.get_width() elif s.pos[0] > screen.get_width()+3: s.pos[0] = -s.surface.get_width() if s.pos[1] < -s.surface.get_height()-3: s.pos[1] = screen.get_height() elif s.pos[1] > screen.get_height()+3: s.pos[1] = -s.surface.get_height() screen.blit(s.surface,s.pos) pygame.display.update() elif event.type == pygame.KEYDOWN: return
def main(arraytype=None): """play various sndarray effects If arraytype is provided then use that array package. Valid values are 'numeric' or 'numpy'. Otherwise default to NumPy, or fall back on Numeric if NumPy is not installed. """ global zeros, int16, int32 main_dir = os.path.split(os.path.abspath(__file__))[0] if arraytype is None: if 'numpy' in sndarray.get_arraytypes(): sndarray.use_arraytype('numpy') elif 'numeric' in sndarray.get_arraytype(): sndarray.use_arraytype('numeric') else: raise ImportError('No array package is installed') else: sndarray.use_arraytype(arraytype) pygame.surfarray.use_arraytype(sndarray.get_arraytype()) if sndarray.get_arraytype() == 'numpy': from numpy import zeros, int16, int32 else: from Numeric import zeros, Int16 as int16, Int32 as int32 print("Using %s array package" % sndarray.get_arraytype()) print("mixer.get_init %s" % (mixer.get_init(), )) inited = mixer.get_init() samples_per_second = pygame.mixer.get_init()[0] print(("-" * 30) + "\n") print("loading sound") sound = mixer.Sound(os.path.join(main_dir, 'data', 'car_door.wav')) print("-" * 30) print("start positions") print("-" * 30) start_pos = 0.1 sound2 = sound_from_pos(sound, start_pos, samples_per_second) print("sound.get_length %s" % (sound.get_length(), )) print("sound2.get_length %s" % (sound2.get_length(), )) sound2.play() while mixer.get_busy(): pygame.time.wait(200) print("waiting 2 seconds") pygame.time.wait(2000) print("playing original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("waiting 2 seconds") pygame.time.wait(2000) if 0: #TODO: this is broken. print(("-" * 30) + "\n") print("Slow down the original sound.") rate = 0.2 slowed_sound = slow_down_sound(sound, rate) slowed_sound.play() while mixer.get_busy(): pygame.time.wait(200) print("-" * 30) print("echoing") print("-" * 30) t1 = time.time() sound2 = make_echo(sound, samples_per_second) print("time to make echo %i" % (time.time() - t1, )) print("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("echoed sound") sound2.play() while mixer.get_busy(): pygame.time.wait(200) sound = mixer.Sound(os.path.join(main_dir, 'data', 'secosmic_lo.wav')) t1 = time.time() sound3 = make_echo(sound, samples_per_second) print("time to make echo %i" % (time.time() - t1, )) print("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print("echoed sound") sound3.play() while mixer.get_busy(): pygame.time.wait(200)
def addMessage(self, message): self.messages[time.time()] = message;
def main(arraytype=None): """play various sndarray effects If arraytype is provided then use that array package. Valid values are 'numeric' or 'numpy'. Otherwise default to NumPy, or fall back on Numeric if NumPy is not installed. """ main_dir = os.path.split(os.path.abspath(__file__))[0] if arraytype not in ('numpy', None): raise ValueError('Array type not supported: %r' % arraytype) print ("Using %s array package" % sndarray.get_arraytype()) print ("mixer.get_init %s" % (mixer.get_init(),)) inited = mixer.get_init() samples_per_second = pygame.mixer.get_init()[0] print (("-" * 30) + "\n") print ("loading sound") sound = mixer.Sound(os.path.join(main_dir, 'data', 'car_door.wav')) print ("-" * 30) print ("start positions") print ("-" * 30) start_pos = 0.1 sound2 = sound_from_pos(sound, start_pos, samples_per_second) print ("sound.get_length %s" % (sound.get_length(),)) print ("sound2.get_length %s" % (sound2.get_length(),)) sound2.play() while mixer.get_busy(): pygame.time.wait(200) print ("waiting 2 seconds") pygame.time.wait(2000) print ("playing original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print ("waiting 2 seconds") pygame.time.wait(2000) if 0: #TODO: this is broken. print (("-" * 30) + "\n") print ("Slow down the original sound.") rate = 0.2 slowed_sound = slow_down_sound(sound, rate) slowed_sound.play() while mixer.get_busy(): pygame.time.wait(200) print ("-" * 30) print ("echoing") print ("-" * 30) t1 = time.time() sound2 = make_echo(sound, samples_per_second) print ("time to make echo %i" % (time.time() - t1,)) print ("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print ("echoed sound") sound2.play() while mixer.get_busy(): pygame.time.wait(200) sound = mixer.Sound(os.path.join(main_dir, 'data', 'secosmic_lo.wav')) t1 = time.time() sound3 = make_echo(sound, samples_per_second) print ("time to make echo %i" % (time.time() - t1,)) print ("original sound") sound.play() while mixer.get_busy(): pygame.time.wait(200) print ("echoed sound") sound3.play() while mixer.get_busy(): pygame.time.wait(200)
def main(): pygame.init() estado_pj1 = 0 estado_pj2 = 0 final_pj1 = 0 #este genera la condicion para que no siga moviendo las animacion y detemina finalmente quien es el personaje a ocupar final_pj2 = 0 v = 0 w = 4 n = 35 time = 75 #milisegundos (en estapa de prueba para decir el mejor tiempo de espera) ID_pj1 = 0 #ID pj va de 1-4, representa al personaje para despues cargarlo, esto cuenta el caso random ID_pj2 = 0 screen = pygame.display.set_mode((screen_w, screen_h)) pygame.display.set_caption("Seleccion de Personaje") #nombre de la ventana fondo = pygame.image.load( "Screens/imgs/Fondo.jpg").convert() # permite cargar imagenes screen.blit(fondo, (0, 0)) pygame.display.flip() Imagen = {} #bibliotecas con las imagenes Imagen[0] = ("Screens/imgs/Sel_pj.jpg") Imagen[1] = ("Screens/imgs/Sel_pj1.jpg") Imagen[2] = ("Screens/imgs/Sel_pj2.jpg") Imagen[3] = ("Screens/imgs/Sel_pj1pj2.jpg") Cuadro = {} Cuadro[0] = ("Screens/imgs/Fondo_pj0.jpg") Cuadro[1] = ("Screens/imgs/Fondo_pj1.jpg") Cuadro[2] = ("Screens/imgs/Fondo_pj2.jpg") Cuadro[3] = ("Screens/imgs/Fondo_pj3.jpg") Cuadro[4] = ("Screens/imgs/Fondo_pj4.jpg") Tiempo = {} Tiempo[0] = pygame.image.load("Screens/imgs/t0.png").convert() Tiempo[1] = pygame.image.load("Screens/imgs/t1.png").convert() Tiempo[2] = pygame.image.load("Screens/imgs/t2.png").convert() Tiempo[3] = pygame.image.load("Screens/imgs/t3.png").convert() Tiempo[4] = pygame.image.load("Screens/imgs/t4.png").convert() Tiempo[5] = pygame.image.load("Screens/imgs/t5.png").convert() Tiempo[6] = pygame.image.load("Screens/imgs/t6.png").convert() Tiempo[7] = pygame.image.load("Screens/imgs/t7.png").convert() Tiempo[8] = pygame.image.load("Screens/imgs/t8.png").convert() Tiempo[9] = pygame.image.load("Screens/imgs/t9.png").convert() Reloj = pygame.image.load("Screens/imgs/Reloj.png").convert() Fondo_reloj = pygame.image.load("Screens/imgs/Fondo_reloj.jpg").convert() reloj = int(time.time()) while True: for event in pygame.event.get(): if event.type == KEYDOWN: if pygame.key.get_pressed()[K_RIGHT]: estado_pj1 = 1 elif pygame.key.get_pressed()[K_LEFT]: estado_pj1 = 2 if pygame.key.get_pressed()[K_d]: estado_pj2 = 1 elif pygame.key.get_pressed()[K_a]: estado_pj2 = 2 if pygame.key.get_pressed()[K_RETURN]: final_pj1 = 1 if pygame.key.get_pressed()[K_BACKSPACE]: final_pj1 = 0 if pygame.key.get_pressed()[K_SPACE]: final_pj2 = 1 if pygame.key.get_pressed()[K_TAB]: final_pj2 = 0 if pygame.key.get_pressed()[K_ESCAPE]: pygame.quit() sys.exit() elif event.type == KEYUP: if estado_pj1 == 1 or 2: estado_pj1 = 0 if estado_pj2 == 1 or 2: estado_pj2 = 0 if not final_pj1 == 1: if estado_pj1 == 1: v += 1 ID_pj1 += 1 if v == 5: v = 0 if ID_pj1 == 5: ID_pj1 = 0 if estado_pj1 == 2: v -= 1 ID_pj1 -= 1 if v == -1: v = 4 if ID_pj1 == -1: ID_pj1 = 4 if not final_pj2 == 1: if estado_pj2 == 1: w += 1 ID_pj2 += 1 if w == 5: w = 0 if ID_pj2 == 5: ID_pj2 = 0 if estado_pj2 == 2: w -= 1 ID_pj2 -= 1 if w == -1: w = 4 if ID_pj2 == -1: ID_pj2 = 4 a = 0 b = 0 c = 0 d = 0 e = 0 x = ( 0, 1, 2, 3, 4 ) #casos que corresponden para poder actualizar las imagenes de los cuadros de los personajes ha seleccionar + una lista auxiliar :) if ID_pj1 == 0: a = 1 if ID_pj1 == 1: b = 1 if ID_pj1 == 2: c = 1 if ID_pj1 == 3: d = 1 if ID_pj1 == 4: e = 1 if ID_pj2 == 0: a = 2 if ID_pj2 == 1: b = 2 if ID_pj2 == 2: c = 2 if ID_pj2 == 3: d = 2 if ID_pj2 == 4: e = 2 if ID_pj1 == ID_pj2: X = x[ID_pj1] if X == 0: a = 3 if X == 1: b = 3 if X == 2: c = 3 if X == 3: d = 3 if X == 4: e = 3 Bloque = { } #las imagenes de los cuadros de personajes se tienen que resetear cada vez que se cambia la posicion para que se pueda actualizar la imagen a mostrar Bloque[0] = pygame.image.load(Imagen[a]).convert() Bloque[1] = pygame.image.load(Imagen[b]).convert() Bloque[2] = pygame.image.load(Imagen[c]).convert() Bloque[3] = pygame.image.load(Imagen[d]).convert() Bloque[4] = pygame.image.load(Imagen[e]).convert() cuadro1 = pygame.image.load(Cuadro[v]).convert() cuadro2 = pygame.image.load(Cuadro[w]).convert() screen.blit(cuadro1, (50, 40)) screen.blit(cuadro2, (718, 40)) screen.blit(Bloque[0], (30, 510)) screen.blit(Bloque[1], (234, 580)) screen.blit(Bloque[2], (435, 620)) screen.blit(Bloque[3], (640, 580)) screen.blit(Bloque[4], (845, 510)) pygame.display.flip() pygame.time.wait(time) if final_pj1 == 1 and final_pj2 == 1: ##Observacion## (Estas corresponden a los numeros asigados a ellos para que el nucleo, sepa cual cargar) if ID_pj1 == 2: #1-Musician while not ID_pj1 == 2: #2-Medic ID_pj1 = random.randint(0, 4) #3-Enginner if ID_pj2 == 2: #4-Psyco while not ID_pj2 == 2: ID_pj2 = random.randint(0, 4) if ID_pj1 == 0: ID_pj1 = 1 if ID_pj1 == 1: ID_pj1 = 2 if ID_pj2 == 0: ID_pj2 = 1 if ID_pj2 == 1: ID_pj2 = 2 return ID_pj1, ID_pj2 if event.type == pygame.QUIT: pygame.quit() sys.exit()
def main(*args): """Display multiple images bounce off each other using collition detection Positional arguments: one or more image file names. This pygame.masks demo will display multiple moving sprites bouncing off each other. More than one sprite image can be provided. """ if len(args) == 0: raise ValueError("Require at least one image file name: non given") print('Press any key to quit') screen = pygame.display.set_mode((640, 480)) images = [] masks = [] for impath in args: images.append(pygame.image.load(impath).convert_alpha()) masks.append(maskFromSurface(images[-1])) numtimes = 10 import time t1 = time.time() for x in range(numtimes): m = maskFromSurface(images[-1]) t2 = time.time() print("python maskFromSurface :%s" % (t2 - t1)) t1 = time.time() for x in range(numtimes): m = pygame.mask.from_surface(images[-1]) t2 = time.time() print("C pygame.mask.from_surface :%s" % (t2 - t1)) sprites = [] for i in range(20): j = i % len(images) s = Sprite(images[j], masks[j]) s.setPos((random.uniform(0, screen.get_width()), random.uniform(0, screen.get_height()))) s.setVelocity((random.uniform(-5, 5), random.uniform(-5, 5))) sprites.append(s) pygame.time.set_timer(pygame.USEREVENT, 33) while 1: event = pygame.event.wait() if event.type == pygame.QUIT: return elif event.type == pygame.USEREVENT: """Do both mechanics and screen update""" screen.fill((240, 220, 100)) for i in range(len(sprites)): for j in range(i + 1, len(sprites)): sprites[i].collide(sprites[j]) for s in sprites: s.update(1) if s.pos[0] < -s.surface.get_width() - 3: s.pos[0] = screen.get_width() elif s.pos[0] > screen.get_width() + 3: s.pos[0] = -s.surface.get_width() if s.pos[1] < -s.surface.get_height() - 3: s.pos[1] = screen.get_height() elif s.pos[1] > screen.get_height() + 3: s.pos[1] = -s.surface.get_height() screen.blit(s.surface, s.pos) pygame.display.update() elif event.type == pygame.KEYDOWN: return