self.hide() @when_I_receive('Update_Score') def show_correct_digit(self): self.switch_costume('digit-%d' % GlobalVariables.score_1) self.show() class Score_2(Sprite): Costumes = score_costumes @when_green_flag_clicked def set_position_and_size(self): self.go_to_xy(220, 162) self.hide() @when_I_receive('Update_Score') def show_correct_digit(self): self.switch_costume('digit-%d' % GlobalVariables.score_2) self.show() project = Project() project.register_stage_class(PongStage) project.register_sprite_class(Player_1) project.register_sprite_class(Player_2) project.register_sprite_class(Score_1) project.register_sprite_class(Score_2) project.register_sprite_class(Ball) project.go_live()
def switch_backdrop_by_number(self): self.switch_backdrop(1) self.print_current_backdrop() self.switch_backdrop(0) self.print_current_backdrop() self.switch_backdrop(1) self.print_current_backdrop() self.switch_backdrop(2) self.print_current_backdrop() self.switch_backdrop(1) self.print_current_backdrop() @pytch.when_I_receive("switch-to-wooden") def switch_to_wooden(self): self.switch_backdrop("wooden-stage") @pytch.when_I_receive("switch-to-sky") def switch_to_sky(self): self.switch_backdrop("sunny-sky") @pytch.when_I_receive("switch-to-white") def switch_to_white(self): self.switch_backdrop("solid-white-stage") # --cut-here-for-auto-config-- project = Project() project.register_sprite_class(Alien) project.register_stage_class(Background)
import pytch from pytch import ( Sprite, Stage, Project, ) class Ball(Sprite): Costumes = [('yellow-ball', 'ball.png', 8, 8)] class Table(Stage): Backdrops = [('wooden', 'wooden-stage.png'), ('white', 'solid-white-stage.png')] project = Project() project.register_sprite_class(Ball) project.register_stage_class(Table)
class Galaxies(Stage): def __init__(self): Stage.__init__(self) self.generated_id = 42 class Alien(Sprite): def __init__(self): Sprite.__init__(self) self.generated_id = next_global_id() @when_I_start_as_a_clone def get_fresh_id(self): self.generated_id = next_global_id() @when_I_receive('clone-self') def clone_self(self): pytch.create_clone_of(self) @when_I_receive('hide-if-lt-102') def hide_if_lt_102(self): if self.generated_id < 102: self.hide() # --cut-here-for-auto-config-- project = Project() project.register_sprite_class(Alien) project.register_stage_class(Galaxies)
import pytch from pytch import ( Stage, Project, ) class InvisibleStage(Stage): Backdrops = [] project = Project() project.register_stage_class(InvisibleStage)
import pytch from pytch import ( Project, Stage, ) class Scenery(Stage): def __init__(self): Stage.__init__(self) self.colour = 'red' # --cut-here-for-auto-config-- project = Project() project.register_stage_class(Scenery)
class Scanner(Sprite): @when_green_flag_clicked def init(self): # Store the IDs rather than the actual Alien objects, because # Sk.ffi.remapToJs() does not know how to handle Alien instances. self.got_ids = 0 @when_I_receive('get-original') def get_original(self): self.got_ids = Alien.the_original().id @when_I_receive('get-clones') def get_clones(self): self.got_ids = sorted([a.id for a in Alien.all_clones()]) @when_I_receive('get-instances') def get_instances(self): self.got_ids = sorted([a.id for a in Alien.all_instances()]) @when_I_receive('get-stage') def get_stage(self): self.got_ids = WhiteSheet.the_only().id # --cut-here-for-auto-config-- project = Project() project.register_stage_class(WhiteSheet) project.register_sprite_class(Alien) project.register_sprite_class(Scanner)