Skip to content

Commit

Permalink
customizable timer music
Browse files Browse the repository at this point in the history
  • Loading branch information
SpikeVN committed Dec 5, 2024
1 parent 314cd05 commit 187decb
Show file tree
Hide file tree
Showing 12 changed files with 172 additions and 92 deletions.
40 changes: 20 additions & 20 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def ddx_loader(db: Worksheet):
output.append(
{
"prompt": db.address(f"D{i}"),
"key": db.address(f"E{i}"),
"key": str(db.address(f"E{i}")),
"score": int(db.address(f"F{i}")),
"time": int(db.address(f"H{i}")),
"media": None,
Expand Down Expand Up @@ -49,7 +49,7 @@ def ddx_loader(db: Worksheet):
output.append(
{
"prompt": db.address(f"D{i}"),
"key": db.address(f"E{i}"),
"key": str(db.address(f"E{i}")),
"score": int(db.address(f"F{i}")),
"time": int(db.address(f"H{i}")),
"media": None,
Expand Down Expand Up @@ -124,7 +124,7 @@ def olympus_loader(db: Worksheet):
p1.append(
{
"prompt": db.address(f"B{i}"),
"key": db.address(f"C{i}"),
"key": str(db.address(f"C{i}")),
"score": 10,
"time": 3,
"media": None,
Expand All @@ -136,7 +136,7 @@ def olympus_loader(db: Worksheet):
p2.append(
{
"prompt": db.address(f"D{i}"),
"key": db.address(f"E{i}"),
"key": str(db.address(f"E{i}")),
"score": 10,
"time": 3,
"media": None,
Expand All @@ -148,7 +148,7 @@ def olympus_loader(db: Worksheet):
p3.append(
{
"prompt": db.address(f"F{i}"),
"key": db.address(f"G{i}"),
"key": str(db.address(f"G{i}")),
"score": 10,
"time": 3,
"media": None,
Expand All @@ -160,7 +160,7 @@ def olympus_loader(db: Worksheet):
p4.append(
{
"prompt": db.address(f"H{i}"),
"key": db.address(f"I{i}"),
"key": str(db.address(f"I{i}")),
"score": 10,
"time": 3,
"media": None,
Expand All @@ -175,7 +175,7 @@ def olympus_loader(db: Worksheet):
output.append(
{
"prompt": db.address(f"B{i}"),
"key": db.address(f"C{i}"),
"key": str(db.address(f"C{i}")),
"score": 10,
"time": 3,
"media": None,
Expand Down Expand Up @@ -213,7 +213,7 @@ def olympus_loader(db: Worksheet):
output += [
{
"prompt": db.address(f"B30"),
"key": db.address(f"C30"),
"key": str(db.address(f"C30")),
"score": 0,
"time": 10,
"media": None,
Expand All @@ -223,7 +223,7 @@ def olympus_loader(db: Worksheet):
},
{
"prompt": db.address(f"B31"),
"key": db.address(f"C31"),
"key": str(db.address(f"C31")),
"score": 0,
"time": 20,
"media": None,
Expand All @@ -233,7 +233,7 @@ def olympus_loader(db: Worksheet):
},
{
"prompt": db.address(f"B32"),
"key": db.address(f"C32"),
"key": str(db.address(f"C32")),
"score": 0,
"time": 30,
"media": None,
Expand All @@ -243,7 +243,7 @@ def olympus_loader(db: Worksheet):
},
{
"prompt": db.address(f"B33"),
"key": db.address(f"C33"),
"key": str(db.address(f"C33")),
"score": 0,
"time": 40,
"media": None,
Expand All @@ -257,7 +257,7 @@ def olympus_loader(db: Worksheet):
p1.append(
{
"prompt": db.address(f"B{i}"),
"key": db.address(f"C{i}"),
"key": str(db.address(f"C{i}")),
"score": 20,
"time": 15,
"media": None,
Expand All @@ -269,7 +269,7 @@ def olympus_loader(db: Worksheet):
p2.append(
{
"prompt": db.address(f"D{i}"),
"key": db.address(f"E{i}"),
"key": str(db.address(f"E{i}")),
"score": 20,
"time": 15,
"media": None,
Expand All @@ -281,7 +281,7 @@ def olympus_loader(db: Worksheet):
p3.append(
{
"prompt": db.address(f"F{i}"),
"key": db.address(f"G{i}"),
"key": str(db.address(f"G{i}")),
"score": 20,
"time": 15,
"media": None,
Expand All @@ -293,7 +293,7 @@ def olympus_loader(db: Worksheet):
p4.append(
{
"prompt": db.address(f"H{i}"),
"key": db.address(f"I{i}"),
"key": str(db.address(f"I{i}")),
"score": 20,
"time": 15,
"media": None,
Expand All @@ -306,7 +306,7 @@ def olympus_loader(db: Worksheet):
p1.append(
{
"prompt": db.address(f"B{i}"),
"key": db.address(f"C{i}"),
"key": str(db.address(f"C{i}")),
"score": 30,
"time": 20,
"media": None,
Expand All @@ -318,7 +318,7 @@ def olympus_loader(db: Worksheet):
p2.append(
{
"prompt": db.address(f"D{i}"),
"key": db.address(f"E{i}"),
"key": str(db.address(f"E{i}")),
"score": 30,
"time": 20,
"media": None,
Expand All @@ -330,7 +330,7 @@ def olympus_loader(db: Worksheet):
p3.append(
{
"prompt": db.address(f"F{i}"),
"key": db.address(f"G{i}"),
"key": str(db.address(f"G{i}")),
"score": 30,
"time": 20,
"media": None,
Expand All @@ -342,7 +342,7 @@ def olympus_loader(db: Worksheet):
p4.append(
{
"prompt": db.address(f"H{i}"),
"key": db.address(f"I{i}"),
"key": str(db.address(f"I{i}")),
"score": 30,
"time": 20,
"media": None,
Expand All @@ -358,7 +358,7 @@ def olympus_loader(db: Worksheet):
output.append(
{
"prompt": db.address(f"B{i}"),
"key": db.address(f"C{i}"),
"key": str(db.address(f"C{i}")),
"score": 10,
"time": 15,
"media": None,
Expand Down
37 changes: 28 additions & 9 deletions frontend/src/components/panel/PartSwitcher.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,24 @@
<h1>Chỉnh phần</h1>
<Load until={$states.available_parts !== undefined}>
<div class="horizontal">
{#each Object.entries($states.available_parts) as [index, name]}
<button
class="btn smol"
class:accent={$states.current_part == index}
on:click={async () => {
await states.setNumber("current_part", Number(index));
}}>{name}</button
>
{/each}
<div class="horizontal parts">
{#each Object.entries($states.available_parts) as [index, name]}
<button
class="btn smol"
class:accent={$states.current_part == index}
on:click={async () => {
await states.setNumber("current_part", Number(index));
}}>{name}</button
>
{/each}
</div>
<button
class="btn smol bfreeze"
class:accent={!$states.engine_freeze}
on:click={async () => {
await states.setBoolean("engine_freeze", !$states.engine_freeze);
}}>{$states.engine_freeze ? "Đóng băng" : "Trực tiếp"}</button
>
</div>
</Load>
</div>
Expand All @@ -35,6 +44,16 @@
display: flex;
flex-direction: row;
gap: 5px;
height: max-content;
}

.parts {
width: 70%;
flex-wrap: wrap;
}

.bfreeze {
height: fit-content;
}

.btn {
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/panel/SoundBoard.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
// @ts-ignore
await gm.sound.stop(sound.fileName);
}
console.log($states.active_sounds)
console.log($states.active_sounds);
// @ts-ignore
// prevents space bar or enter from triggering the button
ev.target?.blur();
Expand All @@ -35,8 +35,8 @@

<style>
.sboardbtn {
width: 200px;
height: 200px;
width: 170px;
height: 170px;
}

.btn {
Expand Down
29 changes: 25 additions & 4 deletions frontend/src/components/panel/TangToc.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import { writable, readable, type Readable, type Writable } from "svelte/store";
import SubmitJudger from "./SubmitJudger.svelte";
import Load from "../Load.svelte";
import TimerControls from "./TimerControls.svelte";
export let gm: GameMaster;
export let states: StateManager;
export let conn: Connection;
Expand All @@ -14,11 +15,8 @@
<Load until={$states.media !== undefined}>
<div class="horizontal big-gap">
<div class="vertical big-gap">
<div class="nofat">
<p class="code">Question #{$states.qid + 1}. {$states.prompt}</p>
</div>
<div>
<h1>Hiển thị</h1>
<h1>Game Master</h1>
<button
class="btn"
class:accent={$states.show_key}
Expand All @@ -35,6 +33,25 @@
}}>{$states.show_key ? "ĐÁ thí sinh: HIỆN" : "ĐÁ thí sinh: ẨN"}</button
>
</div>
<TimerControls
{gm}
onstart={async () => {
switch ($states.max_time) {
case 10:
await gm.sound.play("tangtoc-10secs");
break;
case 20:
await gm.sound.play("tangtoc-20secs");
break;
case 30:
await gm.sound.play("tangtoc-30secs");
break;
case 40:
await gm.sound.play("tangtoc-40secs");
break;
}
}}
/>
<div class="vertical big-gap">
<h1>Đa phương tiện</h1>
{#if $states.media !== null}
Expand Down Expand Up @@ -95,6 +112,10 @@
{/each}
</div>
</div>
<div class="nofat">
<p>Câu {$states.qid + 1}. {$states.prompt}</p>
<p style="font-weight: bold;">{$states.key}</p>
</div>
</div>
</div>
</Load>
Expand Down
Loading

0 comments on commit 187decb

Please sign in to comment.