Beispiel #1
0
        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()
Beispiel #2
0
    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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #6
0
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)