Jsdos: simulateur de console dos

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 348 fois - Téléchargée 24 fois

Contenu du snippet

Bonjour

voici un petit code simpa qui fait defiler un text, a la maniere d'uun console, c'est a dire que l'on a un affichage caractere par caractere, et une attente en fin de ligne.
Il suffit de personnaliser le tableau text_content pour afficher le text voulu.
les variables "speed" et "pause" gèrent respectivement la vitesse d'ecriture, et le temps d'attente en fin de ligne.

en esperant que cela vous interesse

ps: je debute en javascript, alors si vous avez des idées pour simplifier le code, merci de le preciser

Source / Exemple :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<style type="text/css">
<!--
textarea {
    color : #FFFFFF;
    background-color: #000000;
    font-family: "Courier New", Courier, monospace;
    font-size:13px;
    font-weight:bold;
    border: 0;
}
-->
</style>
 
<script type="text/javascript">
<!--
var text_content=new Array(
 
"Salut.",
"Je me presente, je m'appelle JSDOS.",
"Je suis un script simulant une console.",
"Comme vous le voyez, le texte defile petit à petit.",
"Le temps de defilement des caractères est reglable,",
"De meme que le temps d'attente en fin de ligne.",
"Perso, je prefere que le temps de retour à la ligne soit aléatoire,",
"En utilisant la fonction javascript random(), c'est possible", 
"Et c'est plus realiste.",
"Par contre, je ne simule pas les bugs.",
"Le rapprochement avec le DOS n'est donc pas total.",
"Enfin, je prefère penser que je suis le shell de Linux.",
"Ca fait mieux sur la carte de visite",
"Et sinon, ça me déprime.",
"Vous savez, je suis juste un script.",
"J'essaye de bien faire mon boulot.",
"Que voulez vous que je fasse d'autre?!",
"Je ne suis meme pas un vrai programme.",
"Eux au moins ont un semblant d'autonomie.",
"Tu vois ...",
"Je peux te dire tu au fait ?",
"Tu vois, j'ai même envie de pleurer",
"tellement ça me déprime ...",
"Mais bon, si je pleure trop",
"je ne pourrai plus bosser correctement",
"*soupir*",
"Je suis tellement déprimé en ce moment ...",
"Je pense que je vire maniaco dépressif.",
"Une simulation de console a l'asil",
"C'est pas une fin pour moi ça",
"Moi j'ai toujours voulu la grandeur",
"Etre un script PHP, avec un serveur dedié rien qu'a moi",
"Distribuer les données sur du très haut débit",
"J'aurais tout fait pour ça !",
"Mais je suis une simulation",
"Et ça ça me déprime ...",
"En plus en ce moment je cumule ...",
"*soupir*",
"Hier soir j'ai fait des propositions à la petite application",
"Celle du dossier d'en face ...",
"Ben quoi ?",
"J'ai aussi une vie de ce coté là !",
"Je me suis dit : sur un malentendu ça peut marcher",
"Et ben penses tu ... ",
"Elle m'a dit qu'elle finissait son service trop tard!",
"Tu parles d'une excuse!",
"Faut dire, il parait qu'on bosse pas dans le même language",
"On dit qu'elle ferait dans le C++ ...",
"Remarque, c'est peut être pas une excuse alors",
"Elle doit finir bien tard ...",
"Bon ben tu m'excuses !",
"Je retourne tenter ma chance !",
"Ca me fait du bien de t'avoir parlé",
"Je ne te dis pas au plaisir ...",
"Au fait, merci !",
"Moi là ça va beaucoup mieux !",
"En plus ce soir, je sens bien que je vais conclure !"
 
);
var speed=60; // Vitesse d'ecriture, cela correspond a d'interval d'attente entre l'affichage de 2 catactère
var pause=1500; // Temps d'attente en fin de ligne, avant le retour a la ligne, en millisecondes
 
var index=0; text_pos=0;
var str_length=text_content[0].length;
var contents, row;
 
function type_text()
{
  contents='';
  row=Math.max(0,index-7);
  while(row<index)
    contents += text_content[row++] + '\r\n';
  document.forms[0].elements[0].value = contents + text_content[index].substring(0,text_pos) + "_";
  if(text_pos++==str_length)
  {
    text_pos=0;
    index++;
    if(index!=text_content.length)
    {
      str_length=text_content[index].length;
      setTimeout("type_text()",pause);
 
    }
  } else
    setTimeout("type_text()",speed);
 
}
//-->
</script>
</head>

<body onload="type_text()">
<form action="">
  <textarea name="textarea" cols="80" rows="10"></textarea>
</form>
</body></html>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
24 janvier 2011

Bonjour,

Merci pour ce ptit scrpt (je sais je déterre un sujet vieux comme hérode) ^^

juste deux ptite choses :
ne pas oublier d'indiquer quels caractères utiliser dans ton header (via <meta>) histoire de ne pas avoir des trucs un peu moche pour les é et autres à ;)

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

et la deuxième, pourquoi l'integrer dans une <text area> (et j'vois d'ailleurs pas comment tu l'envoies la dedans ^^
j'aimerai l'adapter pour mon site, mais j'vois pas trop... si qqun a une idée

deuxième chose, pourquoi
Messages postés
13
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
4 novembre 2009

Pareil pour moi ; mais il y a les chiffres 4, 5, 17, 18, 111, 112, 113, 114, 115, 116 et 117.






Merci d'avance !
Messages postés
1
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
7 janvier 2007

et bien moi ca ne fonstionne pas,
j'ai copié tout le code et juste un formulaire se crée..
j'aimerais savoir comment vous avez fait!
merci

elsa
Messages postés
2
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
20 juin 2007

Script super Cool Modification faciles et superbe présentation
Messages postés
74
Date d'inscription
dimanche 2 avril 2006
Statut
Membre
Dernière intervention
23 juin 2010

tu as mis combien de temps a ecrire sa pauvre histoire?

thedeejay
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.