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)
})
mustafayildizhanMustafa Yıldızhan
Uploaded Sep 3, 2026Sign in to react
2