-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlevel_config.py
More file actions
55 lines (47 loc) · 1.44 KB
/
Copy pathlevel_config.py
File metadata and controls
55 lines (47 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from dataclasses import dataclass
@dataclass(frozen=True)
class LevelConfig:
level: int
background_name: str
music_name: str
max_operands: dict[str, int]
def build_level_config(level: int) -> LevelConfig:
if level >= 20:
background_name = "lv20"
return LevelConfig(
level=level,
background_name=background_name,
music_name=background_name,
max_operands={"+": 60, "-": 60, "*": 15, "/": 120},
)
if level >= 15:
background_name = "lv15"
return LevelConfig(
level=level,
background_name=background_name,
music_name=background_name,
max_operands={"+": 40, "-": 40, "*": 12, "/": 60},
)
if level >= 10:
background_name = "lv10"
return LevelConfig(
level=level,
background_name=background_name,
music_name=background_name,
max_operands={"+": 30, "-": 30, "*": 8},
)
if level >= 5:
background_name = "lv5"
return LevelConfig(
level=level,
background_name=background_name,
music_name=background_name,
max_operands={"+": 25, "-": 25},
)
background_name = "lv0" if level >= 0 else "practice"
return LevelConfig(
level=level,
background_name=background_name,
music_name=background_name,
max_operands={"+": 20},
)