新しいゲームを作りました。(JavaScript)

新しいゲームを作りました。改善点はコメントお願いします。
http://moonblock.jp/#s/58f5d1c63c3bc1492505030
コードは次です。

```js
[{
    "x": 324,
    "y": 172,
    "constructorName": "PuppetBlock",
    "variables": {
        "name": "くま",
        "fold": "-",
        "image": "chara1.png",
        "behavior": {
            "x": 0,
            "y": 0,
            "constructorName": "FrameSequenceBlock",
            "variables": {
                "sequence": [0],
                "times": "2"
            },
            "next": {
                "x": 0,
                "y": 0,
                "constructorName": "DisplayBlock",
                "variables": {
                    "appeartype": "standAlone",
                    "interval": "30",
                    "initial": "10"
                },
                "next": {
                    "x": 0,
                    "y": 0,
                    "constructorName": "MoveBlock",
                    "variables": {
                        "type": "tapChase",
                        "zigzagdirection": "X",
                        "tapdirection": "X",
                        "movedirection": "Left",
                        "dx": "0",
                        "dy": "0"
                    },
                    "next": {
                        "x": 0,
                        "y": 0,
                        "constructorName": "TargetHitBlock",
                        "variables": {
                            "className": "アイコン",
                            "fold": "-",
                            "handler": {
                                "x": 0,
                                "y": 0,
                                "constructorName": "ScoreBlock",
                                "variables": {
                                    "value": "15"
                                },
                                "next": null
                            }
                        },
                        "next": {
                            "x": 0,
                            "y": 0,
                            "constructorName": "TargetHitBlock",
                            "variables": {
                                "className": "アイコン_2",
                                "fold": "-",
                                "handler": {
                                    "x": 0,
                                    "y": 0,
                                    "constructorName": "DieBlock",
                                    "variables": {},
                                    "next": {
                                        "x": 0,
                                        "y": 0,
                                        "constructorName": "NewPuppetBlock",
                                        "variables": {
                                            "name": "くま_2",
                                            "fold": "-",
                                            "behavior": {
                                                "x": 0,
                                                "y": 0,
                                                "constructorName": "DisplayBlock",
                                                "variables": {
                                                    "appeartype": "standAlone",
                                                    "interval": "30",
                                                    "initial": "10"
                                                },
                                                "next": {
                                                    "x": 0,
                                                    "y": 0,
                                                    "constructorName": "MoveBlock",
                                                    "variables": {
                                                        "type": "tapChase",
                                                        "zigzagdirection": "X",
                                                        "tapdirection": "X",
                                                        "movedirection": "Left",
                                                        "dx": "0",
                                                        "dy": "0"
                                                    },
                                                    "next": {
                                                        "x": 0,
                                                        "y": 0,
                                                        "constructorName": "TargetHitBlock",
                                                        "variables": {
                                                            "className": "アイコン_2",
                                                            "fold": "-",
                                                            "handler": {
                                                                "x": 0,
                                                                "y": 0,
                                                                "constructorName": "ScoreBlock",
                                                                "variables": {
                                                                    "value": "30"
                                                                },
                                                                "next": null
                                                            }
                                                        },
                                                        "next": {
                                                            "x": 0,
                                                            "y": 0,
                                                            "constructorName": "TargetHitBlock",
                                                            "variables": {
                                                                "className": "アイコン",
                                                                "fold": "-",
                                                                "handler": {
                                                                    "x": 0,
                                                                    "y": 0,
                                                                    "constructorName": "ScoreBlock",
                                                                    "variables": {
                                                                        "value": "40"
                                                                    },
                                                                    "next": null
                                                                }
                                                            },
                                                            "next": null
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "next": null
                                    }
                                }
                            },
                            "next": null
                        }
                    }
                }
            }
        }
    }
}, {
    "x": 738,
    "y": 307,
    "constructorName": "PuppetBlock",
    "variables": {
        "name": "アイコン_2",
        "fold": "-",
        "image": "icon0.png",
        "behavior": {
            "x": 0,
            "y": 0,
            "constructorName": "FrameSequenceBlock",
            "variables": {
                "sequence": [19, 20, 20, 19],
                "times": "2"
            },
            "next": {
                "x": 0,
                "y": 0,
                "constructorName": "FrameBlock",
                "variables": {
                    "prop": "speed",
                    "value": "50"
                },
                "next": {
                    "x": 0,
                    "y": 0,
                    "constructorName": "DisplayBlock",
                    "variables": {
                        "appeartype": "randomAppearTop",
                        "interval": "300",
                        "initial": "10"
                    },
                    "next": {
                        "x": 0,
                        "y": 0,
                        "constructorName": "TargetHitBlock",
                        "variables": {
                            "className": "くま",
                            "fold": "-",
                            "handler": {
                                "x": 0,
                                "y": 0,
                                "constructorName": "DieBlock",
                                "variables": {},
                                "next": null
                            }
                        },
                        "next": {
                            "x": 0,
                            "y": 0,
                            "constructorName": "TargetHitBlock",
                            "variables": {
                                "className": "くま_2",
                                "fold": "-",
                                "handler": {
                                    "x": 0,
                                    "y": 0,
                                    "constructorName": "DieBlock",
                                    "variables": {},
                                    "next": null
                                }
                            },
                            "next": null
                        }
                    }
                }
            }
        }
    }
}, {
    "x": 329,
    "y": 17,
    "constructorName": "PuppetBlock",
    "variables": {
        "name": "くま_2",
        "fold": "-",
        "image": "chara1.png",
        "behavior": {
            "x": 0,
            "y": 0,
            "constructorName": "FrameSequenceBlock",
            "variables": {
                "sequence": [6, 7],
                "times": "2"
            },
            "next": null
        }
    }
}, {
    "x": 344,
    "y": -105,
    "constructorName": "TimerBoardBlock",
    "variables": {
        "countdir": "countdown",
        "fold": "-",
        "seconds": "120",
        "behavior": null
    }
}, {
    "x": 350,
    "y": -140,
    "constructorName": "BackgroundBlock",
    "variables": {
        "bgsrc": "rpg.png",
        "imgUrl": ""
    }
}, {
    "x": 742,
    "y": -167,
    "constructorName": "PuppetBlock",
    "variables": {
        "name": "アイコン",
        "fold": "-",
        "image": "icon0.png",
        "behavior": {
            "x": 0,
            "y": 0,
            "constructorName": "FrameSequenceBlock",
            "variables": {
                "sequence": [15],
                "times": "2"
            },
            "next": {
                "x": 0,
                "y": 0,
                "constructorName": "DisplayBlock",
                "variables": {
                    "appeartype": "randomAppearTop",
                    "interval": "30",
                    "initial": "10"
                },
                "next": {
                    "x": 0,
                    "y": 0,
                    "constructorName": "FrameBlock",
                    "variables": {
                        "prop": "speed",
                        "value": "50"
                    },
                    "next": {
                        "x": 0,
                        "y": 0,
                        "constructorName": "TargetHitBlock",
                        "variables": {
                            "className": "くま",
                            "fold": "-",
                            "handler": {
                                "x": 0,
                                "y": 0,
                                "constructorName": "DieBlock",
                                "variables": {},
                                "next": null
                            }
                        },
                        "next": {
                            "x": 0,
                            "y": 0,
                            "constructorName": "TargetHitBlock",
                            "variables": {
                                "className": "くま_2",
                                "fold": "-",
                                "handler": {
                                    "x": 0,
                                    "y": 0,
                                    "constructorName": "DieBlock",
                                    "variables": {},
                                    "next": null
                                }
                            },
                            "next": null
                        }
                    }
                }
            }
        }
    }
}, {
    "x": 732,
    "y": 783,
    "constructorName": "ScoreBoardBlock",
    "variables": {
        "fold": "-",
        "behavior": null
    }
}]
```

（Java Sprict）