作为学习、练习与尝试,这里创建一个立方体乐园的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:立方体乐园
JavaScript 实验代码
- namespace projectImages {
- export const Gate_H = img`
- . . f f f . . . . . . f f f . .
- . f f f f f f f f f f f f f f .
- f f f . . f f . . f f . . f f f
- f f . . . . f f f f . . . . f f
- f . . f f . . f f . . f f . . f
- f f f f f f . . . . f f f f f f
- f . f f . . f f f f . . f f . f
- f . . . . . . . . . . . . . . f
- f . . . . . . . . . . . . . . f
- f . f f . . f f f f . . f f . f
- f f f f f f . . . . f f f f f f
- f . . f f . . f f . . f f . . f
- f f . . . . f f f f . . . . f f
- f f f . . f f . . f f . . f f f
- . f f f f f f f f f f f f f f .
- . . f f f . . . . . . f f f . .
- `;
- export const House = img`
- 0 0 0 0 0 f f f f f f f f f f f f f f f f f f 0 0 0 0 0 0 0 0 0
- 0 0 0 0 f f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f f 0 0 0 0 0 0 0 0
- 0 0 0 f f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f f 0 0 0 0 0 0 0
- 0 0 f f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f f 0 0 0 0 0 0
- 0 f f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f f 0 0 0 0 0
- f f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f f 0 0 0 0
- f 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 f 0 0 0 0
- f f e e e e e e e e e e e e e e e e e e e e e e e e f f 0 0 0 0
- 0 f e e f f f f e e e f f f f f f e e e f f f f e e f 0 0 0 0 0
- 0 f e e f 1 1 f e e e f 2 2 2 2 f e e e f 1 1 f e e f 0 0 0 0 0
- 0 f e e f 1 1 f e e e f 2 2 2 2 f e e e f 1 1 f e e f 0 0 0 0 0
- 0 f e e f 1 1 f e e e f 2 2 2 2 f e e e f 1 1 f e e f 0 0 0 0 0
- 0 f e e f f f f e e e f 2 2 2 7 f e e e f f f f e e f 0 0 0 0 0
- 0 f e e e e e e e e e f 2 2 2 2 f e e e e e e e e e f 0 0 0 0 0
- 0 f e e e e e e e e e f 2 2 2 2 f e e e e e e e e e f 0 0 0 0 0
- 0 f f f f f f f f f f f f f f f f f f f f f f f f f f 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- `;
- export const Boss_2 = img`
- . . . . . . . . . . . . . . . .
- . . . . . f f f f f f . . . . .
- . . . f f f 2 2 2 2 f f f . . .
- . . f f 2 2 2 2 2 2 2 2 f f . .
- . . f 2 2 2 1 1 1 1 2 2 2 f . .
- . . f 2 2 2 1 1 f f 2 2 2 f . .
- . . f 2 2 2 1 f f f 2 2 2 f . .
- . . f 2 2 2 1 1 1 1 2 2 2 f . .
- . . f 2 2 2 2 2 2 2 2 2 2 f . .
- . f f f 2 2 2 2 2 2 2 2 f f f .
- . f 7 7 7 7 7 7 7 7 7 7 7 7 f .
- . f 7 7 7 7 7 7 7 7 7 7 7 7 f .
- . f f f f 7 7 7 7 7 7 f f f f .
- . . . f 2 2 2 2 2 2 2 2 f . . .
- . . . f f 2 2 2 2 2 2 f f . . .
- . . . . f f 2 2 2 2 f f . . . .
- `;
- export const Boss_Final = img`
- f 5 f . . . . . . . . . . f 5 f
- 5 5 f f . . . . . . . . f f 5 5
- f f 5 5 f . . f f . . f 5 5 f f
- . f 5 5 f f f 5 5 f f f 5 5 f .
- . . f f 5 5 f 5 5 f 5 5 f f . .
- . . f 5 5 5 5 5 5 5 5 5 5 f . .
- . . f 5 5 f f 5 5 f f 5 5 f . .
- . . f 5 5 f f 5 5 f f 5 5 f . .
- . . f 5 5 1 1 5 5 1 1 5 5 f . .
- . . f 5 5 5 5 5 5 5 5 5 5 f . .
- . . f f f f 5 5 5 5 f f f f . .
- . . . . . f f f f f f . . . . .
- . . . f f f f f f f f f f . . .
- . . . f f f f . . f f f f . . .
- . . . f f f . . . . f f f . . .
- . . . f f . . . . . . f f . . .
- `;
- export const Boy = img`
- . . . f f f f f f f f f f . . .
- . . . f c c c c c c c c f . . .
- . . . f c f f c c f f c f . . .
- . . . f c 1 f c c f 1 c f . . .
- . . . f c c c c c c c c f . . .
- . . . f c c c c c c c c f . . .
- . . . f f c c c c c c f f . . .
- . f f f f f c c c c f f f f f .
- f 6 6 6 6 6 6 6 6 6 6 6 6 6 6 f
- f 6 6 6 6 6 6 6 6 6 6 6 6 6 6 f
- f f 6 6 6 6 6 6 6 6 6 6 6 6 f f
- . f f f f 6 6 6 6 6 6 f f f f .
- . . . . f 6 6 6 6 6 6 f . . . .
- . . . . f 6 6 6 6 6 6 f . . . .
- . . . . f f 6 6 6 6 f f . . . .
- . . . . . f f f f f f . . . . .
- `
- export const Chest_1 = img`
- f f f f f f f f f f f f f f f f
- f e e e e e e e e e e e e e e f
- f e e c e e e c e e e c e e e f
- f e e c e e e c e e e c e e e f
- f e e c e f f f f f f e c e e f
- f e e c f 5 5 5 5 5 5 f c e e f
- f f f f f 5 5 5 5 5 5 f f f f f
- f e e e f 5 f f f f 5 f c e e f
- f e e e f 5 5 f f 5 5 f e e e f
- f e c e e f 5 5 5 5 f e e e e f
- f e c c e e f 5 5 f e e e c e f
- f e e c c e e f f c e e e c e f
- f e e e c e e e c e e e e c e f
- f e e e e e e e c e e e e c e f
- f e e e e e e e c e e e c e e f
- f f f f f f f f f f f f f f f f
- `;
- export const Chest = img`
- f f f f f f f f f f f f f f f f
- f e e e e e e e e e e e e e e f
- f e e e e e e e e e e e e e e f
- f e e e e e e e e e e e e e e f
- f e e e e f f f f f f e e e e f
- f e e e f 7 7 7 7 7 7 f e e e f
- f f f f f 7 7 7 7 7 7 f f f f f
- f e e e f 7 f f f f 7 f e e e f
- f e e e f 7 7 f f 7 7 f e e e f
- f e e e e f 7 7 7 7 f e e e e f
- f e e e e e f 7 7 f e e e e e f
- f e e e e e e f f e e e e e e f
- f e e e e e e e e e e e e e e f
- f e e e e e e e e e e e e e e f
- f e e e e e e e e e e e e e e f
- f f f f f f f f f f f f f f f f
- `;
- export const Flag = img`
- 0 0 0 f f f f 0 0 0 0 0 0 0 0 0
- 0 0 0 f 7 7 f f f 0 0 0 0 0 0 0
- 0 0 0 f 7 7 7 7 f f f f 0 0 0 0
- 0 0 0 f 7 7 7 7 7 7 7 f f f 0 0
- 0 0 0 f 7 7 7 7 7 7 7 7 7 f f 0
- 0 0 0 f 7 7 7 7 7 7 7 7 7 7 f 0
- 0 0 0 f 7 7 7 7 7 7 2 2 f f f 0
- 0 0 0 f 7 7 7 7 2 2 f f 0 0 0 0
- 0 0 0 f 7 7 2 f f f f 0 0 0 0 0
- 0 0 0 f 7 7 f f 0 0 0 0 0 0 0 0
- 0 0 0 f 7 7 f 0 0 0 0 0 0 0 0 0
- 0 0 0 f 7 7 f 0 0 0 0 0 0 0 0 0
- f f f f 7 7 f f f f f f f f 0 0
- f 7 7 7 7 7 7 7 7 7 7 7 2 f 0 0
- f 7 7 7 7 7 7 7 7 7 7 2 2 f 0 0
- f f f f f f f f f f f f f f 0 0
- `;
- export const Flower = img`
- . . . . f f f 5 5 f f f . . . .
- . . . . f 5 3 3 3 5 5 f f . . .
- f f f f f 5 3 7 7 3 3 5 f . . .
- 5 5 5 f f f 5 3 3 7 3 5 f . . .
- 5 3 3 5 f f f 5 3 5 f f f f f f
- 5 3 7 5 f f 5 3 5 3 f f f 5 5 f
- f 5 5 4 f f 4 5 4 f f 5 3 3 7 f
- f f 4 4 4 f 4 4 f f 5 3 5 3 3 5
- . f f f 4 4 f 4 4 f 4 5 3 5 3 f
- . . f f 4 4 f 4 4 f 4 4 f 5 5 f
- . . . f f 4 4 4 f 4 4 f f f f f
- . . . . f f 4 4 f 4 f f . . . .
- . . . . . f 4 f 4 4 f . . . . .
- . . . . . f 4 4 4 f f . . . . .
- . . . . . f f 4 f f . . . . . .
- . . . . . . f f f . . . . . . .
- `;
- export const Gate = img`
- 0 0 f f f f f f f f f f f f 0 0
- 0 f f f 0 f 0 0 0 0 f 0 f f f 0
- f f f 0 0 f f 0 0 f f 0 0 f f f
- f f 0 0 f f f 0 0 f f f 0 0 f f
- f f 0 0 f f 0 0 0 0 f f 0 0 f f
- 0 f f 0 0 f 0 0 0 0 f 0 0 f f 0
- 0 f f f 0 0 f 0 0 f 0 0 f f f 0
- 0 f 0 f f 0 f 0 0 f 0 f f 0 f 0
- 0 f 0 f f 0 f 0 0 f 0 f f 0 f 0
- 0 f f f 0 0 f 0 0 f 0 0 f f f 0
- 0 f f 0 0 f 0 0 0 0 f 0 0 f f 0
- f f 0 0 f f 0 0 0 0 f f 0 0 f f
- f f 0 0 f f f 0 0 f f f 0 0 f f
- f f f 0 0 f f 0 0 f f 0 0 f f f
- 0 f f f 0 f 0 0 0 0 f 0 f f f 0
- 0 0 f f f f f f f f f f f f 0 0
- `
- export const Girl = img`
- 0 0 0 f f f f f f f f f f 0 0 0
- 0 0 0 f c c c c c c c c f 0 0 0
- 0 0 0 f c f f c c f f c f 0 0 0
- 0 0 0 f c 1 f c c f 1 c f 0 0 0
- 0 0 0 f c c c c c c c c f 0 0 0
- 0 0 0 f c c c c c c c c f 0 0 0
- 0 0 0 f f c c c c c c f f 0 0 0
- 0 f f f f f c c c c f f f f f 0
- f 3 3 3 3 3 3 3 3 3 3 3 3 3 3 f
- f 3 3 3 3 3 3 3 3 3 3 3 3 3 3 f
- f f 3 3 3 3 3 3 3 3 3 3 3 3 f f
- 0 f f f f 3 3 3 3 3 3 f f f f 0
- 0 0 0 0 f 3 3 3 3 3 3 f 0 0 0 0
- 0 0 0 0 f 3 3 3 3 3 3 f 0 0 0 0
- 0 0 0 0 f f 3 3 3 3 f f 0 0 0 0
- 0 0 0 0 0 f f f f f f 0 0 0 0 0
- `;
- export const Grass = img`
- 0 0 0 0 0 f f f f f 0 0 0 0 0 0
- 0 0 0 0 0 f f 6 6 f 0 0 0 0 0 0
- 0 0 0 0 0 f 6 6 d f 0 0 0 0 0 0
- 0 0 0 0 f f 6 d f f 0 0 0 0 0 0
- 0 0 0 0 f 6 6 d f 0 0 f f f f 0
- f f f f f 6 6 f f 0 f f 6 6 f 0
- f 6 6 6 f 6 f f f f f 6 6 d f 0
- f f f 6 6 6 f f f 6 6 6 f f f 0
- 0 0 f 6 6 6 f f 6 6 6 f f 0 0 0
- 0 0 f f d 6 6 f 6 6 f f 0 0 0 0
- 0 0 0 f f d 6 f 6 f f 0 0 0 0 0
- 0 0 0 0 f f 6 6 6 f 0 0 0 0 0 0
- 0 0 0 0 0 f 6 f f f 0 0 0 0 0 0
- 0 0 0 0 0 f 6 f 0 0 0 0 0 0 0 0
- 0 0 0 0 0 f f f 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- `;
- export const Stone_1 = img`
- 0 0 0 f f f f f f f f f f 0 0 0
- 0 0 f f b b b b b b b b f f 0 0
- 0 f f b b f b b b b f b b f f 0
- f f b b b f f b b b f b b b f f
- f b b b b f b b b b b f f b b f
- f b b f f f b b f b b b f f b f
- f b b b b b b b b f b b b f b f
- f b f b b b b b b f b b b f b f
- f f f b b f b b b f f b b b b f
- f b b b b f b b b b b b b b b f
- f b b f f f f f b b b f b b b f
- f b b b b b b f b b b b f b b f
- f f b b b b b b b f f f b b f f
- 0 f f b f f b b b f b b b f f 0
- 0 0 f f b f f b b b b b f f 0 0
- 0 0 0 f f f f f f f f f f 0 0 0
- `;
- export const Stone = img`
- 0 0 f f f f f f f f f f f f 0 0
- 0 f f d d 8 d d d 8 d d d f f 0
- f f d d d d f d d d f 8 d d f f
- f d d 8 d 8 d d d d 8 d f d d f
- f d 8 f 8 d f 8 d d 8 d 8 d d f
- f d d d 8 d d d d d d d d f d f
- f d 8 d f d d d d d d d d d d f
- f d d d 8 d d 8 d d 8 f d 8 d f
- f d 8 d d d d f f d f 8 d 8 d f
- f d d f d d d d d d d 8 d d d f
- f d d d 8 d d 8 d d d d f d d f
- f d 8 d d d d d d 8 d d f 8 d f
- f d d 8 d d f d f d 8 d d d d f
- f f d d f d 8 d 8 f d d d d f f
- 0 f f d d d d d d d d d d f f 0
- 0 0 f f f f f f f f f f f f 0 0
- `;
- export const Boss_1 = img`
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 f f f f 0 0 0 0 0 0
- 0 0 0 0 f f b b b b f f 0 0 0 0
- 0 0 0 f b b b b b b b b f 0 0 0
- 0 0 f b f f f b b f f f b f 0 0
- 0 0 f b 1 f f b b f f 1 b f 0 0
- 0 0 f b b b b b b b b b b f 0 0
- 0 0 f b b b b b b b b b b f 0 0
- 0 0 f b b b b b b b b b b f 0 0
- 0 0 0 f b f 1 1 1 1 f b f 0 0 0
- 0 0 0 0 f b f 1 1 f b f 0 0 0 0
- 0 0 0 0 f b f f f f b f 0 0 0 0
- 0 0 0 0 f b f 0 0 f b f 0 0 0 0
- 0 0 0 0 f f f 0 0 f f f 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- `;
- export const Flower_2 = img`
- 0 0 0 0 0 0 f 7 f f f 0 0 0 0 0
- 0 0 0 0 0 f f 7 7 7 f 0 0 0 0 0
- 0 0 0 0 0 f 7 6 6 7 f f 0 0 0 0
- 0 f f f 0 f 7 7 6 7 7 f f f f 0
- f f 7 f f f f 7 7 7 f f f 7 f f
- f 7 7 7 f f 4 4 4 f f f 7 6 7 f
- 7 7 6 6 f f 4 4 f f 0 f 7 6 6 f
- f 7 6 7 4 f 4 f f f f f 4 7 7 f
- f f 7 f 4 4 4 f f f 4 4 4 f f f
- 0 f f f 4 4 4 f f 4 4 4 f f 0 0
- 0 0 0 f f 4 4 4 f 4 4 f f 0 0 0
- 0 0 0 0 f f 4 4 f 4 f f 0 0 0 0
- 0 0 0 0 0 f f 4 4 4 f 0 0 0 0 0
- 0 0 0 0 0 0 f 4 f f f 0 0 0 0 0
- 0 0 0 0 0 0 f 4 f 0 0 0 0 0 0
- 0 0 0 0 0 0 f f f 0 0 0 0 0 0 0
- `;
- }
- namespace palettes {
- export const palettehex = hex`
- 000000
- ffffff
- d67a23
- d278bc
- 33a554
- b84949
- 648dc5
- f7be12
- 7b7676
- aed68d
- 000000
- b695c9
- eacdb7
- d8d4d4
- 917155
- 000000`;
- }
-
- namespace SpriteKind {
- export const Girl = SpriteKind.create();
- export const Boss = SpriteKind.create();
- export const Chest = SpriteKind.create();
- export const Boy = SpriteKind.create();
- }
-
- function introSequence() {
- game.showLongText("In a cube land far far away...", DialogLayout.Center);
- game.showLongText("There was a cubed lad and a cubed lady, living happily ever after.", DialogLayout.Center);
- let girl = sprites.create(projectImages.Girl.doubled());
- let boy = sprites.create(projectImages.Boy.doubled());
- let house = sprites.create(projectImages.House.doubled());
- scene.setBackgroundColor(9);
- music.baDing.play();
- girl.setPosition(50, 80);
- boy.setPosition(110, 80);
- house.setPosition(45, 40);
- game.waitAnyButton();
- game.showLongText("But everything changed when the cube lord attacked.", DialogLayout.Center);
- let boss = sprites.create(projectImages.Boss_Final.doubled());
- boss.setPosition(120, 47);
- let melody = new music.Melody("F#4:1 D#4:1 D#4:1 F#4:1 D4:1 D4:1");
- melody.loop();
- game.waitAnyButton();
- boss.vx = 25;
- boy.vx = 25;
- boss.vy = -25;
- boy.vy = -25;
- girl.say("No! Leave him alone!");
- game.waitAnyButton();
- melody.stop();
- music.baDing.play();
- game.splash("I have to find him!");
- girl.destroy();
- house.destroy();
- boy.destroy();
- boss.destroy();
- }
-
- function level1Setup() {
- scene.setBackgroundColor(9);
- scene.setTileMap(img`
- . . . . . . . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
- . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . 9
- . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . 2 . . . . . . . . . . . 1 . . . . . 9 . . . . . . 9
- . . . . . . . . . . . . . . . . 9 . . 9 9 9 9 9 9 9 9 9 . . . . . 9 9 9 9 9 9 9 . . . . . 2 . . 9 . . . 2 . . 9
- . 2 . . . . . 1 . . . . . . . . 9 . 2 . . . . . . . . 9 . . . . . 9 . . . . . . . . . . . . . . . . . . . . . 9
- . . . . . . . . . . . . . . . . 9 . . . . . . . . . . 9 . 1 . . . 9 . . . . . . . . . . . . . . . . . 9 9 9 9 9
- 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . 9 . . . . . 9 . . . 9 9 9 9 9 9 9 9 . . . . . . 9 . . . 9
- 9 . . . 9 . . . . . . . 9 . . . . . . . . . . 9 . . . . . . . . . 9 . . . 9 . . . . . . . . . . . . . 9 . . . 9
- 9 . . . 9 . . . 2 . . . 9 . . 2 . . . . . . . 9 . . . . . . . 2 . 9 . . . 9 . . . 1 . . . . . . . . . 9 . . . 9
- 9 . . . 9 . . . . . . . 9 . . . 9 9 9 9 . . 9 9 . . . 9 . . . . . 9 . . . 9 . . . . . . . . . . . . . 9 . . . 9
- 9 . 2 . 9 9 9 9 9 9 . . . . . . . . . . . . . 6 . 1 . 9 . . . . . 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . 2 . 9 . . . 9
- 9 . . . . . . . . . . . . . . . . . . . . . . 6 . . . 9 . . . . . 9 . . . . . . . . . . . 9 9 . . . . 9 . . . 9
- 9 . . . . . 2 . . . . 1 . . 9 . . 9 . . . . 9 9 . . . 9 . . 1 . . 9 . 1 . . . . . . . . . 6 . . . . . . . . . 9
- 9 . 1 . . . . . . . . . . . 9 . . 9 . . . . . 9 . . . 9 . . . . . 9 . . 9 9 9 9 9 9 9 . . 6 . . . . . . . . . 9
- 9 . . . 9 . . 9 . . . . . . 9 . . 9 . . . 2 . 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9
- 9 . . . 9 . . 9 9 9 9 9 . . 9 . . 9 9 9 . . . 9 . . 9 4 . . . . . 9 . . . . 2 . . . . . . . . . . . . . . . . 9
- 9 . 2 . 9 . . . . . . . . . 9 . . . . . . . . 9 . . 6 . . . . . . 9 . . . . . . . . . . . . . . 1 . . . . . . 9
- 9 . . . 9 . . . . . 2 . . . 9 . . 1 . . . . . 9 . . 6 . . . . . . 9 . . . . 9 9 9 9 9 9 9 9 9 . . . . 9 . . . 9
- 9 . . . 9 . . . . . . . . . 9 . . . . . . . . 9 9 9 9 4 . . . . . 9 . 1 . . . . . . . . . . 9 . . . . 9 . . . 9
- 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . . . . 2 . . 9 . . . . . . . . . . . . 9 . . 2 . 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . 1 . . . . . . . 9 . . 9 9 9 9 9 9 9 9 9 9 9 . . . . 9 . . . 9
- . . 1 . . . . . . 1 . . . . . . 2 . . . . . . 9 . . . . . . . . . 9 . . . . . . . . . . . . . . . . . 9 . . 2 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . 1 . . 9 . . . 9 . . . . . . . . 2 . . . 9 9 9 9 9 9 9 9 . . . 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . . . . . . . . . 9 . . . . . . . . 1 . 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . 2 . 9 . . 1 . . . 9 9 9 9 9 9 9 . . . . . . . . . . 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . . . . . . . . . 9 . . . 9 9 9 9 9 9 9 9 . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . . . . 2 . . . . 9 . . . . . . . . . . . . . . 9
- . . . . . . . . . . . . . . . . . . . . 1 . . 9 . . . 9 9 9 9 9 9 . . . . . . . 9 . . . . . . . . . . . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . 9 . . . . . . . 9 . . . 9 9 9 9 9 9 9 . . 2 . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . 9 . . . . . . . 9 . . . . . . . . . 9 . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . 1 . . 9 . . . . . . . 9 . . . . . . . . . 9 . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . 9 . . . . . 2 . 9 . . . . . 9 . . . 9 . . . . 9
- . . . . . . . . . . . . . . . . . . . . 2 . . 9 . . . 9 . . . . 9 . . . . . . . 9 . . . . . 9 . . . 9 . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . 9 . . . . 9 . . . . . . . 9 . . . . . 9 9 9 9 9 . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . 1 . . . . 2 . . . 1 . . . . . 9 . . 1 . . . . . . . . . 2 . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . 9
- . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
- `);
- scene.setTile(9, projectImages.Stone, true);
- scene.setTile(6, projectImages.Gate, false);
- scene.setTile(3, projectImages.Boy, false);
- scene.setTile(2, projectImages.Flower, false);
- scene.setTile(1, projectImages.Flower_2, false);
- scene.setTile(4, projectImages.Flag, false);
- boySprite.setPosition(398, 268);
- girlSprite.setPosition(30, 200);
- boss1Sprite.setPosition(360, 178);
- bossFinalSprite.setPosition(445, 272);
- boss2Sprite.setPosition(748, 206);
- chest1Sprite.setPosition(30, 130);
- chest2Sprite.setPosition(355, 126);
- chest3Sprite.setPosition(355, 284);
- chest4Sprite.setPosition(870, 30);
- chest5Sprite.setPosition(870, 110);
- chest6Sprite.setPosition(300, 30);
- chest7Sprite.setPosition(624, 150);
- chest8Sprite.setPosition(778, 520);
- chest9Sprite.setPosition(720, 308);
- chest10Sprite.setPosition(460, 482);
- chest11Sprite.setPosition(864, 264);
- chest12Sprite.setPosition(512, 256);
- }
-
- function level2Setup() {
- scene.setBackgroundColor(9);
- scene.setTileMap(img`
- 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . 9 . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . 9 . . . . . . . 1 . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . 2 . . . 9 9 9 9 9 9 . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . . . 9 . . . . 2 . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . 1 . 9 . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 9 9 9 9 . . . 9 . . . 9 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . 9 . . . . . . . 9 . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . 9 . . . 2 . . . 9 . . 2 . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . 9 . . . . . . . 9 . . . 9 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . 2 . 9 9 9 9 9 . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . . . . 2 . . . . 1 . . 9 . . 9 . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . 1 . . . . . . . . . . . 9 . . 9 . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- 9 . . 9 . . . 9 . . . . . . 9 . . 9 . . . 2 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
- 9 . . 9 . . . 9 9 9 9 9 . . 9 . . 9 9 9 . . . 9 . . 9 4 . . . . . 9 . . . . 2 . . . . . . . . . . . . . . . . 9
- 9 . . 9 . . . . . . . . . . 9 . . . . . . . . 9 . . 6 . . . . . . 9 . . . . . . . . . . . . . . 1 . . . . . . 9
- 9 . . 9 . . . . . . 2 . . . 9 . . 1 . . . . . 9 . . 6 . . . . . . 9 . . . . 9 9 9 9 9 9 9 9 9 . . . . 9 . . . 9
- 9 . . 9 . . 9 . . 9 . . . . 9 . . . . . . . . 9 9 9 9 4 . . . . . 9 . 1 . . . . . . . . . . 9 . . . . 9 . . . 9
- 9 9 9 9 9 9 9 7 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . . . . 2 . . 9 . . . . . . . . . . . . 9 . . 2 . 9 . . . 9
- 9 . . . 9 . . . . . . . . . . . . . . . . . . 9 . 1 . . . . . . . 9 . . 9 9 9 9 9 9 9 9 9 9 9 . . . . 9 . . . 9
- 9 . . . 9 . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . 9 . . . . . . . . . . . . . . . . . 9 . . 2 9
- 9 . . . 9 . 1 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . 9 . . . 9
- 9 . 2 . 9 . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . 2 . . . 9 9 9 9 9 9 9 9 . . . 9 . . . 9
- 9 . . . 9 . . . . . . . . . . . . . . . . 2 . 9 . . . . . . . . . . . . . . . . 9 . . . . . . . . 1 . 9 . . . 9
- 9 . . . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . 9 . 2 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . 9 . . . 9
- 9 . . . 9 . . 9 . . . . . . . . . . . . . . . 9 . . . 9 . . . . . . . . . . . . 9 . . . 9 9 9 9 9 9 9 9 . . . 9
- 9 . . . 9 . . 9 . 1 . . . . . . . . . . 1 . . 9 9 9 9 9 . . . . . . . 2 . . . . . . . . . . . . . . . . . . . 9
- 9 . . . 9 . . 9 . . . . 9 . . . 9 . . . . . . . . . . 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . . . . . . 9
- 9 . . . . . . 9 . . . . 9 . . . 9 9 9 9 9 . . . . . . 9 . . . . 9 . . . . . . . 9 . . . 9 9 9 9 9 9 9 . . 2 . 9
- 9 . . 1 . . . 9 . . . . 9 . . . . . . . . . 2 . . . 9 9 . . . . 9 9 9 9 9 9 9 9 9 . . . . . . . . . 9 . . . . 9
- 9 . . . . . . 9 . . . . 9 . . . 2 . . . . . . . . . . 6 . 1 . . 9 . . . . . . . 9 . . . . . . . . . 9 . . . . 9
- 9 . . . . . . . . 2 . . 9 . . . . . . . . . . . . . . 6 . . . . 9 . . . . . 2 . 9 . . . . . 9 . . . 9 . . . . 9
- 9 . . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 . . . 9 9 . . . . 9 . . . 9 9 9 9 9 9 9 9 9 9 9 . . . 9 . . . . 9
- 9 9 9 9 9 9 9 9 . . . . . . . . . . . . . . . . . . . 9 . . . . 9 . . . . . . . . . . . . . 9 9 9 9 9 . . . . 9
- 9 . . . . . . . . . . . . . 2 . . . . . . . . . . 1 . 9 . . 2 . . . 1 . . . . . . . . 1 . . . . . . . . . 2 . 9
- 9 . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
- `);
- scene.setTile(9, projectImages.Stone, true);
- scene.setTile(6, projectImages.Gate, false);
- scene.setTile(7, projectImages.Gate_H, false)
- scene.setTile(3, projectImages.Boy, false);
- scene.setTile(2, projectImages.Flower, false);
- scene.setTile(1, projectImages.Flower_2, false);
- scene.setTile(4, projectImages.Flag, false);
- boySprite.setPosition(398, 268);
- girlSprite.setPosition(30, 200);
- boss1Sprite.setPosition(130, 292);
- bossFinalSprite.setPosition(445, 272);
- boss2Sprite.setPosition(420, 510);
- chest1Sprite.setPosition(30, 30);
- chest2Sprite.setPosition(355, 126);
- chest3Sprite.setPosition(355, 284);
- chest4Sprite.setPosition(30, 570);
- chest5Sprite.setPosition(30, 340);
- chest6Sprite.setPosition(350, 340);
- chest7Sprite.setPosition(100, 440);
- chest8Sprite.setPosition(778, 520);
- chest9Sprite.setPosition(720, 308);
- chest10Sprite.setPosition(460, 482);
- chest11Sprite.setPosition(864, 264);
- chest12Sprite.setPosition(512, 256);
- }
-
- sprites.onOverlap(SpriteKind.Girl, SpriteKind.Boss, function (mainSprite, hitSprite) {
- if (hitSprite == boss1Sprite) {
- if (chestsCollected == 3) {
- music.baDing.play();
- boss1Sprite.destroy();
- game.splash("You may pass!");
- }
- else {
- game.showLongText("Collect all the chests to pay the toll.", DialogLayout.Center);
- boss1Sprite.say("You have collected " + chestsCollected.toString() + " out of 3.", 5000);
- switch (level) {
- case 1:
- girlSprite.setPosition(girlSprite.x - 10, girlSprite.y);
- break;
- default:
- girlSprite.setPosition(girlSprite.x, girlSprite.y - 10);
- break;
- }
- }
- }
- else if (hitSprite == boss2Sprite) {
- if (chestsCollected == 7) {
- music.baDing.play();
- boss2Sprite.destroy();
- game.splash("You may pass!");
- }
- else {
- game.showLongText("Collect all the chests to pay the toll.", DialogLayout.Center);
- boss2Sprite.say("You have collected " + (chestsCollected - 3).toString() + " out of 4.", 5000);
- switch (level) {
- case 1:
- girlSprite.setPosition(girlSprite.x + 10, girlSprite.y);
- break;
- default:
- girlSprite.setPosition(girlSprite.x - 10, girlSprite.y);
- break;
- }
- }
- }
- else {
- if (chestsCollected == 12) {
- music.baDing.play();
- bossFinalSprite.destroy();
- game.splash("You may pass!");
- }
- else {
- game.showLongText("Collect all the chests to pay the toll.", DialogLayout.Center);
- bossFinalSprite.say("You have collected " + (chestsCollected - 7).toString() + " out of 5.", 5000);
- switch (level) {
- case 1:
- girlSprite.setPosition(girlSprite.x + 10, girlSprite.y);
- break;
- default:
- girlSprite.setPosition(girlSprite.x + 10, girlSprite.y);
- break;
- }
- }
- }
- })
-
- sprites.onOverlap(SpriteKind.Girl, SpriteKind.Chest, function (mainSprite, hitSprite) {
- chestsCollected++;
- music.baDing.play();
- hitSprite.destroy();
- })
-
- sprites.onOverlap(SpriteKind.Girl, SpriteKind.Boy, function (mainSprite, hitSprite) {
- music.baDing.play();
- game.splash("You are reunited!");
- music.stopAllSounds();
- game.showLongText("Your time to complete was: " + game.runtime() + "ms. Thanks for playing!", DialogLayout.Center);
- info.changeScoreBy(1800000 /* 30 minutes */ - game.runtime());
- game.over(true);
- })
-
- image.setPalette(palettes.palettehex);
- introSequence();
-
- let boySprite = sprites.create(projectImages.Boy, SpriteKind.Boy);
- let girlSprite = sprites.create(projectImages.Girl, SpriteKind.Girl);
- let boss1Sprite = sprites.create(projectImages.Boss_1, SpriteKind.Boss);
- let boss2Sprite = sprites.create(projectImages.Boss_2, SpriteKind.Boss);
- let bossFinalSprite = sprites.create(projectImages.Boss_Final, SpriteKind.Boss);
- let chest1Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest2Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest3Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest4Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest5Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest6Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest7Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest8Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest9Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest10Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest11Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
- let chest12Sprite = sprites.create(projectImages.Chest, SpriteKind.Chest);
-
- let level = randint(1, 2);
- switch (level) {
- case 1:
- level1Setup();
- break;
- default:
- level2Setup();
- break;
- }
-
- let chestsCollected = 0;
- let backgroundMusic = new music.Melody("F5:2 A5:4 F5:2 C5:2 B4:1 C5:1 D5:2 C5:2 F5:2 A5:4 F5:2 C5:2 B4:1 C5:1 D5:2 C5:2 A4:2 F5:4 A4:2 A4:2 G#4:1 A4:1 B4:2 A4:2 A4:2 F5:4 A4:2 A4:2 G#4:1 A4:1 B4:2 A4:2 A4:2 F4:2 A4:2 C5:2 A#4:8 C5:2 A#4:2 C5:2 E5:2 F5:8 C6:2 D6:2 C6:2 A#5:2 A5:2 A#5:2 A5:2 G5:2 F5:8 C5:2 E5:2 F5:2 C5:2 F5:2 A5:4 F5:2 C5:2 B4:1 C5:1 D5:2 C5:2 F5:2 A5:4 F5:2 C5:2 B4:1 C5:1 D5:2 C5:2 C5:2 E5:4 C5:2 G4:2 F4:1 G4:1 C5:2 G4:2 C5:2 E5:4 C5:2 D4:2 E4:1 F4:1 C5:2 E5:2 F5:4 :4 E5:2 A5:4 F5:2 E5:4 A4:4 B4:2 A4:4 B4:2 C5:4 E5:4 D5:2 F5:4 E5:2 C5:4 F4:4 G4:2 F4:4 G4:2 A4:4 C5:4 G4:4 :2 G4:4 B4:2 A4:4 D5:2 F5:4 E5:2 C5:4 G4:4 G4:4 :2 G4:4 B4:2 A4:4 A4:8 :2 A4:2 B4:2 A4:2 E5:2 A5:4 F5:2 E5:4 A4:4 B4:2 A4:4 B4:2 C5:4 E5:4 D5:2 F5:4 E5:2 C5:4 F4:4 G4:2 F4:4 G4:2 A4:4 C5:4 G4:4 :2 G4:4 B4:2 A4:4 D5:2 F5:4 E5:2 C5:4 G4:4 G4:4 :2 G4:4 B4:2 A4:4 A4:8 :2 A4:2 B4:2 A4:2");
- backgroundMusic.loop(8);
-
- girlSprite.setStayInScreen(true);
- controller.moveSprite(girlSprite);
- scene.cameraFollowSprite(girlSprite);
复制代码
|