First Commit

This commit is contained in:
mrtoine 2025-09-12 11:11:44 +02:00
commit ce0758fbbb
496 changed files with 52062 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{% extends 'layout.html' %}
{% block content %}
<div class="container" data-game-id="{{ game.id }}">
<h2>{{ game.name }}</h2>
<h3>Partie {{ round.round_counter }}</h3>
<div class="game-bac-letter">{{ round.letter }}</div>
<div>Le célèbre jeu du petit bac ! Le Petit Bac est un jeu où les joueurs trouvent des mots correspondant à des catégories spécifiques, en commençant par une lettre donnée, pour marquer des points.</div>
<form action="" method="post">
{% csrf_token %}
<table class="bac">
<thead>
<tr>
<th>Lettre</th>
{% for categorie in categories%}
<th>{{ categorie.name }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<td>{{ round.letter }}</td>
{% for response in responses %}
<td>{{ response.answer }}</td>
{% endfor %}
</tr>
</tbody>
</table>
<h1 style="color:orange">Réponse soumise.</h1>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,28 @@
{% extends 'layout.html' %}
{% load static %}
{% block extrajs %}
<script>
const csrfToken = "{{ csrf_token }}";
</script>
<script src="{% static 'js/games/bac-start.js' %}" defer></script>
<script src="{% static 'js/games/bac-utils.js' %}" defer></script>
{% endblock %}
{% block content %}
<div class="container" data-game-id="{{ game.id }}">
<h2>{{ game.name }}</h2>
<h3>Partie {{ round.round_counter }}</h3>
<h5>Status : <span id="status">{{ game.status }}</span></h5>
<p style="display:flex;flex-direction:row;">
<strong>Joueur(s) actuellement connecté(s) : </strong>
<ul id="playersList" class="inline"></ul>
</p>
<p><strong>Lien de la partie : </strong><input type="text" value="https://www.passion-retro.com/games/bac/party/{{ game.id }}/join"></p>
<center>
<button id="playButton" class="btn btn-default btn-large" style="display:none;" data-player-id="{{ request.user.id }}">Jouer !</button>
<h4 id="infoNbPlayersReady" style="display: none;">Joueurs prêt: <span id="readyCount">0</span></h4>
<p id="waitingPlayers" style="color:orange">En attente de joueurs...</p>
</center>
</div>
{% endblock %}

View file

@ -0,0 +1,13 @@
{% extends 'layout.html' %}
{% block content %}
<div class="container">
<h2>Le petit bac</h2>
<p>Le Petit Bac, également connu sous le nom de Baccalauréat, est un jeu de société classique qui allie réflexion, rapidité et convivialité. Que ce soit en famille, entre amis ou même en ligne, ce jeu promet des moments damusement tout en stimulant votre esprit.</p>
<p>Le principe est simple : les joueurs doivent trouver des mots correspondant à des catégories données (comme “Prénom”, “Ville”, “Animal”, “Objet”, etc.) et commençant par une lettre tirée au sort. Plus vous êtes rapide et original dans vos réponses, plus vous marquez de points ! Mais attention, les réponses répétées entre joueurs rapportent moins de points, et les erreurs ne sont pas pardonnées.</p>
<p>Accessible à tous, le Petit Bac est un excellent moyen de tester vos connaissances, de faire travailler votre créativité, et de passer un moment agréable. Alors, préparez vos stylos ou vos claviers, et que le meilleur gagne !</p>
<p>
<center><a href="{% url 'bac_start_games' %}" class="btn default btn-large">Démarrer une partie</a></center>
</p>
</div>
{% endblock %}

View file

@ -0,0 +1,59 @@
{% extends 'layout.html' %}
{% load static %}
{% block extrajs %}
<script>
const csrfToken = "{{ csrf_token }}";
</script>
<script src="{% static 'js/games/bac-play.js' %}" defer></script>
<script src="{% static 'js/games/bac-utils.js' %}" defer></script>
{% endblock %}
{% block content %}
<div class="container" data-game-id="{{ game.id }}" data-round-id="{{ round.id }}">
<h2>{{ game.name }}</h2>
<h3>Partie {{ round.round_counter }}</h3>
<h5 style="color:rgb(34, 146, 233)">Mon score actuel : {{ player.score }}</h5>
<div class="game-bac-letter">{{ round.letter }}</div>
<h5>Status : <span id="status">{{ game.status }}</span></h5>
<p style="display:flex;flex-direction:row;">
<strong>Joueurs dans le salon : </strong>
<ul id="playersList" class="inline"></ul>
</p>
<p>Le célèbre jeu du petit bac ! Le Petit Bac est un jeu où les joueurs trouvent des mots correspondant à des catégories spécifiques, en commençant par une lettre donnée, pour marquer des points.</p>
<form action="" method="post">
{% csrf_token %}
<input type="hidden" name="form_submitted" value="true">
<table class="bac responsive-table">
<thead>
<tr>
<th>Lettre</th>
{% for categorie in categories%}
<th>{{ categorie.name }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<td>{{ round.letter }}</td>
{% for categorie in categories%}
<td data-label="{{ categorie.name }}">
<input type="text" name="col-{{ categorie.id }}">
</td>
{% endfor %}
</tr>
</tbody>
</table>
<center>
<button id="buttonFinish" data-player-id="{{ request.user.username }}">Valider mes choix</button>
<h1 id="textFinished" style="color:orange;display:none">Vos réponses on été soumises</h1>
<div id="countdownDisplay" style="display:none;color:orange">
{% if countdown_remaining %}
Temps restant : {{ countdown_remaining }} secondes
{% endif %}
</div>
</center>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,72 @@
{% extends 'layout.html' %}
{% load static %}
{% load custom_filters %}
{% block extrajs %}
<script>
const csrfToken = "{{ csrf_token }}";
</script>
<script src="{% static 'js/games/bac-results.js' %}" defer></script>
<script src="{% static 'js/games/bac-utils.js' %}" defer></script>
{% endblock %}
{% block content %}
<div class="container" data-game-id="{{ game.id }}">
<h2>{{ game.name }}</h2>
<h5>Status : <span id="status">{{ game.status }}</span></h5>
<p style="display:flex;flex-direction:row;">
<strong>Joueur(s) actuellement connecté(s) : </strong>
<ul id="playersList" class="inline"></ul>
</p>
<!-- On affiche le resultat de chaque round -->
{% for round in rounds %}
<h3>Résultats du Round {{ round.round_counter }} - Lettre : {{ round.letter }}</h3>
<table class="bac">
<thead>
<tr>
<th>Joueur</th>
{% for categorie in categories %}
<th>{{ categorie.name }}</th>
{% endfor %}
<th>Score</th>
</tr>
</thead>
<tbody>
{% for player in players %}
<tr>
<td>{{ player.user.username }}</td>
{% for category in categories %}
<td>{{ all_organized_answers|get_item:round.id|get_item:player.id|get_item:category.id }}</td>
{% endfor %}
<td>{{ scores_by_round|get_item:round.id|get_item:player.id }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endfor %}
<h3>Score Total</h3>
<table class="bac">
<thead>
<tr>
<th>Joueur</th>
<th>Score</th>
</tr>
</thead>
<tbody>
{% for player in players %}
<tr>
<td>{{ player.user.username }}</td>
<td>{{ total_scores|get_item:player.id }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<center><a href="{% url 'bac_start_new_round' game.id %}" class="btn btn-default btn-large">
{% if game.author == request.user %}
Relancer une partie
{% else %}
Rejoindre une nouvelle partie
{% endif %}
</a></center>
</div>
{% endblock %}