Refactoring Complet
Voir facebook pour l'installation de la nouvelle BDD.
This commit is contained in:
18
SRC/resources/views/frontend/games.blade.php
Normal file
18
SRC/resources/views/frontend/games.blade.php
Normal file
@ -0,0 +1,18 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('content')
|
||||
<div class="referents">
|
||||
|
||||
<div class="referent game"
|
||||
onclick='location.href = "{{ URL::to('puzzle') }}";'
|
||||
style="background:url('{{ URL::to('imgs/puzzle.jpg') }}'); width: 50%;">
|
||||
<div class="infos">Puzzle</div>
|
||||
</div>
|
||||
<div class="referent game"
|
||||
onclick='location.href = "{{ URL::to('memo') }}";'
|
||||
style="background:url('{{ URL::to('imgs/memo.jpg') }}'); width: 50%;">
|
||||
<div class="infos">Mémo</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
43
SRC/resources/views/frontend/home.blade.php
Normal file
43
SRC/resources/views/frontend/home.blade.php
Normal file
@ -0,0 +1,43 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('content')
|
||||
@if ($referents != [])
|
||||
|
||||
<nav>
|
||||
<input name="searchterm" id="searchterm" placeholder="Rechercher un référent" type="text">
|
||||
</nav>
|
||||
<div id="referents" class="referents">
|
||||
|
||||
@foreach ($referents as $referent)
|
||||
<div class="referent"
|
||||
onclick='location.href = "{{ URL::to('changerref', $referent->id) }}";'
|
||||
style="background-image:url('{{ $referent -> image }}')">
|
||||
<div class="infos">{{ $referent -> prenom }} {{ $referent -> nom }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@else
|
||||
<h1>Aucun référent trouvé</h1>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
|
||||
@section('page-scripts')
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
$("#searchterm").on('input', function(e){
|
||||
var q = $("#searchterm").val();
|
||||
var url = (q == "") ? 'api/searchRef' : 'api/searchRef/' + q;
|
||||
$.getJSON(url, function(data) {
|
||||
$("#referents").empty();
|
||||
$.each(data, function(i,item){
|
||||
$("#referents").append('<div class="referent" onclick=\'location.href = "{{ URL::to('changerref') }}/'+ item.id + '"\' style="background-image:url(\''+item.image+'\')"><div class="infos">'+ item.prenom + " " + item.nom + '</div></div>');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@endsection
|
41
SRC/resources/views/frontend/memo.blade.php
Normal file
41
SRC/resources/views/frontend/memo.blade.php
Normal file
@ -0,0 +1,41 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('page-css')
|
||||
<link rel="stylesheet" href="/css/memory.css">
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container">
|
||||
<br>
|
||||
<center><h1>Mémory</h1></center>
|
||||
|
||||
<br><br>
|
||||
|
||||
<!-- script jeu memory -->
|
||||
<!-- js -->
|
||||
<script src="/js/classList.min.js"></script>
|
||||
<script src="/js/memory.js"></script>
|
||||
|
||||
|
||||
<!-- <center><img src="http://i.ytimg.com/vi/xiIO1zUXNVI/maxresdefault.jpg" width="60%"></center> -->
|
||||
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-10 col-md-12">
|
||||
<div id="my-memory-game"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- /.content -->
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('page-scripts')
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<script src="/js/classList.min.js"></script>
|
||||
<script src="/js/memory.js"></script>
|
||||
@endsection
|
35
SRC/resources/views/frontend/memo_level.blade.php
Normal file
35
SRC/resources/views/frontend/memo_level.blade.php
Normal file
@ -0,0 +1,35 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="referents">
|
||||
<div class="referent game"
|
||||
onclick='location.href = "{{ URL::to('memo') }}";'
|
||||
style="background:url('{{ URL::to('imgs/memo.jpg') }}'); width: 50%;">
|
||||
<div class="infos">Mémo</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<button onclick="location.href='{{ URL::to('memo/jouer') }}'"><span style="color:gold;">
|
||||
<span class="icon-star-full"></span>
|
||||
</span><span class="icon-star-full"></span>
|
||||
|
||||
<span class="icon-star-full"></span></button><br>
|
||||
<button onclick="location.href='{{ URL::to('memo/jouer') }}'"><span style="color:gold;">
|
||||
<span class="icon-star-full"></span>
|
||||
<span class="icon-star-full"></span>
|
||||
</span>
|
||||
<span class="icon-star-full"></span></button><br>
|
||||
<button onclick="location.href='{{ URL::to('memo/jouer') }}'"><span style="color:gold;">
|
||||
<span class="icon-star-full"></span>
|
||||
<span class="icon-star-full"></span><span class="icon-star-full"></span>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@section('page-css')
|
||||
<link href="{{ URL::to('css/fonts/style.css') }}" rel="stylesheet" type="text/css"/>
|
||||
@endsection
|
217
SRC/resources/views/frontend/puzzle.blade.php
Normal file
217
SRC/resources/views/frontend/puzzle.blade.php
Normal file
@ -0,0 +1,217 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('content')
|
||||
<script src="{{ URL::to('js/phaser.min.js') }}"></script>
|
||||
<script src="{{ URL::to('js/responsivevoice.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
function getPieceWidth(w,h) {
|
||||
//if(h>w) {
|
||||
return w * (y * ratioImage)/h;
|
||||
//} else return x * ratioImage;
|
||||
}
|
||||
function getPieceHeight(w,h) {
|
||||
//if(h>w) {
|
||||
return y * ratioImage;
|
||||
//} else return h * (x * ratioImage)/w;
|
||||
}
|
||||
function preload () {
|
||||
game.load.spritesheet('balls', '{{ URL::to('imgs/puzzle/balls.png') }}', 17, 17);
|
||||
|
||||
for(i=1; i<=selection.length; i++) {
|
||||
game.load.spritesheet("tableau"+i, selection[i-1].src, selection[i-1].width/dimensions[0], selection[i-1].height/dimensions[1]);
|
||||
}
|
||||
}
|
||||
|
||||
function nextPuzzle() {
|
||||
currentPlayed++;
|
||||
pieces.destroy(true);
|
||||
createPiecesFor(currentPlayed);
|
||||
|
||||
//game.physics.collide = true;
|
||||
//create();
|
||||
|
||||
}
|
||||
|
||||
var currentPlayed = 1;
|
||||
|
||||
function createPiecesFor(idTab) {
|
||||
pieces = game.add.group();
|
||||
var counter = 0;
|
||||
for(i=0; i<dimensions[0]; i++) {
|
||||
for(j=0; j<dimensions[1]; j++) {
|
||||
var str = "tableau" + idTab;
|
||||
//Phaser.GAMES[0].world.create(20, 340, "tableau3");
|
||||
pieces.add(game.world.create(game.world.randomX, game.world.randomY, str));
|
||||
var currentPiece = pieces.children[counter];
|
||||
currentPiece.placed = false;
|
||||
currentPiece.inputEnabled = true;
|
||||
currentPiece.input.enableDrag();
|
||||
currentPiece.width = Math.floor(getPieceWidth(selection[idTab-1].width, selection[idTab-1].height) / dimensions[0]);
|
||||
currentPiece.height = Math.floor(getPieceHeight(selection[idTab-1].width, selection[idTab-1].height) / dimensions[1]);
|
||||
game.physics.arcade.enable(currentPiece);
|
||||
currentPiece.body.collideWorldBounds = true;
|
||||
currentPiece.events.onDragStart.add(startDrag, this);
|
||||
currentPiece.events.onDragStop.add(stopDrag, this);
|
||||
currentPiece.frame = counter;
|
||||
counter++;
|
||||
|
||||
}
|
||||
}
|
||||
dateDebut = new Date();
|
||||
}
|
||||
function create () {
|
||||
game.physics.startSystem(Phaser.Physics.ARCADE);
|
||||
createPiecesFor(1);
|
||||
}
|
||||
function startDrag(elt) {
|
||||
elt.placed = false;
|
||||
elt.body.moves = false;
|
||||
}
|
||||
function stopDrag(elt) {
|
||||
elt.body.moves = true;
|
||||
|
||||
pieces.forEach(function(piece) { // si jamais c'est une pièce adjacente
|
||||
|
||||
var posPiece = null;
|
||||
//piece du haut
|
||||
if(elt.frame - piece.frame == dimensions[0]) posPiece = 'haut';
|
||||
//piece du bas
|
||||
if(elt.frame - piece.frame == - dimensions[0]) posPiece = 'bas';
|
||||
|
||||
|
||||
//left + right
|
||||
var eltNum = elt.frame;
|
||||
var pieceNum = piece.frame;
|
||||
|
||||
while(eltNum >= dimensions[0]) {
|
||||
eltNum -= dimensions[0];
|
||||
pieceNum -= dimensions[0];
|
||||
}
|
||||
if(
|
||||
(eltNum >= 0 && eltNum < dimensions[1])
|
||||
&& (pieceNum >= 0 && pieceNum < dimensions[1])
|
||||
){
|
||||
// piece de gauche
|
||||
if(elt.frame - piece.frame == 1) posPiece = 'gauche';
|
||||
// piece de droite
|
||||
if(elt.frame - piece.frame == -1) posPiece = 'droite';
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(posPiece == 'gauche') {
|
||||
if(Math.abs(elt.x - (piece.x + piece.width)) < piece.width/5
|
||||
&& Math.abs(elt.y - piece.y) < piece.height/5)
|
||||
{
|
||||
game.add.tween(elt.body).to( { x: piece.x + piece.width, y: piece.y }, 300, Phaser.Easing.Linear.None, true);
|
||||
elt.placed = true;
|
||||
piece.placed = true;
|
||||
} else piece.placed = false;
|
||||
}
|
||||
if(posPiece == 'droite') {
|
||||
if(Math.abs(elt.x + elt.width - piece.x) < piece.width/5
|
||||
&& Math.abs(elt.y - piece.y) < piece.height/5)
|
||||
{
|
||||
game.add.tween(elt.body).to( { x: piece.x - elt.width, y: piece.y }, 300, Phaser.Easing.Linear.None, true);
|
||||
elt.placed = true;
|
||||
piece.placed = true;
|
||||
} else piece.placed = false;
|
||||
}
|
||||
if(posPiece == 'haut') {
|
||||
if(Math.abs(elt.x - piece.x) < piece.width/5
|
||||
&& Math.abs(elt.y - piece.height - piece.y) < piece.height/5)
|
||||
{
|
||||
game.add.tween(elt.body).to( { x: piece.x, y: piece.y + piece.height }, 300, Phaser.Easing.Linear.None, true);
|
||||
elt.placed = true;
|
||||
piece.placed = true;
|
||||
} else piece.placed = false;
|
||||
}
|
||||
if(posPiece == 'bas') {
|
||||
if(Math.abs(elt.x - piece.x) < piece.width/5
|
||||
&& Math.abs(elt.y + elt.height - piece.y) < piece.height/5)
|
||||
{
|
||||
game.add.tween(elt.body).to( { x: piece.x, y: piece.y - elt.height }, 300, Phaser.Easing.Linear.None, true);
|
||||
elt.placed = true;
|
||||
piece.placed = true;
|
||||
} else piece.placed = false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var cpt = 0;
|
||||
pieces.forEach(function(piece) {
|
||||
if(piece.placed == true) cpt++
|
||||
});
|
||||
if(cpt==pieces.length) {
|
||||
var temps = Math.ceil(((new Date()) - dateDebut)/60000);
|
||||
var texteADire = (temps <= 1) ? "Bravo, tu as mis moins d'une minute." :
|
||||
"Bravo, tu as mis "+temps+" minutes. ";;
|
||||
responsiveVoice.speak(texteADire, "French Female");
|
||||
leftEmitter = game.add.emitter(50, 50);
|
||||
leftEmitter.bounce.setTo(0.5, 0.5);
|
||||
leftEmitter.setXSpeed(100, 200);
|
||||
leftEmitter.setYSpeed(-50, 50);
|
||||
leftEmitter.makeParticles('balls', 0, 10, 1, true);
|
||||
|
||||
rightEmitter = game.add.emitter(game.world.width - 50, 50);
|
||||
rightEmitter.bounce.setTo(0.5, 0.5);
|
||||
rightEmitter.setXSpeed(-100, -200);
|
||||
rightEmitter.setYSpeed(-50, 50);
|
||||
rightEmitter.makeParticles('balls', 1, 10, 1, true);
|
||||
|
||||
// explode, lifespan, frequency, quantity
|
||||
leftEmitter.start(false, 10000, 20);
|
||||
rightEmitter.start(false, 10000, 20);
|
||||
if(nbToPlay == currentPlayed) setTimeout(function(){ location.href = "{{URL::to('puzzle')}}"; }, 5000);
|
||||
else nextPuzzle();
|
||||
}
|
||||
|
||||
}
|
||||
function update() {
|
||||
if(leftEmitter != undefined && rightEmitter != undefined)
|
||||
game.physics.arcade.collide(leftEmitter, rightEmitter, change, null, this);
|
||||
|
||||
}
|
||||
function change(a, b) {
|
||||
|
||||
a.frame = 3;
|
||||
b.frame = 3;
|
||||
|
||||
}
|
||||
|
||||
var leftEmitter, rightEmitter;
|
||||
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight;
|
||||
var pieces = null;
|
||||
var dateDebut = null;
|
||||
|
||||
|
||||
var ratioImage = 0.8;
|
||||
var dimensions = [{{$dimension}}, {{$dimension}}];
|
||||
var nbToPlay = {{$nbTab}};
|
||||
|
||||
var images = [];
|
||||
@foreach ($oeuvres as $i => $oeuvre)
|
||||
images.push("http://www.augustins.org/documents/10180/156407/{{ $oeuvre -> image}}");
|
||||
@endforeach
|
||||
|
||||
var selection = [];
|
||||
|
||||
var game;
|
||||
var tmpImg;
|
||||
var loadedImg = 0;
|
||||
for(i=1; i<=nbToPlay;i++) {
|
||||
tmpImg = new Image();
|
||||
tmpImg.src = images[Math.floor(Math.random()*images.length)];
|
||||
selection.push(tmpImg);
|
||||
|
||||
tmpImg.onload = function () {
|
||||
loadedImg++;
|
||||
if(loadedImg == nbToPlay)
|
||||
game = new Phaser.Game(x, y, Phaser.CANVAS, '', { preload: preload, update: update, create: create }, true);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
@endsection
|
42
SRC/resources/views/frontend/puzzle_level.blade.php
Normal file
42
SRC/resources/views/frontend/puzzle_level.blade.php
Normal file
@ -0,0 +1,42 @@
|
||||
@extends('frontend/template')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="trophees"></div>
|
||||
<div class="abso referents">
|
||||
<div class="referent game"
|
||||
onclick='location.href = "{{ URL::to('puzzle') }}";'
|
||||
style="background:url('{{ URL::to('imgs/puzzle.jpg') }}'); width: 50%;">
|
||||
<div class="infos">Puzzle</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<button onclick="location.href='{{ URL::to('puzzle/jouer/1') }}'"><span style="color:gold;"><span class="icon-star-full"></span></span><span class="icon-star-full"></span><span class="icon-star-full"></span></button>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<button onclick="location.href='{{ URL::to('puzzle/jouer/2') }}'"><span style="color:gold;"><span class="icon-star-full"></span><span class="icon-star-full"></span></span><span class="icon-star-full"></span></button>
|
||||
|
||||
<br>
|
||||
<button onclick="location.href='{{ URL::to('puzzle/jouer/3') }}'"><span style="color:gold;"><span class="icon-star-full"></span><span class="icon-star-full"></span><span class="icon-star-full"></span></span></button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@section('page-css')
|
||||
<link href="{{ URL::to('css/fonts/style.css') }}" rel="stylesheet" type="text/css"/>
|
||||
@endsection
|
||||
|
||||
@section('page-scripts')
|
||||
<script src="{{ URL::to('js/phaser.min.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
game = new Phaser.Game(222, 222, Phaser.CANVAS, '', { preload: preload, create: create }, true);
|
||||
function preload() {
|
||||
|
||||
}function create() {
|
||||
|
||||
}
|
||||
</script>
|
||||
@endsection
|
18
SRC/resources/views/frontend/template.blade.php
Normal file
18
SRC/resources/views/frontend/template.blade.php
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no">
|
||||
<title>Les Jeux du Musée</title>
|
||||
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
|
||||
<link href="{{ URL::to('css/frontend.css') }}" rel="stylesheet" type="text/css"/>
|
||||
@yield('page-css')
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@yield('content')
|
||||
|
||||
|
||||
@yield('page-scripts')
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user