Accueil > Forum > > > > Fonction de "vie" pour rpg en javascript
Fonction de "vie" pour rpg en javascript
mercredi 22 décembre 2010 à 19:56:48 |
Fonction de "vie" pour rpg en javascript

loicseg
|
Bonjour à tous,
voilà j'ai créé un code de "vie" qui réduit la vie lors d'un combat dans un mini rpg que je programme en javascript/html... sauf que le code est assez long et j'aimerais trouver un moyen de le raccourcir, je pense qu'il y a un moyen mais je ne me rappelle plus de la structure :
voici mes fonctions javascript :
Code Javascript :
if (document.getElementById)
{
if(navigator.appName.substring(0,3) == "Net")
document.captureEvents(Event.MOUSEMOVE);
window.onload = viepleine;
}
function viepleine(){
if (document.getElementById)
{
document.vie.src='img/100.bmp';
}
tempo = setTimeout("viepleine()", 1000);
}
function vie100(){
if (document.getElementById)
{
document.vie.src='img/100.bmp';
}
tempo = setTimeout("vie98()", 1000);
}
function vie98(){
if (document.getElementById)
{
document.vie.src='img/98.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie96()", 1000);
}
function vie96(){
if (document.getElementById)
{
document.vie.src='img/96.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie94()", 1000);
}
function vie94(){
if (document.getElementById)
{
document.vie.src='img/94.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie92()", 1000);
}
function vie92(){
if (document.getElementById)
{
document.vie.src='img/92.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie90()", 1000);
}
function vie90(){
if (document.getElementById)
{
document.vie.src='img/90.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie88()", 1000);
}
function vie88(){
if (document.getElementById)
{
document.vie.src='img/88.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie86()", 1000);
}
function vie86(){
if (document.getElementById)
{
document.vie.src='img/86.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie84()", 1000);
}
function vie84(){
if (document.getElementById)
{
document.vie.src='img/84.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie82()", 1000);
}
function vie82(){
if (document.getElementById)
{
document.vie.src='img/82.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie80()", 1000);
}
function vie80(){
if (document.getElementById)
{
document.vie.src='img/80.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie78()", 1000);
}
function vie78(){
if (document.getElementById)
{
document.vie.src='img/78.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie76()", 1000);
}
function vie76(){
if (document.getElementById)
{
document.vie.src='img/76.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie74()", 1000);
}
function vie74(){
if (document.getElementById)
{
document.vie.src='img/74.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie72()", 1000);
}
function vie72(){
if (document.getElementById)
{
document.vie.src='img/72.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie70()", 1000);
}
function vie70(){
if (document.getElementById)
{
document.vie.src='img/70.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie68()", 1000);
}
function vie68(){
if (document.getElementById)
{
document.vie.src='img/68.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie66()", 1000);
}
function vie66(){
if (document.getElementById)
{
document.vie.src='img/66.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie64()", 1000);
}
function vie64(){
if (document.getElementById)
{
document.vie.src='img/64.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie62()", 1000);
}
function vie62(){
if (document.getElementById)
{
document.vie.src='img/62.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie60()", 1000);
}
function vie60(){
if (document.getElementById)
{
document.vie.src='img/60.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie58()", 1000);
}
function vie58(){
if (document.getElementById)
{
document.vie.src='img/58.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie56()", 1000);
}
function vie56(){
if (document.getElementById)
{
document.vie.src='img/56.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie54()", 1000);
}
function vie54(){
if (document.getElementById)
{
document.vie.src='img/54.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie52()", 1000);
}
function vie52(){
if (document.getElementById)
{
document.vie.src='img/52.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie50()", 1000);
}
function vie50(){
if (document.getElementById)
{
document.vie.src='img/50.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie48()", 1000);
}
function vie48(){
if (document.getElementById)
{
document.vie.src='img/48.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie46()", 1000);
}
function vie46(){
if (document.getElementById)
{
document.vie.src='img/46.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie44()", 1000);
}
function vie44(){
if (document.getElementById)
{
document.vie.src='img/44.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie42()", 1000);
}
function vie42(){
if (document.getElementById)
{
document.vie.src='img/42.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie40()", 1000);
}
function vie40(){
if (document.getElementById)
{
document.vie.src='img/40.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie38()", 1000);
}
function vie38(){
if (document.getElementById)
{
document.vie.src='img/38.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie36()", 1000);
}
function vie36(){
if (document.getElementById)
{
document.vie.src='img/36.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie34()", 1000);
}
function vie34(){
if (document.getElementById)
{
document.vie.src='img/34.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie32()", 1000);
}
function vie32(){
if (document.getElementById)
{
document.vie.src='img/32.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie30()", 1000);
}
function vie30(){
if (document.getElementById)
{
document.vie.src='img/30.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie28()", 1000);
}
function vie28(){
if (document.getElementById)
{
document.vie.src='img/28.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie26()", 1000);
}
function vie26(){
if (document.getElementById)
{
document.vie.src='img/26.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie24()", 1000);
}
function vie24(){
if (document.getElementById)
{
document.vie.src='img/24.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie22()", 1000);
}
function vie22(){
if (document.getElementById)
{
document.vie.src='img/22.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie20()", 1000);
}
function vie20(){
if (document.getElementById)
{
document.vie.src='img/20.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie18()", 1000);
}
function vie18(){
if (document.getElementById)
{
document.vie.src='img/18.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie16()", 1000);
}
function vie16(){
if (document.getElementById)
{
document.vie.src='img/16.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie14()", 1000);
}
function vie14(){
if (document.getElementById)
{
document.vie.src='img/14.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie12()", 1000);
}
function vie12(){
if (document.getElementById)
{
document.vie.src='img/12.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie10()", 1000);
}
function vie10(){
if (document.getElementById)
{
document.vie.src='img/10.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie8()", 1000);
}
function vie8(){
if (document.getElementById)
{
document.vie.src='img/8.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie6()", 1000);
}
function vie6(){
if (document.getElementById)
{
document.vie.src='img/6.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie4()", 1000);
}
function vie4(){
if (document.getElementById)
{
document.vie.src='img/4.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie2()", 1000);
}
function vie2(){
if (document.getElementById)
{
document.vie.src='img/2.bmp';
}
window.clearTimeout(tempo);
tempo = setTimeout("vie0()", 1000);
}
function vie0(){
if (document.getElementById)
{
window.clearTimeout(tempo);
document.vie.src='img/0.bmp';
parent.document.getElementById('mort').style.visibility='visible';
parent.map.imgpersomort();
}
}
function blessure(){
tempo = setTimeout("vie100()", 1000);
}
function stop(){
window.clearTimeout(tempo);
}
if(document.getElementById)
{
document.write('<img src="img/100.bmp" style="border:0px" name="vie" id="vie" alt="" height="100%" width="100%" />');
}
d'après mes souvenirs la structure de la fonction est un truc du genre :
function mafonction()
0<n<100
fichier=img(n).bmp
new src=img(n)-2k
document.img.src='img(n)'
je ne me rappelle pas mais je pense que ce "code" est compréhensible pour ce que je veux faire
merci d'avance pour votre aide.
|
|
mercredi 22 décembre 2010 à 20:00:19 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
edit :
function mafonction()
0<n<100 ;
fichier=img(n).bmp ;
new src=img(n)-2k ;
document.img.src='img(n)';
temp = setInterval("mafonction()",300);
PS : si des personnes souhaitent se joindre au projet par plaisir elles sont les bienvenues (attention pas de rémunération : jeu libre et gratuit opensource)
|
|
mercredi 22 décembre 2010 à 22:36:35 |
Re : Fonction de "vie" pour rpg en javascript

PetoleTeam
|
Bonjour,
Quel courage et quelle abnégation, heureusement que tu n'as pas 3022 vies!
pour commencer
Code Javascript : if(navigator.appName.substring(0,3) == "Net")
document.captureEvents(Event.MOUSEMOVE);oublies cela c'est complètement dépassé
pour continuer,
mais je ne me rappelle plus de la structure
il ne s'agit pas de structure mais de bon sens sur ce coup.
Quand on écrit plusieurs fois la même fonction ou presque on garde la partie commune et on passe ce qui change en paramètre.
Un petit exemple de compression
Code Javascript : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>[PetoleTeam]Compression de fonction</title>
</head>
<body>
<div id="D_ECRIRE"></div>
</body>
<script type="text/javascript">
//----------------------
function Incremente( param_){
document.getElementById('D_ECRIRE').innerHTML += param_ +' - ';
tempo = setTimeout( function(){ Incremente( param_ +1);}, 1000);
}
//-- lance la fonction
Incremente( 1);
</script>
</html>
enfin le clearTimeout n'est pas nécessaire dans la fonction.
;O)
|
|
mercredi 22 décembre 2010 à 23:15:43 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
merci beaucoup je vais essayer avec cette méthode je vous informerais du résultat
|
|
mercredi 22 décembre 2010 à 23:56:58 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
function combat( vie_){
if (document.getElementById)
{
document.vie.innerHTML += vie_ +' - ';
tempo = setTimeout( function(){combat( vie_ -2);}, 1000);
}
}
ça ne vas pas bien sur mais je ne sais pas comment faire...
|
|
jeudi 23 décembre 2010 à 00:23:01 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
<html>
<img src="img/100.bmp" style="border:0px" name="vie" id="vie" alt="" height="100%" width="100%">
<script type="text/javascript">
//----------------------
function Incremente( param_){
document.getElementById('vie').src='img/'+= param_ +'.bmp';
tempo = setTimeout( function(){ Incremente( param_ -2);}, 1000);
}
}
//-- lance la fonction
Incremente(100);
</script>
</html>
|
|
jeudi 23 décembre 2010 à 00:49:14 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
<div id="life"></div>
<script type="text/javascript">
//----------------------
function combat( vie_){
document.getElementById('life').innerHTML = '<img src="img/'+= vie_+'.bmp">';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
combat( 100);
</script>
comprend pas pourquoi ça ne fonctionne pas là
certainement ici que ça coince :
document.getElementById('life').innerHTML = '<img src="img/'+=vie_+'.bmp">';
mais je ne connais pas de solution
|
|
jeudi 23 décembre 2010 à 00:54:34 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
Youpi !
<div id="life"></div>
<script type="text/javascript">
//----------------------
function combat( vie_){
document.getElementById('life').innerHTML = '<img src="img/'+ vie_ +'.bmp">';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
combat( 100);
</script>
|
|
jeudi 23 décembre 2010 à 11:36:37 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
<body style="margin: 0">
<img id="vie" src="img/100.bmp" style="position:absolute;top:0px;left:0px" width="100%" height="100%">
<script type="text/javascript">
function combat( vie_){
document.getElementById("vie").src = 'img/'+ vie_ +'.bmp';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
function cmbt(){
combat( 100);
}
function stop(){
window.clearTimeout(tempo);
}
</script>
maintenant je bloque sur comment relancer le setTimeout mais sans perdre la valeur car voici ce qui se passe en gros :
un clic sur un monstre depuis une frame lance la fonction cmbt() qui lance elle-même la fonction combat. A la fin du "combat" le monstre (image) a disparu et le Timeout s'arrête grâce à la fonction stop()
ondblclick="parent.vie.stop()"
mais voilà lorsque je veux faire un second combat la vie remonte à 100 et ne reprend pas à la valeur atteinte à la fin du combat précédent.
J'espère avoir été assez clair dans l'explication de mon problème et merci encore d'avance pour votre aide.
(par conséquent le même problème se passe avec la jauge d'expérience :
<body style="margin: 0">
<img id="xp" src="img/0.bmp" style="position:absolute;top:0px;left:0px" width="100%" height="100%" onclick="gainxp()">
<script type="text/javascript">
function xp( xp_){
document.getElementById("xp").src = 'img/'+ xp_ +'.bmp';
tempo = setTimeout( function(){ xp( xp_ +10);}, 1000);
}
//-- lance la fonction
function gainxp(){
xp( 0);
}
</script>
une fois lancé je ne peux plus l'arrêter et je ne veux pas que l'expérience monte d'un coup comme ça, de plus comment fixer une limite maximum à 100 pour le paramètre xp_ ?
|
|
jeudi 23 décembre 2010 à 11:50:48 |
Re : Fonction de "vie" pour rpg en javascript

loicseg
|
Avant j'avais ça :
function vie0(){
if (document.getElementById)
{
window.clearTimeout(tempo);
document.vie.src='img/0.bmp';
parent.document.getElementById('mort').style.visibility='visible';
parent.map.imgpersomort();
}
}
mais maintenant comment faire pour afficher l'image "personnage mort" lorsque le paramètre vie_ atteint la valeur 0 :
function mort(){
if (vie_ =0){
parent.document.getElementById('mort').style.visibility='visible'; parent.map.imgpersomort();
}
}
ne fonctionne pas :s
en gros comment déclencher une fonction lorsque le paramètre atteint une certaine valeur
|
|
Cette discussion est classée dans : tempo, document, img, vie, if
Répondre à ce message
Sujets en rapport avec ce message
Marche pas sous IE [ par taxidogkiller ]
Bonjour, j'ai télécharger un script de galerie d'image et en voulant le bidouiller je suis tomber sur des fonction javascript qui ne marche que sous m
besoin d'aide sur un script de selection d'image [ par gohu06 ]
Bonjour J'ai réalisé un script pour que lorsque le visiteur séléctionne un nom dans un des 3 menus déroulants, un photo s'affiche dans un emplacement
animation images transparentes [ par lucdcs ]
bonjour à tousje suis novice mais je me soigne toutefois il me reste un petit problème dans mon code.avec l'aide des internautes la gestion de la tran
script de visinneur d'image [ par k4mik4zi ]
Voila j'ai trouvé un script que j'ai un peu bidouillé pour avoir un visionneur d image mais le probleme c'est que l'image affiché par default c'est au
pb effet de style [ par gabs77 ]
slt,g un script permettant de mettre en diapo toutes images d'un repertoire avec intervalle de tempsseul hic! je cherche a mettre different effet com
diaporama automatique PHP/JS [ par gabs77 ]
slt,g tenter de faire du diaporama automatique avec effet a partir du contenu d un dossier nommé uploads!!Voici mon script:imgPath = n
Player multi format sécuriter java & php [ par c2bomb ]
bonjour a tous,je cherche a afficher mon player,dans une fenetre style popup,mais hélas je suis vraiment nulle en javascript...si quelq'un peut m'aide
2 menuS deroulants java dans une page [ par DEVLYNE ]
Bonjour!Sachez que je suis uns très grande débutante mais j'ai un petit souci.J'utilise un logiciel gratuit: Coffee Cup DHTML menu pour faire mes menu
Placement d'une div sur un textbox [ par ludovicanceaux ]
Salut à tous, J'ai un problême de compatibilité entre firefox et internet explorer en fait ma fonction doit faire apparaitre une div avec une sorte d
Control de dimension d'une image [ par jnbrunet ]
Salut,Pour un de mes sites, je dois contrôler les dimensions de mes images. Je ne veux pas utiliser les paramêtre de dimension d'une image(ex : )J'ai
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft 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
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
|