# --- ö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)