Hot Air Balloon

namespace SpriteKind {
    export const Background = SpriteKind.create()
    export const Mountain = SpriteKind.create()
}
controller.anyButton.onEvent(ControllerButtonEvent.Pressed, function () {
    balloon.startEffect(effects.fire)
    balloon.startEffect(effects.fire)
    balloon.ay = -50
    balloon.setImage(balloonInflated)
})
function spawnSomething (roll: number) {
    if (roll <= 2) {
        createSaucer()
    } else if (roll <= 6) {
        createTree()
    } else if (roll <= 24) {
        createCloud()
    } else if (roll <= 40) {
        createBird()
    }
}
function createSaucer () {
    if (Math.percentChance(50)) {
        saucerSpeed = 40
    } else {
        saucerSpeed = -40
    }
    saucer = sprites.createProjectileFromSide(img`
        . . . . . . . . . f f f . . . . . . . . .
        . . . . . . . f f 8 8 8 f f . . . . . . .
        . . . . . . f 8 8 8 8 9 9 8 f . . . . . .
        . . . . . f 8 8 8 8 8 8 9 9 8 f . . . . .
        . . . . f 8 8 8 a 8 a 8 8 9 9 8 f . . . .
        . . . f f 8 8 8 8 8 8 8 8 8 9 8 f f . . .
        . . f d d d d d d d d d d d d d d d f . .
        . f b b b b b b b b b b b b b b b b b f .
        f a 9 b 9 b b 9 b b 9 b b 9 b b 9 b 9 a f
        . f a c c c c c c c c c c c c c c c a f .
        . . f a a c c c c c c c c c c c a a f . .
        . . . f f a a c c c c c c c a a f f . . .
        . . . . . f f f f f f f f f f f . . . . .
        . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . .
        . . . . . . f f f f f f f f f . . . . . .
    `, saucerSpeed, 0)
    animation.runImageAnimation(
    saucer,
    flyingSaucer,
    400,
    true
    )
    saucer.y = randint(10, scene.screenHeight() - 10)
}
function placeMountain (leftPosition: number) {
    lastCreatedMountain = sprites.create(mountains[randint(0, 1)], SpriteKind.Mountain)
    lastCreatedMountain.setFlag(SpriteFlag.Ghost, true)
    lastCreatedMountain.setFlag(SpriteFlag.AutoDestroy, true)
    lastCreatedMountain.bottom = scene.screenHeight()
    lastCreatedMountain.left = leftPosition
    lastCreatedMountain.z = -15
}
function createTree () {
    tree = sprites.createProjectileFromSide(img`
        . . . . . . . c c . . . . . . .
        . . . . c c c 6 5 c 6 6 . . . .
        . . . . c 6 c 5 5 c 7 6 . . . .
        . . . 6 c c 7 5 5 7 c 6 6 . . .
        . . c c 7 7 7 7 7 5 7 7 c 6 . .
        . 6 6 6 c 6 7 7 7 7 6 c c 6 6 .
        c 7 7 7 6 c 7 c 6 7 6 7 7 7 7 6
        c c c 6 6 6 c 6 6 6 6 7 7 6 6 6
        . c c 7 6 6 6 6 6 7 7 7 7 c 6 .
        . c 7 7 6 6 7 6 6 7 7 6 7 7 c .
        . c c c c 7 7 6 f 7 7 c c c c .
        . . . . c 7 c f f c 7 c . . . .
        . . . . . 6 f e e e c . . . . .
        . . . . . e e e d e e . . . . .
    `, -10, 0)
    tree.z = -5
    tree.bottom = scene.screenHeight()
    tree.setFlag(SpriteFlag.Ghost, true)
}
sprites.onOverlap(SpriteKind.Player, SpriteKind.Projectile, function (sprite, otherSprite) {
    info.changeLifeBy(-1)
    otherSprite.setFlag(SpriteFlag.Ghost, true)
    sprite.say("ow!", 500)
})
function createCloud () {
    cloudImages = [img`
        . . . . . . . . . . . . . . . . . . 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 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 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 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 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 1 1 1
        . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 .
   `, img`
        . . . 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 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 1 . . . . . . .
   `, img`
        . . . . . . . . . . . . 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 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 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 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 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 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . .
    `]
    cloud = sprites.createProjectileFromSide(cloudImages[randint(0, cloudImages.length - 1)], -5, 0)
    cloud.z = -10
    cloud.setFlag(SpriteFlag.Ghost, true)
    cloud.y = randint(0, scene.screenHeight() * 0.6)
}
controller.anyButton.onEvent(ControllerButtonEvent.Released, function () {
    balloon.ay = 50
    effects.clearParticles(balloon)
    balloon.setImage(balloonDeflated)
})
function createBird () {
    if (Math.percentChance(50)) {
        saucerSpeed = 20
        chosenAnimation = birdGoingRight
    } else {
        saucerSpeed = -20
        chosenAnimation = birdGoingLeft
    }
    bird = sprites.createProjectileFromSide(img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . f f f f . . . . . . . . .
        . . f 8 8 8 8 f f f f . f f f .
        . f 8 f 8 8 8 8 8 8 8 f 8 8 8 f
        f 4 5 8 8 8 8 8 8 8 8 8 f f 8 f
        f 5 5 5 8 8 f 8 8 8 8 8 8 8 f .
        . f f f 8 8 8 f 8 8 8 8 8 8 f .
        . . . . f f f f f 8 8 8 f f . .
        . . . . . . . . f f f f . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
    `, saucerSpeed, 0)
    animation.runImageAnimation(
    bird,
    chosenAnimation,
    100,
    true
    )
    bird.y = randint(12, scene.screenHeight() - 10)
}
function createAnimationArrays () {
    flyingSaucer = [img`
        . . . . . . . . . f f f . . . . . . . . .
        . . . . . . . f f 8 8 8 f f . . . . . . .
        . . . . . . f 8 8 8 8 9 9 8 f . . . . . .
        . . . . . f 8 8 8 8 8 8 9 9 8 f . . . . .
        . . . . f 8 8 8 a 8 a 8 8 9 9 8 f . . . .
        . . . f f 8 8 8 8 8 8 8 8 8 9 8 f f . . .
        . . f d d d d d d d d d d d d d d d f . .
        . f b b b b b b b b b b b b b b b b b f .
        f a 9 b 9 b b 9 b b 9 b b 9 b b 9 b 9 a f
        . f a c c c c c c c c c c c c c c c a f .
        . . f a a c c c c c c c c c c c a a f . .
        . . . f f a a c c c c c c c a a f f . . .
        . . . . . f f f f f f f f f f f . . . . .
        . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . .
        . . . . . . f f f f f f f f f . . . . . .
   `, img`
        . . . . . . . . . f f f . . . . . . . . .
        . . . . . . . f f 8 8 8 f f . . . . . . .
        . . . . . . f 8 8 8 8 9 9 8 f . . . . . .
        . . . . . f 8 8 8 8 8 8 9 9 8 f . . . . .
        . . . . f 8 8 8 a 8 a 8 8 9 9 8 f . . . .
        . . . f f 8 8 8 8 8 8 8 8 8 9 8 f f . . .
        . . f d d d d d d d d d d d d d d d f . .
        . f b b b b b b b b b b b b b b b b b f .
        f a b 4 b 4 4 b 4 4 b 4 4 b 4 4 b 4 b a f
        . f a c c c c c c c c c c c c c c c a f .
        . . f a a c c c c c c c c c c c a a f . .
        . . . f f a a c c c c c c c a a f f . . .
        . . . . . f f f f f f f f f f f . . . . .
        . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . .
        . . . . . . f f f f f f f f f . . . . . .
    `]
    birdGoingLeft = [img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . f f f f . . . . . . . . .
        . . f 8 8 8 8 f f f f . f f f .
        . f 8 f 8 8 8 8 8 8 8 f 8 8 8 f
        f 4 5 8 8 8 8 8 8 8 8 8 f f 8 f
        f 5 5 5 8 8 f 8 8 8 8 8 8 8 f .
        . f f f 8 8 8 f 8 8 8 8 8 8 f .
        . . . . f f f f f 8 8 8 f f . .
        . . . . . . . . f f f f . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
   `, img`
        . . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . . .
        . . . f f f f . . . . . . . . . .
        . . f 8 8 8 8 f f f f . f f f . .
        . f 8 f 8 8 8 8 8 f 8 f 8 8 8 f .
        f 4 5 8 8 8 8 8 8 8 f 8 8 8 8 f .
        f 5 5 5 8 8 f 8 8 8 8 f 8 8 f . .
        . f f f 8 8 8 f 8 8 8 8 f 8 f . .
        . . . . f f a f f 8 8 8 8 f f . .
        . . . . . . . . f 8 8 8 f . . . .
        . . . . . . . . . f 8 8 f . . . .
        . . . . . . . . . . f f . . . . .
   `, img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . f f f f . . . . . . . . .
        . . f 8 8 8 8 f f f f . f f f .
        . f 8 f 8 8 8 8 8 8 8 f 8 8 8 f
        f 4 5 8 8 8 8 8 8 8 8 8 f f 8 f
        f 5 5 5 8 8 f 8 8 8 8 8 8 8 f .
        . f f f 8 8 8 f 8 8 8 8 8 8 f .
        . . . . f f f f f 8 8 8 f f . .
        . . . . . . . . f f f f . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
   `, img`
        . . . . . . . . . . . f f . . .
        . . . . . . . . . . f 8 8 f . .
        . . . f f f f . f f 8 8 8 f . .
        . . f 8 8 8 8 f f 8 8 8 f f f .
        . f 8 f 8 8 8 8 8 8 8 f 8 8 8 f
        f 4 5 8 8 8 8 8 8 8 f 8 f f 8 f
        f 5 5 5 8 8 8 8 8 f 8 8 8 8 f .
        . f f f 8 8 8 8 8 8 8 8 8 8 f .
        . . . . f f f f f 8 8 8 f f . .
        . . . . . . . . f f f f . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
    `]
    birdGoingRight = [img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . f f f f . . .
        . f f f . f f f f 8 8 8 8 f . .
        f 8 8 8 f 8 8 8 8 8 8 8 f 8 f .
        f 8 f f 8 8 8 8 8 8 8 8 8 5 4 f
        . f 8 8 8 8 8 8 8 f 8 8 5 5 5 f
        . f 8 8 8 8 8 8 f 8 8 8 f f f .
        . . f f 8 8 8 f f f f f . . . .
        . . . . f f f f . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
   `, img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . f f f f . . .
        . f f f . f f f f 8 8 8 8 f . .
        f 8 8 8 f 8 f 8 8 8 8 8 f 8 f .
        f 8 8 8 8 f 8 8 8 8 8 8 8 5 4 f
        . f 8 8 f 8 8 8 8 f 8 8 5 5 5 f
        . f 8 f 8 8 8 8 f 8 8 8 f f f .
        . . f f 8 8 8 8 f f f f . . . .
        . . . f 8 8 8 f . . . . . . . .
        . . . f 8 8 f . . . . . . . . .
        . . . . f f . . . . . . . . . .
   `, img`
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . f f f f . . .
        . f f f . f f f f 8 8 8 8 f . .
        f 8 8 8 f 8 8 8 8 8 8 8 f 8 f .
        f 8 f f 8 8 8 8 8 8 8 8 8 5 4 f
        . f 8 8 8 8 8 8 8 f 8 8 5 5 5 f
        . f 8 8 8 8 8 8 f 8 8 8 f f f .
        . . f f 8 8 8 f f f f f . . . .
        . . . . f f f f . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
   `, img`
        . . . f f . . . . . . . . . . .
        . . f 8 8 f . . . . . . . . . .
        . . f 8 8 8 f f . f f f f . . .
        . f f f 8 8 8 f f 8 8 8 8 f . .
        f 8 8 8 f 8 8 8 8 8 8 8 f 8 f .
        f 8 f f 8 f 8 8 8 8 8 8 8 5 4 f
        . f 8 8 8 8 f 8 8 8 8 8 5 5 5 f
        . f 8 8 8 8 8 8 8 8 8 8 f f f .
        . . f f 8 8 8 f f f f f . . . .
        . . . . f f f f . . . . . . . .
        . . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . .
    `]
}
let nearGroundCount = 0
let bird: Sprite = null
let birdGoingLeft: Image[] = []
let birdGoingRight: Image[] = []
let chosenAnimation: Image[] = []
let cloud: Sprite = null
let cloudImages: Image[] = []
let tree: Sprite = null
let flyingSaucer: Image[] = []
let saucer: Sprite = null
let saucerSpeed = 0
let lastCreatedMountain: Sprite = null
let mountains: Image[] = []
let balloon: Sprite = null
let balloonInflated: Image = null
let balloonDeflated: Image = null
balloonDeflated = img`
    . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . .
    . . . . . . . f f f f f . . . . . . .
    . . . . . f f 2 2 2 2 2 f f . . . . .
    . . . . f 2 2 2 2 2 2 4 4 2 f . . . .
    . . . f 2 2 2 2 2 2 2 2 4 4 2 f . . .
    . . f 2 2 2 2 2 2 2 2 2 2 4 4 2 f . .
    . f 2 2 2 3 2 2 2 2 3 2 2 2 4 2 2 f .
    . f 2 2 2 3 2 2 2 2 3 2 2 2 2 2 2 f .
    . f 2 2 2 3 2 2 2 2 3 2 2 2 2 2 2 f .
    . f 2 2 2 2 3 2 2 2 2 3 2 2 2 2 2 f .
    . f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f .
    . . f 2 2 2 2 3 2 2 2 3 2 2 2 2 f . .
    . . f 2 2 2 2 2 3 3 3 2 2 2 2 2 f . .
    . . . f f 2 2 2 2 2 2 2 2 2 f f . . .
    . . . . f f f f 2 2 2 f f f f . . . .
    . . . . . f . f f f f f . f . . . . .
    . . . . . f . . . . . . . f . . . . .
    . . . . . f . . . . . . . f . . . . .
    . . . . . . f . . . . . f . . . . . .
    . . . . . . f . . . . . f . . . . . .
    . . . . . . . f . . . f . . . . . . .
    . . . . . . . f . 2 . f . . . . . . .
    . . . . . . f f f f f f f . . . . . .
    . . . . . f c c c c c c c f . . . . .
    . . . . . f c b b b b b c f . . . . .
    . . . . . f c a b b b a c f . . . . .
    . . . . . f c b a a a b c f . . . . .
    . . . . . f c b b b b b c f . . . . .
    . . . . . f c a b b b a c f . . . . .
    . . . . . f c c a a a c c f . . . . .
    . . . . . . f c c c c c f . . . . . .
    . . . . . . . f f f f f . . . . . . .
`
balloonInflated = img`
    . . . . . . . . . . . . . . . . . . .
    . . . . . . f f f f f f f . . . . . .
    . . . . f f 2 2 2 2 2 2 2 f f . . . .
    . . . f 2 2 2 2 2 2 2 2 4 4 2 f . . .
    . . f 2 2 2 2 2 2 2 2 2 2 4 4 2 f . .
    . f 2 2 2 2 2 2 2 2 2 2 2 2 4 4 2 f .
    f 2 2 2 3 2 2 2 2 2 2 3 2 2 2 4 2 2 f
    f 2 2 2 3 2 2 2 2 2 2 3 2 2 2 2 2 2 f
    f 2 2 2 3 2 2 2 2 2 2 3 2 2 2 2 2 2 f
    f 2 2 2 2 3 2 2 2 2 2 2 3 2 2 2 2 2 f
    f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f
    f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f
    . f 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 f .
    . f 2 2 2 2 2 3 3 3 3 3 2 2 2 2 2 f .
    . . f f 2 2 2 2 2 2 2 2 2 2 2 f f . .
    . . . . f f f f 2 2 2 f f f f . . . .
    . . . . . f . f f f f f . f . . . . .
    . . . . . f . . . . . . . f . . . . .
    . . . . . f . . . . . . . f . . . . .
    . . . . . . f . . . . . f . . . . . .
    . . . . . . f . . . . . f . . . . . .
    . . . . . . . f . . . f . . . . . . .
    . . . . . . . f . 2 . f . . . . . . .
    . . . . . . f f f f f f f . . . . . .
    . . . . . f c c c c c c c f . . . . .
    . . . . . f c b b b b b c f . . . . .
    . . . . . f c a b b b a c f . . . . .
    . . . . . f c b a a a b c f . . . . .
    . . . . . f c b b b b b c f . . . . .
    . . . . . f c a b b b a c f . . . . .
    . . . . . f c c a a a c c f . . . . .
    . . . . . . f c c c c c f . . . . . .
    . . . . . . . f f f f f . . . . . . .
`
music.setVolume(0)
balloon = sprites.create(balloonDeflated, SpriteKind.Player)
scene.setBackgroundColor(9)
balloon.ay = 35
balloon.setStayInScreen(true)
balloon.z = 100
info.setScore(0)
info.setLife(3)
createAnimationArrays()
mountains = [img`
    . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . .
    . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . .
    . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b 3 3 3 3 3 3 3 3 . . .
    . . . . . . 3 3 3 3 3 3 3 3 3 b b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b 3 3 3 3 3 3 3 3 3 . .
    . . . . 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 b b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b b 3 3 3 3 3 3 3 3 3 .
    . . 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b 3 3 b 3 3 3 3 3 3 3 3 3 3 b 3 3 b b b b b b b b 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 b b b b b b b b b b 3 3 3 3 3 3 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b 3 3 b 3 3 3 3 3 3 3 3 3 3 b b b b b b b b b b b b b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b b b b b b b 3 3 3 3 b 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 b b b b b b 3 3 b 3 b 3 b b b b b b b b b b b b b b b b b 3 3 3 3 3 3 3 3 3 b 3 3 b b b b b b b b b b b b b b b b 3 3 b 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b 3 b 3 3 3 3 3 3 b b b b b b b b b b b c b b b b b b b b b b 3 b b 3
    3 3 3 3 3 3 b 3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b 3 3 3 b b b b b b b b b c b b b c c c b b b b b b b b b 3 b 3 3
    3 3 3 b 3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c b b c b b c c c c c b c c b b b b b b b b b b 3 3
    3 3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c c c c c c c c c b c c b b b b b b b b b b
    3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c c c c c c c c c c c c c c c c c c b c c b b b b b b c b
    c b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c b c c c c c c c c c c c c b c c c c c c c c c c c c c b c b b c c
    c c c b c b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c b b c c c b c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c b c c c c c
    c c c c c b b c b b b b b b b b b b b b b b b b b b b b b b b b b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b b c c c c
    c c c c c c c c b c b c b b b b b b b b b b b b b b b b b b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c b b c b b b b c b b b b b b b b b b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c b c b c b b b b b b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c b c c c c c c c c c c c c c c c c c b c b b c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c b c c c b c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
`, img`
    . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . .
    . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 . . . . . . . . . . . . . .
    . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b 3 3 3 3 . . . . . . . . . . 3 .
    . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b 3 3 3 3 3 . . . . . . 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b 3 b b b 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 3
    3 3 3 3 3 3 3 3 3 3 3 3 b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b b b 3 3 3 3 3 3 3 3 b b 3 3 3 3 3
    3 3 3 3 3 3 3 3 3 b 3 3 b 3 3 b 3 3 b 3 3 3 3 3 3 b 3 3 b b b b b b b b b b 3 3 3 3 3 3 3 3 3 3 3 3 b b b b b b b b b b b b b b b 3 3 3 3 3 3 3 3 b b b 3 3 3 3
    3 3 3 3 3 3 3 3 b b b b b b b b b b b b 3 b 3 3 3 b b b b b b b b b b b b b b 3 3 3 3 3 3 3 3 b b b b b b b b b b b b b b b b b b b 3 3 3 3 3 3 b b b b 3 3 b 3
    3 3 3 3 b 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b 3 3 3 3 b b b b b b b b b b b b b b b b b b b b b b b 3 b 3 b b b b b b b b b
    c 3 3 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b c b c b b b b b b b b b 3 b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c
    c c c b b b b b b b b b b b b b b b b b b b b b b b b b c b b c c c c b b b b b b b b b b b b b b b b b b b b c b b b b b b b b b b b b b b b b b b b c b b c c
    c c c c b b b b b b b b b b b b b b b b b b b b b b b c c c c c c b c c b c b c b b b b b b b b b b b c b b c c b b b b b b b b b b b b b b b b b b b c b c c c
    c c c c c c b c b b b b b b b b b b b b b b b b b c c c c c c c c c c c c c c c c b b b b b b b c b b c c c c c c c b c b b b b b b b b b b b b b c b c c c c c
    c c c c c c c c b c b b b b b c c b b b b b b c c c c c c c c c c c c c c c c c c c c c b c b c c c c c c c c c c c c c b b c b b b b b b b b b b c c c c c c c
    c b c c c c c c c c b b c b c c c c b b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b b b b b c c c c c c c c c b c c
    c c c c c c c c c c c c c b b c c b b b c c c c c b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c b c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c b c b c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c b c b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c
    c c c c c c c c b c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
    c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
`]
let sun = sprites.create(img`
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . . . . .
    4 4 4 4 4 . . . . . . . 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 . . . .
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 .
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
`, SpriteKind.Background)
sun.bottom = scene.screenHeight()
sun.setFlag(SpriteFlag.Ghost, true)
sun.z = -20
placeMountain(0)
placeMountain(lastCreatedMountain.right)
game.setDialogFrame(img`
    . . . c c . . . . . . . . . . . . . . . . . . . . . . c c . . . .
    . . c 5 5 c . . b b b b . . . b b b b b . . . . . . c 5 5 c . . .
    . c b 5 5 b c b d d d b b b b b d d d b b b b b b c b 5 5 b c . .
    b 5 5 5 5 5 5 b b d d d b 1 1 1 b d d d b 1 1 d b 5 5 5 5 5 5 b .
    b b 5 5 5 5 b b d b d b 1 1 1 1 1 b d b 1 1 1 1 b b 5 5 5 5 b b .
    c b 5 5 5 5 b c d d d 1 1 1 1 1 d d d 1 1 1 1 1 c b 5 5 5 5 b c .
    . c 5 b b 5 c 1 1 1 1 d 1 1 1 d 1 1 1 d 1 1 1 d d c 5 b b 5 c . .
    . c b b b b c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c b b b b c . .
    . . b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 1 1 b b .
    . . b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 b d b .
    . . b b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d b d d b .
    . b b d b 1 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d d d d b .
    . b d d d d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 b d b b .
    . b d d b d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b b . .
    . b d b 1 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b . .
    . b b 1 1 1 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b . .
    . . b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 1 1 b b .
    . . b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 b d b .
    . . b b 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d b d d b .
    . b b d b 1 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d d d d b .
    . b d d d d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 1 b d b b .
    . b d d b d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b b . .
    . b d b b 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 b . .
    . b b b d 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 b . .
    . . b c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d c c d b . .
    . . c 5 5 c 1 1 1 d 1 1 1 d 1 1 1 d 1 1 1 d 1 1 1 1 c 5 5 c b . .
    . c b 5 5 b c d d 1 1 1 1 1 d d d 1 1 1 1 1 d d d c b 5 5 b c . .
    b 5 5 5 5 5 5 b 1 1 1 1 1 b d b 1 1 1 1 1 b d b b 5 5 5 5 5 5 b .
    b b 5 5 5 5 b b b 1 1 1 b d d d b 1 1 1 b d d d b b 5 5 5 5 b b .
    c b 5 5 5 5 b c d b b b b b d d d b b b b b d d c b 5 5 5 5 b c .
    . c 5 b b 5 c . b b . . . b b b b b . . . b b b b c 5 b b 5 c . .
    . c b b b b c . . . . . . . . . . . . . . . . . . c b b b b c . .
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`)
game.showLongText("Stay in the air as long as you can! Hold any   button to turn on the burner.", DialogLayout.Center)
for (let index = 0; index <= 1; index++) {
    spawnSomething(randint(0, 40))
}
game.onUpdateInterval(200, function () {
    // changing position explicitly to avoid fractions of
    // movement / clipping
    for (let value of sprites.allOfKind(SpriteKind.Mountain)) {
        value.x += -1
    }
    if (lastCreatedMountain.right < scene.screenWidth()) {
        placeMountain(lastCreatedMountain.right)
    }
})
game.onUpdateInterval(750, function () {
    spawnSomething(randint(0, 100))
})
game.onUpdate(function () {
    info.changeScoreBy(1)
})
game.onUpdate(function () {
    balloon.vy = Math.constrain(balloon.vy, -25, 25)
})
forever(function () {
    nearGroundCount = -1
    while (balloon.bottom >= scene.screenHeight() - 1) {
        balloon.say("pull up!", 100)
        nearGroundCount += 1
        if (nearGroundCount > 25) {
            info.changeLifeBy(-1)
            nearGroundCount = -20
        }
        pause(25)
    }
})
animation