Skip to content

Commit 9345e7e

Browse files
feat(helpers): set random background color
1 parent b44637d commit 9345e7e

File tree

5 files changed

+41
-24
lines changed

5 files changed

+41
-24
lines changed

src/helpers/background.ts

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @see https://colorhunt.co/palettes/sea
3+
*/
4+
const backgrounds: [number, number, number][] = [
5+
[106, 212, 221],
6+
[122, 162, 227],
7+
[134, 182, 246],
8+
[151, 231, 225],
9+
[172, 226, 225],
10+
[179, 200, 207],
11+
[180, 212, 255],
12+
[190, 215, 220],
13+
[201, 215, 221],
14+
[205, 232, 229],
15+
[220, 242, 241],
16+
[224, 251, 226],
17+
[227, 254, 247],
18+
[229, 221, 197],
19+
[238, 247, 255],
20+
[241, 238, 220],
21+
[248, 246, 227],
22+
[255, 243, 207],
23+
]
24+
25+
export function setRandomBackgroundColor() {
26+
const color = backgrounds[randi(backgrounds.length)]
27+
setBackground(...color)
28+
}

src/helpers/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
export * from './background'
12
export * from './pipes'
23
export * from './solution'

src/levels/index.ts

-10
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,3 @@ export function getLevel(level: number) {
4141
export function hasLevel(level: number): boolean {
4242
return Boolean(levels[level])
4343
}
44-
45-
/**
46-
* Gets level background color.
47-
*
48-
* @param level - Level number.
49-
* @returns - RGB color.
50-
*/
51-
export function getLevelBackground(level: number) {
52-
return levels[level].background
53-
}

src/levels/levels.ts

+9-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
// △ ▷ ▽ ◁
2-
// ═ ║ ╔ ╗ ╚ ╝ ╠ ╣ ╦ ╩ ╬
3-
// ━ ┃ ┏ ┓ ┗ ┛ ┣ ┫ ┳ ┻ ╋
4-
// https://colorhunt.co/palettes/sea
5-
61
interface Level {
72
map: string[]
83
scale: number
9-
background: [number, number, number]
104
}
115

6+
/**
7+
* @see https://wikipedia.org/wiki/Box-drawing_characters
8+
*
9+
* ```
10+
* △ ▷ ▽ ◁
11+
* ═ ║ ╔ ╗ ╚ ╝ ╠ ╣ ╦ ╩ ╬
12+
* ━ ┃ ┏ ┓ ┗ ┛ ┣ ┫ ┳ ┻ ╋
13+
* ```
14+
*/
1215
export const levels: Level[] = [
1316
// 0
1417
{
@@ -19,7 +22,6 @@ export const levels: Level[] = [
1922
' ╚═◁',
2023
],
2124
scale: 1,
22-
background: [238, 247, 255],
2325
},
2426

2527
// 1
@@ -31,7 +33,6 @@ export const levels: Level[] = [
3133
'▷═╩═╝',
3234
],
3335
scale: 1,
34-
background: [205, 232, 229],
3536
},
3637

3738
// 2
@@ -43,7 +44,6 @@ export const levels: Level[] = [
4344
'╚═╩═╝',
4445
],
4546
scale: 1,
46-
background: [172, 226, 225],
4747
},
4848

4949
// 3
@@ -56,7 +56,6 @@ export const levels: Level[] = [
5656
' ╚╩═╝ △',
5757
],
5858
scale: 0.8,
59-
background: [224, 251, 226],
6059
},
6160

6261
// 4
@@ -70,6 +69,5 @@ export const levels: Level[] = [
7069
' ╚══╩══╝ ',
7170
],
7271
scale: 0.8,
73-
background: [220, 242, 241],
7472
},
7573
]

src/scenes/game.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { EmptyToFilledPipe, Scene, Sound, Tag } from '../constants'
2-
import { checkSolution, rotatePipe } from '../helpers'
3-
import { getLevel, getLevelBackground, hasLevel } from '../levels'
2+
import { checkSolution, rotatePipe, setRandomBackgroundColor } from '../helpers'
3+
import { getLevel, hasLevel } from '../levels'
44

55
scene(Scene.game, (levelNumber: number) => {
66
if (!hasLevel(levelNumber)) {
@@ -13,7 +13,7 @@ scene(Scene.game, (levelNumber: number) => {
1313
color(15, 16, 53),
1414
])
1515

16-
setBackground(...getLevelBackground(levelNumber))
16+
setRandomBackgroundColor()
1717
const level = addLevel(...getLevel(levelNumber))
1818

1919
level.get(Tag.pipe).forEach((pipe) => {

0 commit comments

Comments
 (0)