Browse Source

Intégration initialisation du jeu

master
Christophe SCAYA 3 years ago
parent
commit
17444953b7
  1. 6
      Docs/Zones CDG 2022.md
  2. 13
      EscapeGame/templates/admin_template.html
  3. 2
      app/apps.py
  4. 5
      app/templates/app/setEquipe.html
  5. 1
      app/urls.py
  6. 7
      app/views.py

6
Docs/Zones CDG 2022.md

@ -4,10 +4,10 @@
Bienvenue dans l’antre de Mendeleïev ! Pour trouver le code de cette salle, rendez-vous près du tableau périodique et effectuez la somme des numéros atomiques de tous les éléments commençant par les lettres P et R. Bienvenue dans l’antre de Mendeleïev ! Pour trouver le code de cette salle, rendez-vous près du tableau périodique et effectuez la somme des numéros atomiques de tous les éléments commençant par les lettres P et R.
<u>**Zone : salle 209**</u><br/> <u>**Zone : salle 209**</u><br/>
***Mdp :*** 1165 environ à vérifier !<br/> ***Mdp :*** 1365<br/>
***Description :***<br/> ***Description :***<br/>
Pour sortir de cette salle de technologie, commencez par chercher le piston d’un moteur à essence. Trouvez ensuite une balance et déterminez sa masse : vous obtiendrez le code de sortie de la salle. Bienvenue dans l'antre de la robotique. Pour sortir de la salle, commencez d'abord par chercher où se trouvent les petits robots bleus. Allumez ensuite dans l'ordre les robots 2, 4, 6 et 8. A l'allumage, chaque robot fournit un code de couleur qui correspond à un chiffre (voir feuille collée sur l'armoire). Le code pour sortir de la salle correspond à l'assemblage de ces 4 chiffres !
Attention : la balance que vous trouverez est précise à + ou – 1 gramme. Nb : Si vous voulez revoir le code couleur d'un robot, il suffit de l'éteindre et de la rallumer. Merci d'éteindre les robots une fois le code trouvé !
<u>**Zone : toiture terrasse**</u><br/> <u>**Zone : toiture terrasse**</u><br/>
***Mdp :*** 9412<br/> ***Mdp :*** 9412<br/>

13
EscapeGame/templates/admin_template.html

@ -29,7 +29,7 @@
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar"> <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand --> <!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html"> <a class="sidebar-brand d-flex align-items-center justify-content-center">
<div class="sidebar-brand-text mx-3">Escape Game</div> <div class="sidebar-brand-text mx-3">Escape Game</div>
</a> </a>
@ -58,7 +58,7 @@ aria-expanded="true" aria-controls="collapseTwo">
</a> </a>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar"> <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<a class="collapse-item" href="buttons.html">Initialisier jeu</a> <a class="collapse-item" href="{% url 'app:createNewGame'%}">Initialisier jeu</a>
<a class="collapse-item" href="cards.html">blabla</a> <a class="collapse-item" href="cards.html">blabla</a>
</div> </div>
</div> </div>
@ -75,6 +75,15 @@ aria-expanded="true" aria-controls="collapseTwo">
<!-- Content --> <!-- Content -->
<div id="content-wrapper" class="d-flex flex-column"> <div id="content-wrapper" class="d-flex flex-column">
{% for message in messages %}
<div class="container-fluid p-2">
<div class="alert {{ message.tags }} alert-dismissible" role="alert" >
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="True">&times;</span>
</button>{{ message }}
</div>
</div>{% endfor %}
<div id="content"> <div id="content">
<div class="container-fluid"> <div class="container-fluid">

2
app/apps.py

@ -3,4 +3,4 @@ from django.apps import AppConfig
class AppConfig(AppConfig): class AppConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'app' name = 'app'
nb_challenges = 3 nb_challenges = 4

5
app/templates/app/setEquipe.html

@ -11,7 +11,8 @@
</div> </div>
</div> </div>
</form>{% elif zone %} </form>{% elif zone %}
<h3>Bienvenue équipe {{equipe_nom}} ! Pour votre prochain challenge, rendez-vous dans la zone {{zone}} <h3>Bienvenue {{equipe_nom}} ! </h3>
et flashez le QR code pour connaître votre prochaine mission ! </h3>{% elif formated_total_time %} <p>Pour votre prochain challenge, rendez-vous dans la zone <strong>{{zone}}</strong>
et flashez le QR code pour découvrir l'énigme à résoudre ! </p>{% elif formated_total_time %}
<h3>Félicitations, vous avez terminé cet Escape Game en {{formated_total_time}} !</h3>{% endif %} <h3>Félicitations, vous avez terminé cet Escape Game en {{formated_total_time}} !</h3>{% endif %}
</div>{% endblock %} </div>{% endblock %}

1
app/urls.py

@ -8,6 +8,7 @@ urlpatterns = [
path('<int:zone_id>/', views.displayZone, name='displayZone'), path('<int:zone_id>/', views.displayZone, name='displayZone'),
path('setEquipe/', views.setEquipe, name='setEquipe'), path('setEquipe/', views.setEquipe, name='setEquipe'),
path('dashboard/', views.dashboard, name='admin-dashboard'), path('dashboard/', views.dashboard, name='admin-dashboard'),
path('dashboard/', views.createNewGame, name='createNewGame'),
path('admin-dashboard/', views.dashboard, name='admin-dashboard'), path('admin-dashboard/', views.dashboard, name='admin-dashboard'),
path('admin-distances/', views.distances, name='admin-distances'), path('admin-distances/', views.distances, name='admin-distances'),
path('dashboard/createNewGame', views.createNewGame, name='createNewGame'), path('dashboard/createNewGame', views.createNewGame, name='createNewGame'),

7
app/views.py

@ -222,9 +222,6 @@ Cette fonction efface les challenges présents en base pour en créer de nouveau
""" """
def createNewGame(request): def createNewGame(request):
#On efface toutes les session existantes
request.session.flush()
#On efface les challenges existants #On efface les challenges existants
Challenge.objects.all().delete() Challenge.objects.all().delete()
@ -240,10 +237,10 @@ def createNewGame(request):
equipe.end_time=None equipe.end_time=None
equipe.save() equipe.save()
#On vérifie que le nombre de zones soit au moins égal aun nombre d'équipe +1 #On vérifie que le nombre de zones soit au moins égal au nombre d'équipe +1
if len(liste_zone) < len(liste_equipe)+1: if len(liste_zone) < len(liste_equipe)+1:
messages.error(request, "Pas assez de zone pour créer un nouveau jeu") messages.error(request, "Pas assez de zone pour créer un nouveau jeu")
else: else:
messages.info(request, 'Création du jeu OK.') messages.info(request, 'Création du jeu OK.')
return redirect('app:dashboard') return redirect('app:admin-dashboard')

Loading…
Cancel
Save