Accueil > > > LABYRINTHE FACILE À UTILISER ET À MODIFIER
LABYRINTHE FACILE À UTILISER ET À MODIFIER
Information sur la source
Description
Comme le titre le dit c'est un labyrinthe dans lequel on peut se déplacer à l'aide des flèches situées sur le côté (2,4,6,8) ou pour les navigateurs qui ne supportent pas le event.keyCode il y a des boutons dans le bas du script pour se déplacer. Aussi j'ai intégré dans le zip un générateur de labyrinthe qui est aussi facile à utiliser.
Source
- <HTML>
- <HEAD>
- <TITLE>..: Labyrinthe :..</TITLE>
- <SCRIPT language="javascript">
- positionFin = "19,24"
- window.status = "Chargement de la page"
- function départ()
- {
- window.status = "Création des murs"
- créemur()
- window.status = "Initiation de la case de départ"
- document.getElementById("0,0").style.backgroundColor = "C80000"
- document.getElementById("f0,0").color="C80000"
- document.form.positionX.value = 0
- document.form.positionY.value = 0
- window.status = "Initiation de la case de la fin"
- document.getElementById(positionFin).style.backgroundColor = "0AC814"
- document.getElementById("f"+positionFin).color = "0AC814"
- window.status = ""
- }
- function move(e)
- {
- y = document.form.positionY.value*1
- x = document.form.positionX.value*1
- if (e == 50 && check(y+1,x))
- {
- afficher(y+1,x)
- }
- if (e == 54 && check(y,x+1))
- {
- afficher(y,x+1)
- }
- if (e == 56 && check(y-1,x))
- {
- afficher(y-1,x)
- }
- if (e == 52 && check(y,x-1))
- {
- afficher(y,x-1)
- }
- }
- function check(Y,X)
- {
- if (document.getElementById(Y+","+X)) return true
- else return false
- }
- function afficher(Y,X)
- {
- effacer(document.form.positionY.value,document.form.positionX.value)
- document.getElementById(Y+","+X).style.backgroundColor = "C80000"
- document.getElementById("f"+Y+","+X).color="C80000"
- document.form.positionX.value = X
- document.form.positionY.value = Y
- vérifier()
- }
- function effacer(Y,X)
- {
- document.getElementById(Y+","+X).style.backgroundColor = "FFFFFF"
- document.getElementById("f"+Y+","+X).color = "FFFFFF"
- }
- function créemur()
- {
- position = new Array("1,1","2,2","0,1","2,1","4,0","4,2","5,2","4,3","2,3","2,4","6,2","6,1","8,1","8,2","8,3","8,4","7,4","6,4","2,6","3,6","4,6","5,6","6,6","7,6","4,5","6,7","8,5","8,6","0,3","0,4","0,5","0,6","0,7","0,8","1,8","2,8","3,8","4,8","6,9","7,9","8,9","8,8","9,8","4,9","4,10","4,11","5,11","6,11","6,0","9,3","10,3","10,4","10,5","10,6","11,6","11,7","11,8","11,9","11,10","10,10","10,11","9,11","8,11","10,0","10,1","11,1","12,1","12,3","12,4","13,4","13,5","14,1","14,2","14,3","14,4","15,2","16,0","16,1","16,2","13,7","13,8","13,9","13,10","13,11","13,12","12,12","14,7","15,7","15,6","16,6","16,5","16,4","18,1","18,2","18,3","18,4","18,5","18,6","19,4","4,13","5,13","6,13","7,13","8,13","9,13","10,13","19,8","18,8","17,8","17,9","16,9","15,9","17,10","18,10","18,11","18,12","18,13","17,13","16,13","16,12","15,12","15,11","13,13","14,14","13,14","10,14","11,14","1,10","2,10","2,11","2,12","2,13","3,13","0,12","0,14","0,15","1,15","11,15","11,16","12,16","13,16","15,16","16,16","16,15","17,15","18,15","19,15","19,17","18,17","18,18","17,18","16,18","15,18","14,18","13,18","12,18","11,18","10,18","9,18","9,17","9,16","8,16","8,15","7,15","6,15","5,15","5,14","2,15","3,15","3,16","3,17","4,17","5,17","6,17","6,18","7,18","3,19","4,19","4,20","5,20","6,20","7,20","8,20","9,20","10,20","11,20","12,20","10,21","10,22","11,22","12,22","13,22","14,22","14,21","14,20","15,20","16,20","17,20","18,20","17,21","17,22","18,22","19,22","15,22","1,17","1,18","1,19","1,20","1,21","1,23","0,23","2,21","2,22","2,23","3,22","5,22","5,23","5,24","7,21","7,22","7,23","9,22","10,24","12,23","14,24","16,24","15,22","18,23")
- pos = position
- for (i=0;i<position.length;i++)
- {
- pos[i] = pos[i].split(",")
- if (check(pos[i][0],pos[i][1]))
- {
- document.getElementById(position[i]).style.backgroundColor = "000000"
- document.getElementById("f"+position[i]).color = "000000"
- document.getElementById(position[i]).id = ""
- }
- }
- }
- function vérifier()
- {
- if (document.form.positionY.value+","+document.form.positionX.value == positionFin)
- {
- alert("Vous avez gagné !")
- }
- }
- </SCRIPT>
- </HEAD>
- <BODY onload="départ()" onkeypress="move(event.keyCode)">
- <FORM name="form">
- <INPUT type="hidden" name="hauteur">
- <INPUT type="hidden" name="largeur">
- <INPUT type="hidden" name="positionX">
- <INPUT type="hidden" name="positionY">
- </FORM>
- <SCRIPT>
- window.status = "Chargement du labyrinthe"
- hauteur = 20
- largeur = 25
- backgcolor = "FFFFFF"
- code ="<TABLE border='0'><TR>"
- for (i=0;i<largeur+2;i++)
- {
- code+="<TD bgcolor='000000'></TD>"
- }
- code+="</TR>"
- for (i=0;i<hauteur;i++)
- {
- code +="<TR><TD bgcolor='000000'></TD>"
- for (x=0;x<largeur;x++)
- {
- code += "<TD id='"+i+","+x+"' bgcolor='"+backgcolor+"'><FONT color='"+backgcolor+"' id='f"+i+","+x+"'>---</FONT></TD>"
- }
- code+="<TD bgcolor='000000'></TD></TR>"
- }
- code+="<TR>"
- for (i=0;i<largeur+2;i++)
- {
- code+="<TD bgcolor='000000'></TD>"
- }
- code+="</TR>"
- code+="</TABLE>"
- document.write(code)
- document.form.hauteur.value = hauteur
- document.form.largeur.value = largeur
- </SCRIPT>
- <FORM> <INPUT type="button" value="Haut" onclick="move(56)"><BR><INPUT type="button" value="Gauche" onclick="move(52)"><INPUT type="button" value="Droite" onclick="move(54)"><BR> <INPUT type="button" value="Bas" onclick="move(50)"></FORM>
- Vous devez vous rendre à la case verte.
- </BODY>
- </HTML>
<HTML>
<HEAD>
<TITLE>..: Labyrinthe :..</TITLE>
<SCRIPT language="javascript">
positionFin = "19,24"
window.status = "Chargement de la page"
function départ()
{
window.status = "Création des murs"
créemur()
window.status = "Initiation de la case de départ"
document.getElementById("0,0").style.backgroundColor = "C80000"
document.getElementById("f0,0").color="C80000"
document.form.positionX.value = 0
document.form.positionY.value = 0
window.status = "Initiation de la case de la fin"
document.getElementById(positionFin).style.backgroundColor = "0AC814"
document.getElementById("f"+positionFin).color = "0AC814"
window.status = ""
}
function move(e)
{
y = document.form.positionY.value*1
x = document.form.positionX.value*1
if (e == 50 && check(y+1,x))
{
afficher(y+1,x)
}
if (e == 54 && check(y,x+1))
{
afficher(y,x+1)
}
if (e == 56 && check(y-1,x))
{
afficher(y-1,x)
}
if (e == 52 && check(y,x-1))
{
afficher(y,x-1)
}
}
function check(Y,X)
{
if (document.getElementById(Y+","+X)) return true
else return false
}
function afficher(Y,X)
{
effacer(document.form.positionY.value,document.form.positionX.value)
document.getElementById(Y+","+X).style.backgroundColor = "C80000"
document.getElementById("f"+Y+","+X).color="C80000"
document.form.positionX.value = X
document.form.positionY.value = Y
vérifier()
}
function effacer(Y,X)
{
document.getElementById(Y+","+X).style.backgroundColor = "FFFFFF"
document.getElementById("f"+Y+","+X).color = "FFFFFF"
}
function créemur()
{
position = new Array("1,1","2,2","0,1","2,1","4,0","4,2","5,2","4,3","2,3","2,4","6,2","6,1","8,1","8,2","8,3","8,4","7,4","6,4","2,6","3,6","4,6","5,6","6,6","7,6","4,5","6,7","8,5","8,6","0,3","0,4","0,5","0,6","0,7","0,8","1,8","2,8","3,8","4,8","6,9","7,9","8,9","8,8","9,8","4,9","4,10","4,11","5,11","6,11","6,0","9,3","10,3","10,4","10,5","10,6","11,6","11,7","11,8","11,9","11,10","10,10","10,11","9,11","8,11","10,0","10,1","11,1","12,1","12,3","12,4","13,4","13,5","14,1","14,2","14,3","14,4","15,2","16,0","16,1","16,2","13,7","13,8","13,9","13,10","13,11","13,12","12,12","14,7","15,7","15,6","16,6","16,5","16,4","18,1","18,2","18,3","18,4","18,5","18,6","19,4","4,13","5,13","6,13","7,13","8,13","9,13","10,13","19,8","18,8","17,8","17,9","16,9","15,9","17,10","18,10","18,11","18,12","18,13","17,13","16,13","16,12","15,12","15,11","13,13","14,14","13,14","10,14","11,14","1,10","2,10","2,11","2,12","2,13","3,13","0,12","0,14","0,15","1,15","11,15","11,16","12,16","13,16","15,16","16,16","16,15","17,15","18,15","19,15","19,17","18,17","18,18","17,18","16,18","15,18","14,18","13,18","12,18","11,18","10,18","9,18","9,17","9,16","8,16","8,15","7,15","6,15","5,15","5,14","2,15","3,15","3,16","3,17","4,17","5,17","6,17","6,18","7,18","3,19","4,19","4,20","5,20","6,20","7,20","8,20","9,20","10,20","11,20","12,20","10,21","10,22","11,22","12,22","13,22","14,22","14,21","14,20","15,20","16,20","17,20","18,20","17,21","17,22","18,22","19,22","15,22","1,17","1,18","1,19","1,20","1,21","1,23","0,23","2,21","2,22","2,23","3,22","5,22","5,23","5,24","7,21","7,22","7,23","9,22","10,24","12,23","14,24","16,24","15,22","18,23")
pos = position
for (i=0;i<position.length;i++)
{
pos[i] = pos[i].split(",")
if (check(pos[i][0],pos[i][1]))
{
document.getElementById(position[i]).style.backgroundColor = "000000"
document.getElementById("f"+position[i]).color = "000000"
document.getElementById(position[i]).id = ""
}
}
}
function vérifier()
{
if (document.form.positionY.value+","+document.form.positionX.value == positionFin)
{
alert("Vous avez gagné !")
}
}
</SCRIPT>
</HEAD>
<BODY onload="départ()" onkeypress="move(event.keyCode)">
<FORM name="form">
<INPUT type="hidden" name="hauteur">
<INPUT type="hidden" name="largeur">
<INPUT type="hidden" name="positionX">
<INPUT type="hidden" name="positionY">
</FORM>
<SCRIPT>
window.status = "Chargement du labyrinthe"
hauteur = 20
largeur = 25
backgcolor = "FFFFFF"
code ="<TABLE border='0'><TR>"
for (i=0;i<largeur+2;i++)
{
code+="<TD bgcolor='000000'></TD>"
}
code+="</TR>"
for (i=0;i<hauteur;i++)
{
code +="<TR><TD bgcolor='000000'></TD>"
for (x=0;x<largeur;x++)
{
code += "<TD id='"+i+","+x+"' bgcolor='"+backgcolor+"'><FONT color='"+backgcolor+"' id='f"+i+","+x+"'>---</FONT></TD>"
}
code+="<TD bgcolor='000000'></TD></TR>"
}
code+="<TR>"
for (i=0;i<largeur+2;i++)
{
code+="<TD bgcolor='000000'></TD>"
}
code+="</TR>"
code+="</TABLE>"
document.write(code)
document.form.hauteur.value = hauteur
document.form.largeur.value = largeur
</SCRIPT>
<FORM> <INPUT type="button" value="Haut" onclick="move(56)"><BR><INPUT type="button" value="Gauche" onclick="move(52)"><INPUT type="button" value="Droite" onclick="move(54)"><BR> <INPUT type="button" value="Bas" onclick="move(50)"></FORM>
Vous devez vous rendre à la case verte.
</BODY>
</HTML>
Conclusion
Voici le principe de mon script : - Premièrment il crée un tableau vide avec les dimensions voulues. - Deuxièment il crée les murs ( enlève le id des cases et les mets de couleur ) - Troisièment lorsque l'on se déplace si il ne trouve pas l'object vers lequel il se déplace il ne bouge pas, donc si on a enlevé le id où il y a des murs il ne peut pas se déplacer sur le mur.
Testé sur : - Internet Explorer - Modzilla - Netscape - Firefox - Opéra
Historique
- 30 mars 2005 16:50:21 :
- Petit problème de position dans le générateur.
- 30 mars 2005 19:09:09 :
- Ajout d'un générateur aléatoire dans le zip.
- 31 mars 2005 02:48:19 :
- Le générateur de labyrinthe aléatoire fonctionne mieux.
- 31 mars 2005 19:10:56 :
- Le générateur aléatoire est enfin finaliser et presque parfait.
- 31 mars 2005 21:03:23 :
- Petite correction
- 28 novembre 2005 00:59:01 :
- Ajout de mot clé
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Jeux dhtml javascript [ par Cyreb ]
Voila, je regarde depuis longtemps les sources proposé sur ce site et je m'interesse aux jeux en javascripts, pourquoi ne pas créer de veritable proje
placer une image à la place d'une fenêtre d'Alerte - Comment modifier mon code javascript svp? [ par RomantikA ]
Bonjour, veuillez m'excuser pour cette question peut être stupide et/ou imprécise, mais je désirerais savoir s'il est possible de modifier un code jav
Générateur dynamique de formulaire Ajax [ par plefebv ]
Bonjour ,C'est peut-être une FAQ tant le sujet me semble évident, mais j'ai dû passer à côté. Dans ce cas, merci de me faire savoir où trouver la doc
Du dinamique avec du JavaScript [ par minimoysmini ]
Salut, Voila je connais pas mal de truc en informatique. Je c'est programmer en C#,HTML,JavaScript et CSS. Puis j'ai eu envie de créer un jeux sur i
Du dynamique avec du javascript [ par minimoysmini ]
Salut, Voila je connais pas mal de truc en informatique. Je c'est programmer en C#,HTML,JavaScript et CSS. Puis j'ai eu envie de créer un jeux su
La fonction "Saut" dans un jeux 2D [ par DrSlump75 ]
Bonjours à tous ! Depuis quelques semaines je me suis lancé avec quelques camarades dans un petit jeu de plateforme 2D en Javascript sur navigateur. L
one page javascript application ? [ par alxidali ]
Bonjour a tous . j'ai une petite question j’espère que quelqu'un pourra m'aider ! 1 - comment faire une très grande application JavaScript (pro
Cherche à changer un id quand l'url se modifie!!! [ par ayolos ]
Bonjour à toutes et à tous, voilà, j'utilise un CMS (expression engine 2.2.2), il génère mes page en php et authorise le javascript, le problème est
Envoyer variable Javascript vers une autre page (par URL) [ par midoxe ]
Bonjour, je travail sur une application web, et je me bloque sur ce problème : le clique sur un lien provoque l'ouverture d'une fenetre javascript q
Calcul de taux de marge en javascript [ par sbataille ]
Bonjour, Je suis commerciale et je dois régulièrement définir un prix de vente d'une formation en fonction du prix "d'achat" de l'intervenant et de l
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|