Skip to content

Commit cc01921

Browse files
feat(scenes): show solved pipes before going to next level
1 parent e6d16bb commit cc01921

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

src/constants/pipes.ts

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ export enum FilledPipe {
2626
'╋' = '╋',
2727
}
2828

29+
export enum EmptyToFilledPipe {
30+
'═' = '━',
31+
'║' = '┃',
32+
'╔' = '┏',
33+
'╗' = '┓',
34+
'╚' = '┗',
35+
'╝' = '┛',
36+
'╠' = '┣',
37+
'╣' = '┫',
38+
'╦' = '┳',
39+
'╩' = '┻',
40+
'╬' = '╋',
41+
}
42+
2943
export enum DirectionPipe {
3044
'△' = '△',
3145
'▷' = '▷',

src/scenes/game.ts

+15-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Scene, Tag } from '../constants'
1+
import { EmptyToFilledPipe, Scene, Tag } from '../constants'
22
import { checkSolution, rotatePipe } from '../helpers'
33
import { getLevel, hasLevel } from '../levels'
44

@@ -16,10 +16,22 @@ scene(Scene.game, (levelNumber: number) => {
1616
})
1717

1818
onClick(Tag.pipe, (pipe) => {
19-
rotatePipe(pipe)
19+
if (!checkSolution(level)) {
20+
rotatePipe(pipe)
21+
}
2022

2123
if (checkSolution(level)) {
22-
go(Scene.game, levelNumber + 1)
24+
level.get(Tag.pipe).forEach((pipe) => {
25+
pipe.use(
26+
sprite(
27+
EmptyToFilledPipe[pipe.solution as keyof typeof EmptyToFilledPipe],
28+
),
29+
)
30+
})
31+
32+
wait(1, () => {
33+
go(Scene.game, levelNumber + 1)
34+
})
2335
}
2436
})
2537
})

0 commit comments

Comments
 (0)