Code editor broke

All of the blocks have duplicates, tilemaps have … instead. This started when some tiles would not appear from the tiles maps in the sim, then I refreshed the page, and this happened…


All assest were replace by a line of random colors. Would share link, but it does not let me.

Ok, so the page refreshed to Javascript and now is frozen.
this is not a lot of code but it is all there was. It did not save all the code.
namespace SpriteKind {

    export const lostCoins = SpriteKind.create()

}

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile21`, function (sprite, location) {

    mySprite.setVelocity(-5 - mySprite.vx, -5 - mySprite.vy)

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile33`, function (sprite, location) {

    controller.moveSprite(mySprite, 0, 0)

    mySprite.vx = -200

})

controller.A.onEvent(ControllerButtonEvent.Pressed, function () {

    if (mySprite.isHittingTile(CollisionDirection.Bottom)) {

        mySprite.vy = -125

    }

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile34`, function (sprite, location) {

    controller.moveSprite(mySprite, 100, 0)

    mySprite.setVelocity(0, 0)

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile35`, function (sprite, location) {

    controller.moveSprite(mySprite, 0, 0)

    mySprite.vy = -200

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile11`, function (sprite, location) {

    currentLevel += 1

    levelUpdate()

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`Tile0`, function (sprite, location) {

    mySprite.vy = -250

    timer.after(200, function () {

        for (let index = 0; index < 5; index++) {

            tiles.setTileAt(location, assets.tile`Tile1`)

            pause(500)

            tiles.setTileAt(location, assets.tile`Tile2`)

            pause(500)

        }

    })

})

controller.menu.onEvent(ControllerButtonEvent.Pressed, function () {

    levelUpdate()

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile13`, function (sprite, location) {

    mySprite.setVelocity(0 - mySprite.vx, 0 - Math.abs(mySprite.vy))

    if (info.score() > 0) {

        if (info.score() > 1000) {

            for (let index = 0; index < 10; index++) {

                mySprite2 = sprites.create(img`

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    `, SpriteKind.lostCoins)

                mySprite2.ay = 200

                mySprite2.fx = 50

                mySprite2.setPosition(mySprite.x, mySprite.y)

                mySprite2.setVelocity(randint(-125, 125), randint(-125, 125))

                mySprite2.lifespan = 2000

                animation.runImageAnimation(

                mySprite2,

                [img`

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    `],

                100,

                true

                )

                info.changeScoreBy(-100)

            }

        } else {

            for (let index = 0; index < info.score() / 100; index++) {

                mySprite2 = sprites.create(img`

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    `, SpriteKind.lostCoins)

                mySprite2.ay = 200

                mySprite2.fx = 50

                mySprite2.setPosition(mySprite.x, mySprite.y)

                mySprite2.setVelocity(randint(-125, 125), randint(-125, 125))

                mySprite2.lifespan = 2000

                animation.runImageAnimation(

                mySprite2,

                [img`

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    . . . . . . . . . . . . . . . . 

                    `],

                100,

                true

                )

            }

            info.setScore(0)

        }

    } else {

        info.changeLifeBy(-1)

        levelUpdate()

    }

    mySprite.setFlag(SpriteFlag.GhostThroughTiles, true)

    timer.after(500, function () {

        mySprite.setFlag(SpriteFlag.GhostThroughTiles, false)

    })

})

sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {

    otherSprite.destroy()

    music.playTone(622, music.beat(BeatFraction.Eighth))

    music.playTone(659, music.beat(BeatFraction.Quarter))

    info.changeScoreBy(100)

})

scene.onOverlapTile(SpriteKind.Player, assets.tile`tile20`, function (sprite, location) {

    controller.moveSprite(mySprite, 0, 0)

    mySprite.vx = 200

})

function levelUpdate () {

    tiles.replaceAllTiles(assets.tile`Tile1`, assets.tile`Tile0`)

    tiles.replaceAllTiles(assets.tile`Tile2`, assets.tile`Tile0`)

    mySprite.setVelocity(0, 0)

    controller.moveSprite(mySprite, 100, 0)

    tiles.destroySpritesOfKind(SpriteKind.Food)

    if (currentLevel < list.length) {

        tiles.loadMap(list[currentLevel])

        for (let value of tiles.getTilesByType(assets.tile`tile10`)) {

            mySprite2 = sprites.create(img`

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                `, SpriteKind.Food)

            animation.runImageAnimation(

            mySprite2,

            [img`

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                . . . . . . . . . . . . . . . . 

                `],

            100,

            true

            )

            tiles.placeOnTile(mySprite2, value)

            tiles.setTileAt(value, assets.tile`transparency16`)

        }

        tiles.placeOnRandomTile(mySprite, assets.tile`tile12`)

    } else {

        game.over(true)

    }

}

scene.onOverlapTile(SpriteKind.Player, assets.tile`Tile7`, function (sprite, location) {

    mySprite.setVelocity(mySprite.vx, -5 - Math.abs(mySprite.vy))

})

let mySprite2: Sprite = null

let currentLevel = 0

let list: tiles.WorldMap[] = []

let mySprite: Sprite = null

scene.setBackgroundImage(img`

    a e 3 . a 7 e d 1 b 7 

    `)

mySprite = sprites.create(img`

    a e 3 . a 7 e a d e 

    `, SpriteKind.Player)

scene.cameraFollowSprite(mySprite)

mySprite.ay = 200

controller.moveSprite(mySprite, 100, 0)

list = [

tiles.createMap(tilemap`level1`),

tiles.createMap(tilemap`level4`),

tiles.createMap(tilemap`level6`),

tiles.createMap(tilemap`level8`),

tiles.createMap(tilemap`level9`),

tiles.createMap(tilemap`level11`),

tiles.createMap(tilemap`level12`)

]

currentLevel = game.askForNumber("")

levelUpdate()

spriteutils.setLifeImage(img`

    a e 3 . a 7 e a d e 

    `)

info.setLife(3)

info.setScore(0)

game.onUpdate(function () {

    if (mySprite.tileKindAt(TileDirection.Bottom, assets.tile`tile2`) || (mySprite.tileKindAt(TileDirection.Bottom, assets.tile`tile8`) || mySprite.tileKindAt(TileDirection.Bottom, assets.tile`tile9`))) {

        mySprite.setImage(img`

            a e 3 . a 7 e a d e 

            `)

    } else {

        mySprite.setImage(img`

            a e 3 . a 7 e d 1 b 7 

            `)

    }

    if (mySprite.bottom >= tiles.tilemapRows() * tiles.tileWidth()) {

        info.changeLifeBy(-1)

        levelUpdate()

    }

})

:astonished:

Another issue on a different game. I can’t interact with the blocks workspace for some reason.

RESOLVED
I just refreshed the site, but the tilemap blocks turned to gray blocks, so now I need to go to assets to edit tilemaps.