feat: add backend for multiplayer support

This commit is contained in:
2025-07-29 01:32:02 -04:00
parent 3f1fe2c693
commit 8ea2d591a0
32 changed files with 300 additions and 3 deletions

101
frontend/data/config.yaml Normal file
View File

@@ -0,0 +1,101 @@
window:
width: 800
height: 600
title: "Tetri5"
sound:
theme-music-single: "data/sound/theme_music_single.ogg"
theme-music-multi: "data/sound/theme_music_multi.ogg"
option-change: "data/sound/option_change.ogg"
piece-rotate: "data/sound/piece_rotate.ogg"
piece-set: "data/sound/piece_set.ogg"
line-complete: "data/sound/line_complete.ogg"
four-lines-complete: "data/sound/four_lines_complete.ogg"
level-up: "data/sound/level_up.ogg"
game-over: "data/sound/game_over.ogg"
you-win: "data/sound/you_win.ogg"
image:
title-screen: "data/image/title_screen.png"
window-icon: "data/image/tetris_icon.png"
font: "data/image/press-start-2p-font.bmp"
position:
# title scene
title-logo: [240, 60]
option-one: [320, 390]
option-two: [320, 440]
cursor-option-one: [300, 399]
cursor-option-two: [300, 449]
# single player game scene
top-label: [80, 120]
top-value: [80, 140]
score-label: [80, 180]
score-value: [80, 200]
lines-label: [300, 40]
next-label: [600, 120]
level-label: [600, 220]
well: [280, 80]
next-piece: [620, 160]
spawn-piece: [-260, -60]
# connection scene
game-id-label: [200, 300]
connecting-label: [280, 300]
waiting-for-opponent-label: [200, 300]
# multi player game scene
well-player-1: [80, 80]
well-player-2: [480, 80]
score-label-player-1: [140, 20]
score-label-player-2: [540, 20]
score-value-player-1: [140, 40]
score-value-player-2: [540, 40]
lines-label-player-1: [100, 540]
lines-label-player-2: [500, 540]
next-label-player-1: [360, 120]
next-piece-player-1: [360, 160]
spawn-piece-player-1: [-200, -60]
spawn-piece-player-2: [200, -360]
engine:
fps: 60
tile-size: 20
cursor-blink-interval: 150
period-blink-interval: 300
lines-per-level: 5
ping-interval: 1500
# piece
piece-drop-delay: 600
piece-lock-delay: 1000
piece-drop-delay-decrease: 56
# points
points-table:
- 0 # 0 line
- 40 # 1 line
- 100 # 2 lines
- 300 # 3 lines
- 1200 # 4 lines
color:
# window
window-bg: "#000000"
# title screen
cursor: "#FFFFFF"
# in game
well-1: "#000000"
well-border-1: "#9BFCF0"
well-2: "#9BFCF0"
well-border-2: "#000000"
piece-1-player-1: "#1F37EC"
piece-2-player-1: "#5BDB57"
piece-3-player-1: "#F5F5F5"
piece-inner-border-1-player-1: "#1F37EC"
piece-1-player-2: "#F83801"
piece-2-player-2: "#7F7F7F"
piece-3-player-2: "#F5F5F5"
piece-inner-border-1-player-2: "#F83801"
piece-outer-border-1: "#000000"
piece-ghost: "#9BFCF0"
online:
server-url: "ws://localhost:5085"
#server-url: "ws://localhost:5001"

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.