def run(self, game, state_stack): #set music pygame.mixer.music.stop() pygame.mixer.music.load('scene2.wav') """Starts the cutscene""" clock = pygame.time.Clock() self.game = game game.set_state_time() scene = rabbyt.Sprite("1space.png") scene.scale = 2.0 scene.x = 400 rabbit = rabbyt.Sprite("1rabbit.png") self.state_stack = state_stack #scene.alpha = rabbyt.lerp(0.0, 0.8, startt=1, endt=30) #scene.x = rabbyt.lerp(-20, 60, startt=1, endt=6) rabbit.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) rabbit.scale = 0.5 #rabbit.xy = (60,-60) words = FontSprite(game.font, "Dimensional Rabbit: ZzZzz ...") words.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) words.y = -250 words.x = -180 self.music_started = False game.done = False while not game.done: clock.tick(40) rabbyt.clear() scene.render() rabbyt.set_time(game.get_ticks()/1000.0) ticks = game.get_ticks()/1000.0 if ticks >= 3: if not self.music_started: pygame.mixer.music.play() self.music_started = True words.render() rabbit.render() if ticks >= 5 and ticks < 7: words.x = -200 words.text = "Dimensional Rabbit: ZZzzZ ZZzz ..." elif ticks >= 7 and ticks < 9: words.text = "Dimensional Rabbit: Oh!" words.x = -160 elif ticks >= 9 and ticks < 11: words.text = "Dimensional Rabbit: I didn't think ..." words.x = -240 elif ticks >= 11 and ticks < 13: words.text = "Dimensional Rabbit: ..." + \ " anybody would make it this far" words.x = -330 elif ticks >= 13 and ticks < 17: words.text = "Dimensional Rabbit: Pardon me, you look lost." words.x = -270 elif ticks >= 17 and ticks < 21: words.text = "Scientist: I know exactly where I'm going." words.x = -250 elif ticks >= 21 and ticks < 25: words.text = "Dimensional Rabbit: Then you won't be " + \ "needing help from me." words.x = -385 elif ticks >= 25 and ticks < 29: words.text = "Dimensional Rabbit: Tata!" words.x = -160 rabbit.alpha = rabbyt.lerp(1.0, 0.0, startt=25, endt=29) elif ticks >= 29: words.text = "Scientist: ..." words.x = -100 scene.alpha = rabbyt.lerp(1.0, 0.0, startt=29, endt=33) if ticks >= 33: game.done = True self.set_next_state() for event in pygame.event.get(): if event.type == QUIT: game.done = True fdata = open("RabbitHighScores", 'w') for i in range(5): fdata.write(game.high_score_names[i] + \ " " + str(game.high_scores[i]) + "\n") if event.type == KEYDOWN: if event.key == K_ESCAPE or event.key == K_RETURN: game.done = True self.set_next_state() elif event.type == pygame.JOYBUTTONDOWN and game.joystick.get_button(game.controls.settings["Escape"]): game.done = True self.set_next_state() pygame.display.flip()
def run(self, game, state_stack): """Starts the cutscene""" clock = pygame.time.Clock() self.game = game game.set_state_time() scene = rabbyt.Sprite("1space.png") scene.scale = 2.0 scene.x = 400 rabbit = rabbyt.Sprite("1rabbit.png") self.state_stack = state_stack #scene.alpha = rabbyt.lerp(0.0, 0.8, startt=1, endt=30) #scene.x = rabbyt.lerp(-20, 60, startt=1, endt=6) rabbit.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) rabbit.scale = 0.5 #rabbit.xy = (60,-60) words = FontSprite(game.font, "Dimensional Rabbit: ZzZzz ...") words.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) words.y = -250 words.x = -180 #set music pygame.mixer.music.stop() pygame.mixer.music.load('scene3.wav') self.music_started = False game.done = False while not game.done: clock.tick(40) rabbyt.clear() scene.render() rabbyt.set_time(game.get_ticks()/1000.0) ticks = game.get_ticks()/1000.0 if ticks >= 3: if not self.music_started: self.music_started = True pygame.mixer.music.play() words.render() rabbit.render() if ticks >= 5 and ticks < 7: words.x = -200 words.text = "Dimensional Rabbit: Hello Again!" elif ticks >= 7 and ticks < 9: words.text = "Dimensional Rabbit: How are you doing?" words.x = -220 elif ticks >= 9 and ticks < 11: words.text = "Dimensional Rabbit: Do you need help" words.x = -220 elif ticks >= 11 and ticks < 13: words.text = "Dimensional Rabbit: ..." + \ " Navigating this place?" words.x = -260 elif ticks >= 13 and ticks < 17: words.text = "Scientist: Well... do you know where" words.x = -220 elif ticks >= 17 and ticks < 21: words.text = "Scientist: The year 2444 is?." words.x = -175 elif ticks >= 21 and ticks < 25: words.text = "Dimensional Rabbit: Oh it's right around " + \ "here I think..." words.x = -350 elif ticks >= 25 and ticks < 29: words.text = "Scientist: Really? That doesn't look..." words.x = -210 rabbit.alpha = rabbyt.lerp(1.0, 0.0, startt=25, endt=29) elif ticks >= 29: words.text = "Scientist: WHOA!!" words.x = -110 scene.alpha = rabbyt.lerp(1.0, 0.0, startt=29, endt=33) if ticks >= 33: game.done = True self.set_next_state() for event in pygame.event.get(): if event.type == QUIT: game.done = True fdata = open("RabbitHighScores", 'w') for i in range(5): fdata.write(game.high_score_names[i] + \ " " + str(game.high_scores[i]) + "\n") if event.type == KEYDOWN: if event.key == K_ESCAPE or event.key == K_RETURN: game.done = True self.set_next_state() elif event.type == pygame.JOYBUTTONDOWN and game.joystick.get_button(game.controls.settings["Escape"]): game.done = True self.set_next_state() pygame.display.flip()
def run(self, game, state_stack): """Starts the cutscene""" clock = pygame.time.Clock() self.game = game game.set_state_time() scene = rabbyt.Sprite("1space.png") scene.scale = 2.0 scene.x = 400 rabbit = rabbyt.Sprite("1rabbit.png") self.state_stack = state_stack # scene.alpha = rabbyt.lerp(0.0, 0.8, startt=1, endt=30) # scene.x = rabbyt.lerp(-20, 60, startt=1, endt=6) rabbit.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) rabbit.scale = 0.5 # rabbit.xy = (60,-60) words = FontSprite(game.font, "Dimensional Rabbit: Oh ...") words.alpha = rabbyt.lerp(0.0, 1.0, startt=3, endt=5) words.y = -250 words.x = -180 # set music pygame.mixer.music.stop() pygame.mixer.music.load("scene4.wav") self.music_started = False game.done = False while not game.done: clock.tick(40) rabbyt.clear() scene.render() rabbyt.set_time(game.get_ticks() / 1000.0) ticks = game.get_ticks() / 1000.0 if ticks >= 3: if not self.music_started: pygame.mixer.music.play() self.music_started = True words.render() rabbit.render() if ticks >= 5 and ticks < 7: words.x = -200 words.text = "Dimensional Rabbit: It's you again ..." elif ticks >= 7 and ticks < 11: words.text = "Scientist: THAT WAS THE WRONG TIME" words.x = -240 elif ticks >= 11 and ticks < 15: words.text = "Scientist: WHY'D you lead me to WW2?!" words.x = -250 elif ticks >= 15 and ticks < 19: words.text = "Dimensional Rabbit: So I was off" + " by like 500 years." words.x = -315 elif ticks >= 19 and ticks < 23: words.text = "Dimensional Rabbit: Do you know how many " + "portals there are" words.x = -380 elif ticks >= 23 and ticks < 27: words.text = "Dimensional Rabbit: in this place?" words.x = -200 elif ticks >= 27 and ticks < 31: words.text = "Scientist: Well can you tell me where now?" words.x = -250 elif ticks >= 31 and ticks < 35: words.text = "Dimensional Rabbit: Yeah it's this one " + "for sure." words.x = -305 elif ticks >= 35 and ticks < 39: words.text = "Dimensional Rabbit: Sorry about the mix up. Good luck!" words.x = -350 rabbit.alpha = rabbyt.lerp(1.0, 0.0, startt=25, endt=29) elif ticks >= 40: words.text = "Scientist: I hope you're right this time!" words.x = -200 scene.alpha = rabbyt.lerp(1.0, 0.0, startt=29, endt=33) if ticks >= 37: game.done = True self.set_next_state() for event in pygame.event.get(): if event.type == QUIT: game.done = True fdata = open("RabbitHighScores", "w") for i in range(5): fdata.write(game.high_score_names[i] + " " + str(game.high_scores[i]) + "\n") if event.type == KEYDOWN: if event.key == K_ESCAPE or event.key == K_RETURN: game.done = True self.set_next_state() elif event.type == pygame.JOYBUTTONDOWN and game.joystick.get_button(game.controls.settings["Escape"]): game.done = True self.set_next_state() pygame.display.flip()
def run(self, game, state_stack): backg = rabbyt.Sprite('1Menu_Screen1.png') textbox = rabbyt.Sprite('1textbox.png') enter_name = FontSprite(game.font, "") inst = FontSprite(game.font, "Instructions:") inst.rgb = (0, 0, 0) inst.y = -50 inst.x = -90 movement = FontSprite(game.font, "Move with the arrow keys") movement.x = -150 movement.y = -100 movement.rgb = (0, 0, 0) fire = FontSprite(game.font, "Press the Space Bar to fire") fire.x = -150 fire.y = -150 fire.rgb = (0, 0, 0) save = FontSprite(game.font, "Press the C key to save a time to") save.x = -400 save.y = -200 save.rgb = (10, 10, 10) save2 = FontSprite(game.font, "go back to and help yourself") save2.x = -400 save2.y = -250 save2.rgb = (150, 150, 150) revert = FontSprite(game.font, "Press the C again key to go back ") revert.x = 50 revert.y = -200 revert.rgb = (100, 100, 100) revert2 = FontSprite(game.font, "to the time you saved before.") revert2.x = 25 revert2.y = -250 revert2.rgb = (150, 150, 150) enter_name.rgb = (0, 0, 0) textbox.y = -10 self.game = game game.done = False while not self.game.done: rabbyt.clear() backg.render() textbox.render() enter_name.render() inst.render() movement.render() fire.render() save.render() save2.render() revert.render() revert2.render() self.game.clock.tick(40) for event in pygame.event.get(): if event.type == pygame.QUIT: self.game.done = True fdata = open("RabbitHighScores", 'w') for i in range(5): fdata.write(self.game.high_score_names[i] + " " + \ str(self.game.high_scores[i]) + "\n") elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: self.game.done = True state_stack.append(states.menu.Menu()) elif event.key == pygame.K_RETURN: if(enter_name.text == ""): self.game.winner_name = "Rabbit" else: self.game.winner_name = enter_name.text self.game.done = True self.set_next_level(state_stack) elif event.key == pygame.K_BACKSPACE: enter_name.text = enter_name.text[:-1] enter_name.x += 6 elif not event.key == pygame.K_SPACE and \ len(enter_name.text) < 9: enter_name.text += event.unicode enter_name.x -= 6 elif event.type == pygame.JOYBUTTONDOWN: if self.game.joystick.get_button(self.game.controls.settings["Escape"]): self.game.done = True state_stack.append(states.menu.Menu()) if self.game.joystick.get_button(self.game.controls.settings["Fire"]): if(enter_name.text == ""): self.game.winner_name = "Rabbit" else: self.game.winner_name = enter_name.text self.game.done = True self.set_next_level(state_stack) pygame.display.flip()