# --- özel sprite türü --- @namespace class SpriteKind: Cake = SpriteKind.create() # --- oyuncu ayarları --- steve = sprites.create(assets.image("steve"), SpriteKind.player) steve.set_stay_in_screen(True) controller.move_sprite(steve) # --- oyun durumu --- info.set_life(3) info.start_countdown(60) scene.set_background_color(6) ## Bu oyunda envanter ve seviye kavramları kullanılmamaktadır, ## böylece kaldırılabilirler (BİO) #### inventory = [] #### level = 0 ## Yiyecekler 'random_assets' fonksiyonu içinde oluşturulur, bu nedenle ## önceden oluşturmaya gerek yok (KTE) #### melon = sprites.create(assets.image("melon"), SpriteKind.food) #### melon.x = randint(0, scene.screen_width()) #### melon.y = randint(0, scene.screen_height()) #### #### carrot = sprites.create(assets.image("carrot"), SpriteKind.food) #### carrot.x = randint(0, scene.screen_width()) #### carrot.y = randint(0, scene.screen_height()) #### #### cake = sprites.create(assets.image("cake"), SpriteKind.Cake) #### cake.x = randint(0, scene.screen_width()) #### cake.y = randint(0, scene.screen_height()) # --- her 2 saniyede bir rastgele öğeler oluştur --- def random_assets(): melon = sprites.create(assets.image("melon"), SpriteKind.food) melon.x = randint(0, scene.screen_width()) melon.y = randint(0, scene.screen_height()) carrot = sprites.create(assets.image("carrot"), SpriteKind.food) carrot.x = randint(0, scene.screen_width()) carrot.y = randint(0, scene.screen_height()) ## Ayrı bir değişken oluşturup olasılığı ## elle hesaplamak yerine, yerleşik işlevi (BTS) kullanabilirsiniz #### chance = randint(0, 100) #### if chance < 20: if Math.percent_chance(20): cake = sprites.create(assets.image("cake"), SpriteKind.Cake) cake.x = randint(0, scene.screen_width()) cake.y = randint(0, scene.screen_height()) else: creeper = sprites.create(assets.image("enemy"), SpriteKind.enemy) creeper.x = randint(0, scene.screen_width()) creeper.y = randint(0, scene.screen_height()) game.on_update_interval(2000, random_assets) ## Bu oyunda seviye sistemi kullanılmamaktadır (BİO) #### def calculate_level(xp): #### return xp / 10 # --- çakışma(yiyeceğe dokunma durumu): yiyecek topla (+1 puan) --- def on_food_overlap(sprite, other_sprite): info.change_score_by(1) other_sprite.destroy() sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_food_overlap) # --- çakışma(yiyeceğe dokunma durumu): pasta topla (+10 puan) --- def on_cake_overlap(sprite, other_sprite): info.change_score_by(10) other_sprite.destroy() sprites.on_overlap(SpriteKind.player, SpriteKind.Cake, on_cake_overlap) # --- çakışma: düşmana isabet (-1 can, +15 puan) --- def on_enemy_overlap(sprite, other_sprite): info.change_life_by(-1) info.change_score_by(15) other_sprite.destroy() sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_enemy_overlap)