YOU ARE THE MONSTER!!!!!

Python
namespace SpriteKind {
    export const Obstacle = SpriteKind.create()
    export const Ground = SpriteKind.create()
}
sprites.onOverlap(SpriteKind.Player, SpriteKind.Obstacle, function (sprite, otherSprite) {
    music.play(music.createSong(hex`0078000408040500001c00010a006400f401640000040000000000000000000000000005000004300000000400012008000c0001271000140001201400180001251c002000012224002800012528002c00012030003400012903001c0001dc00690000045e01000400000000000000000000056400010400031e0040004400012548004c00012550005400012558005c0001205c006000012904001c00100500640000041e000004000000000000000000000000000a0400040d0060006400012568006c0002202905001c000f0a006400f4010a0000040000000000000000000000000000000002130034003800042024292c38003c0005202425292a06001c00010a006400f401640000040000000000000000000000000000000002120070007400012274007800012278007c000125`), music.PlaybackMode.UntilDone)
    game.gameOver(false)
})
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
    if (hero.y >= 106) {
        hero.vy = -145
    }
})
info.onCountdownEnd(function () {
    game.gameOver(true)
})
sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {
    info.changeScoreBy(1)
    sprites.destroy(otherSprite)
})
let block: Sprite = null
let coin: Sprite = null
let ground: Sprite = null
let hero: Sprite = null
info.setScore(0)
info.startCountdown(20)
scene.setBackgroundColor(13)
game.splash("Untitled")
hero = sprites.create(img`
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    cccccccccccccccccccc
    `, SpriteKind.Player)
hero.setPosition(28, 108)
hero.ay = 360
for (let i = 0; i <= 10; i++) {
    ground = sprites.create(img`
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        d d d d d d d d d d d d d d d d 
        8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
        `, SpriteKind.Ground)
    ground.setFlag(SpriteFlag.Ghost, true)
    ground.z = -10
    ground.x = i * 16 + 8
}
hero.setImage(img`
    ........................
    ........................
    ........................
    ........................
    ..........ffff..........
    ........ff1111ff........
    .......fb111111bf.......
    .......fd1111111f.......
    ......fdd1111111df......
    ......fddd111111df......
    ......fdddddd111df......
    ......fbddddb221df......
    ......fcbbbdc22dbf......
    .......fcbb11111f.......
    ........fffff1b1f.......
    ........5f111cfbf.......
    ........55f1f1ff........
    ......55445f5ff.........
    ......42224555..........
    .......22445............
    ........................
    ........................
    ........................
    ........................
    `)
game.setGameOverMessage(false, "GAME OVER!")
game.setGameOverEffect(false, effects.hearts)
game.setGameOverPlayable(false, music.melodyPlayable(music.siren), true)
game.showLongText("YOU ARE THE MONSTER ", DialogLayout.Bottom)
game.setGameOverMessage(true, "WIN!")
game.setGameOverEffect(true, effects.starField)
game.setGameOverPlayable(true, music.melodyPlayable(music.magicWand), true)
game.onUpdate(function () {
    if (hero.y > 108) {
        hero.y = 108
        hero.vy = 0
    }
})
game.onUpdateInterval(1500, function () {
    coin = sprites.create(img`
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        `, SpriteKind.Food)
    coin.setPosition(170, 80)
    coin.setVelocity(-90, 0)
    coin.setImage(img`
        ..............eeeeeee...........
        ............ee455662e2e.........
        ..........ee45556723e2688.......
        .........e46776677232e777668....
        ........e46745554772227776778...
        .......4448744444777766777678...
        ......4522e7777776777766676668..
        .....4523227766722e666eeeee888..
        ....455232e76672322e4555dddd48..
        ...44567777554623e455ddddddddd4.
        ...e66774554477e455dddd55554dd44
        ..e46777444677e55dd55555d55dddd4
        ..e5668677666e5dd555555555555dde
        .e45544e8776e5d555554555555555de
        .e554eeee66e5d5555d55555dddd54de
        .e55ee44fee5d5d555555d5d5dddddde
        e454eeeefe45d55555555555dd4ddde.
        e5e4eefffe5d55555555d5555dddde..
        e5ee4eeff45d555555555555dddde...
        e5eeeeffe5d55d555d5555d5ddde....
        e5ffefeee5d55545555555ddd4e.....
        e5ffffffe545555555d5d4ddee......
        e54efeff45d55d55555dddde........
        e5eeeffe5dd5555545dddee.........
        e4eeefff5d5555d55ddde...........
        e4efefff5d5d55555d4e............
        .e4efffe5d555555dee.............
        .e54eeee5d545dd4e...............
        ..e554ee5dddddee................
        ...ee5544dddee..................
        .....eeeeeee....................
        ................................
        `)
})
game.onUpdateInterval(1200, function () {
    block = sprites.createProjectile(img`
        ..............ffffff....
        .............f2feeeeff..
        ............f222feeeeff.
        ............feeeeffeeef.
        ...........fe2222eeffff.
        ...........f2effff222ef.
        ...........fffeeefffffff
        ...........fee44fbe44eff
        ............feddf14d4eef
        .............fdddd4eeef.
        .............fe444eddf..
        .............ccc22eddf..
        .............cdc22fee...
        ............cddc4444f...
        ...........cddcfffff....
        ..........cddc..fff.....
        ..........cdc...........
        ..........cc............
        ........................
        ........................
        ........................
        ........................
        ........................
        ........................
        `, -90, 0, SpriteKind.Obstacle)
    block.setPosition(scene.screenWidth(), 108)
})
mustafayildizhan
Sign in to react
2
Uploaded Sep 3, 2026