Initial commit

This commit is contained in:
Mawoka
2022-02-27 21:23:57 +01:00
commit 1805d6fe98
46 changed files with 4453 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
<script lang='ts'>
import type { QuizData } from '../app';
import Title from '$lib/play/title.svelte';
import Question from '$lib/play/question.svelte';
import {socket} from '$lib/socket';
interface GameMeta {
started: boolean;
}
let gameId = '81039240';
let message = '';
let username = '';
let gameData: QuizData;
let gameMeta: GameMeta = {
started: false
};
let question_index = '';
let unique = {};
function restart() {
unique = {}; // every {} is unique, {} === {} evaluates to false
}
const connect = () => {
socket.emit('join_game', { game_pin: gameId, username: username });
};
const sendMessage = () => {
socket.emit('message', message);
message = '';
};
socket.on('joined_game', (data) => {
console.log('joined_game', data);
gameData = JSON.parse(data);
});
socket.on('game_not_found', (data) => {
console.log(data, 'game not found');
});
socket.on('join_game', (data) => {
console.log(data, 'join_game');
});
socket.on('message', (data) => {
console.log(data, 'message');
});
socket.on('start_game', (data) => {
gameMeta.started = true;
});
socket.on('set_question_number', (data) => {
restart();
question_index = data;
});
</script>
{#if !gameMeta.started}
<input bind:value={gameId} placeholder='GameID'>
<input bind:value={username} placeholder='Username'>
<button on:click={connect}>Connect</button>
<br>
<input bind:value={message} placeholder='message'>
<button on:click={sendMessage}>Send Message</button>
{:else}
{#if question_index === ""}
<Title bind:description={gameData.description} bind:title={gameData.title} />
{:else}
{#key unique}
<Question bind:question={gameData.questions[parseInt(question_index)]} bind:question_index/>
{/key}
{/if}
{/if}