{<!--Initialise les variables-->
(set:$NomAffaire to "Global")
(set:$URLAudio to $NomAffaire + "/Audio/")
(set:$URLPictures to $NomAffaire + "/Pictures/")
(set:$AudioRead to "none")
(set:$DisplayedHistory to "none")
<!--Affiche l'audio voulu dans le player modifié
-->
(set: $CustomAudio to (macro: str-type _AudioName, [
(output-data:
(joined:'','{
<div class="audio-player">
<audio id="Audio_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '" src="' + $URLAudio + _AudioName + '.mp3" autoplay>','
</audio>
<div class="controls">
<div class="button-container">
<button id="play-pause-button_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '" class="play-pause-button"></button>
</div>
</div>
<div class="progress">
<div class="progress-bar" id="progress-bar_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '"></div>
<div id="current-time_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '" class="current-time">0:00</div>
<div id="total-time_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '" class="total-time">0:00</div>
</div>
</div>
<script>
const audio = document.getElementById("Audio_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '");
var playPauseButton = $("#play-pause-button_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '");
const progressBar = document.getElementById("progress-bar_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '");
const currentTimeDisplay = document.getElementById("current-time_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '");
const totalTimeDisplay = document.getElementById("total-time_' + _AudioName + '_' + (str:(count:$DisplayedHistory,_AudioName)) + '");
let isPlaying = false;
audio.addEventListener (("play"), () => {
isPlaying = true;
});
audio.addEventListener (("pause"), () => {
isPlaying = false;
});
playPauseButton.click(function() {
playPauseButton.toggleClass("paused");
if (isPlaying) {
//Audio en lecture : met pause et change la forme en symbole play
audio.pause();
} else {
//Audio en pause : met lecture et change la forme en symbole pause
audio.play();
}
isPlaying = !isPlaying;
});
audio.addEventListener("timeupdate", () => {
const currentTime = audio.currentTime;
const duration = audio.duration;
const currentMinutes = Math.floor(currentTime / 60);
const currentSeconds = Math.floor(currentTime % 60);
const totalMinutes = Math.floor(duration / 60);
const totalSeconds = Math.floor(duration % 60);
currentTimeDisplay.textContent = `${currentMinutes}:${currentSeconds < 10 ? "0" : ""}${currentSeconds}`;
totalTimeDisplay.textContent = `${totalMinutes}:${totalSeconds < 10 ? "0" : ""}${totalSeconds}`;
const progress = (currentTime / duration) * 100;
progressBar.style.width = `${progress}%`;
});
</script>}')
)]))
<!--Pour supprimer la sidebar-->
(replace:?Sidebar)[]
<!--Affichage le bandeau de contact en haut de l'écran-->
(if:(passage:)'s tags does not contain "NoBodyUp")|BodyUp>[
(joined:'','<div class="BodyUp">\
<div id="button-return" class="button-return-container">\
<div class="icono-arrow"></div>\
</div>\
<div class="MenuTitle">[Règles du Jeu]</div>\
</div>')
]
<!--Message affiché à l'écran-->
}
($CustomAudio:"rules")
(css:"font-weight: bold;font-size:24px;")[Bienvenue dans Clichés Criminels !]
Vous vous apprêtez à incarner une équipe de détectives régulièrement consultée par la police pour les aider à avancer plus vite sur des affaires criminelles.
Chaque affaire commence par un premier message de la Commissaire Stobbart qui vous introduit les notions clés de l'affaire. Une fois ce message écouté : prenez l'enveloppe correspondant à l'affaire, ouvrez-la et vérifiez qu'elle contient le bon nombre de photocopies et de photos.
Vous êtes libres d'observer tous les éléments autant que vous le souhaitez pour établir votre théorie sur l'affaire et il s'agit là du cœur de l'expérience, alors discutez entre vous, prenez le temps de revenir sur chaque élément et bien entendu : amusez-vous !
Une fois que vous penserez avoir résolu l'affaire et que vous serez en mesure de soumettre votre théorie, revenez sur l'application et répondez aux questions que la commissaire vous posera. Attention : même si l'application est pourvue d'un système d'aide dans le cas où vous seriez coincés, elle n'est absolument pas là pour vous donner de nouvelles pièces à convictions et ne sert qu'à éprouver votre théorie.
Pas de panique toutefois : dans le cas où vous vous rendriez compte finalement que votre théorie ne tient pas debout, il vous sera possible à tout moment d'arrêter les questions et de reprendre votre enquête.
Si vous n'arrivez vraiment pas à résoudre l'affaire après avoir échangé avec la commissaire : vous pouvez abandonner en allant dans le menu et en cliquant sur le bouton "Solution".
Vous connaissez les règles de Clichés Criminels !
<script>
//Script Vianney pour clic sur flèche return
var button = document.getElementById("button-return");
button.addEventListener("click", function() {
window.location.href = "../index.html";
});
</script>{<!--Fonction pour implémenter le bouton du menu principal sur le hook ?MenuButton
Pour modifier le CSS de la boite de dialog : le sélecteur "tw-dialog tw-link" modifie les liens
-->
(click-rerun:?MenuButton)[
(dialog:'[\
<img class ="LogoTitle" src="Global/Pictures/Logo_Titre.png" /img>\
(link-rerun:"Menu Principal")[(goto-url:"../index.html")]
(link-rerun:"Les Affaires")[(goto-url:"Menu.html")]
]',
'Annuler
<!--Ce script sert à annuler une mise en forme Harlowe rajoutant une margin-right à la réponse "Annuler"-->
<script>
function CancelHarloweStyle(){
if (document.querySelector("tw-dialog-links tw-link") !== null) {
let el = document.querySelector("tw-dialog-links tw-link");
el.style.margin = "unset";
};
};
CancelHarloweStyle();
</script>')]
}