Demineur

Soyez le premier à donner votre avis sur cette source.

Vue 10 230 fois - Téléchargée 1 082 fois

Description

un démineur, basique

Codes Sources

A voir également

Ajouter un commentaire Commentaires
tres bien codé, à personaliser :p
(les alert sont un peu trop proches,on ne voit pas tres bien le plateau pendant)
kingseb51080
Messages postés
3
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
1 octobre 2009

3 févr. 2009 à 19:14
il est fou ce QuarX...a se demander pk il c est acharner sur toi..
a mon avi il est jaloux :)
djicfr
Messages postés
24
Date d'inscription
dimanche 15 juin 2003
Statut
Membre
Dernière intervention
27 mars 2005

9 févr. 2005 à 19:51
http://www.javascriptfr.com/code.aspx?id=25282

C'est vrai que ce genre de logiciel on en voiait un peu partout à l'époque ou le Javascript etait en apogée mais c'est pas une raison pour foutre le bordel sur ce forum (d'ailleur c en train de devenir pareil ici).
Ce forum (en général) est un forum d'entre-aide pour apprendre . Pas besoin de savoir qui est le plus fort.
On est la pour programmer pas pour se gueller dessus...
Aussi en info. ya pas que des programmes utils. Et les Trucs à la Con !!! on les oublis ! ben quoi c pas marrant sinon...

Pour ce qui est du démineur j'ai apporté quelques modifs à ton script :

en essai sur : http://poulphunter1.free.fr/demineur/demineur.html

<script>
jeu=new Array(64);
de=new Array(64);
perdu=0;
mines=0;
function depart(mines){ // Rajout de nombre de mines dans une form comme sa :
//
perdu=0;
dt1=new Date(); //Heure à laquelle la partie commence
hr1=dt1.getHours();
min1=dt1.getMinutes();
sec1=dt1.getSeconds();
for (x=0;x<64;x++){ //création des deux matrices vierges :
jeu[x]=0; // c'est la matrice du champ de mine réel
de[x]=0; // celle ci est ce que le joueur a déjà découvert
}
for (x=1;x<9;x++){
for (y=1;y<9;y++){
document.images[x+'et'+y].src='rien.bmp'; //si c'est en bmp c'est parceque j'ai repris les images du démineur
// windobe et j'ai pas eu la fois de les convertires (vu la taille sa change rien)
}
}
i=0;
while(i<mines){ // placement des mines
x=rnd(8)+1;
y=rnd(8)+1;
if (jeu[x+y*8-9]==0){
jeu[x+y*8-9]=9;
i++;
}
}
for (x=1;x<9;x++){ // placement des chiffres 1,2,3,4,5,6,7,8
for (y=1;y<9;y++){
i=0;
if (x>1){
if (jeu[(x-1)+(y-1)*8-9]==9){
i++;
}
if (jeu[(x-1)+(y)*8-9]==9){
i++;
}
if (jeu[(x-1)+(y+1)*8-9]==9){
i++;
}
}
if (jeu[(x)+(y-1)*8-9]==9){
i++;
}
if (jeu[(x)+(y+1)*8-9]==9){
i++;
}
if (x<8){
if (jeu[(x+1)+(y-1)*8-9]==9){
i++;
}
if (jeu[(x+1)+(y)*8-9]==9){
i++;
}
if (jeu[(x+1)+(y+1)*8-9]==9){
i++;
}
}
if (jeu[x+y*8-9]==9){
i=9;
}
jeu[x+y*8-9]=i;
}
}
heure(); // début de la boucle calculant la différence entre l'heure actuelle et l'heure à laquelle
// la partie a été commencée

}
function joueurdemin(x,y){ // x et y sont les coordonées de la case jouée
if (perdu==0){ // perdu a pour valeur 0 et sert juste à bloquer le jeu quand on gagne ou perd
var x2, y2, a, b,c,d;
c=x;
d=y;
if (de[x+y*8-9]==0){ // bloque les cases déjà jouées
document.images[x+'et'+y].src=jeu[x+y*8-9]+'.bmp';
de[x+y*8-9]=1;
if (jeu[x+y*8-9]==9){ // si c'est une mine
for (x=1;x<9;x++){
for (y=1;y<9;y++){ //on dévoile les autres cases
document.images[x+'et'+y].src=jeu[x+y*8-9]+'.bmp';
}
}
document.images[c+'et'+d].src='10.bmp';
boum.play();
smi.src="smile4.bmp"; // image qui sourit pas : c'est perdu
perdu=1;

}else if (jeu[x+y*8-9]==0){ //s'il la case est vide
for (x2 = x - 1; x2 < x + 2; x2++){
for (y2 = y - 1; y2 < y + 2 ; y2++){
if (x2 >0 && x2 < 9 && y2 >0 && y2 < 9 && de[x2+y2*8-9]==0){
joueurdemin(x2,y2); // on démine les cases alentours
}
}
}
}
}
// Calcul le nombre de cases restantes (placé ds la variable a)
a=0;
b=0;
for (x2 = 1; x2 < 9; x2++){
for (y2 = 1; y2 < 9; y2++){
if (de[x2+y2*8-9]==0){
a++;
}
}
}
mines=form.mine.value;
if (a==mines){ // si le nombre de mines est égal au nombre de cases restantes
yeah.play();
smi.src="smile3.bmp"; // on a gagné
perdu=1;
for (x=1;x<9;x++){
for (y=1;y<9;y++){
if (jeu[x+y*8-9]==9){
document.images[x+'et'+y].src='11.bmp'; //affiche l'image de la mine déminée...
}

}
}

}
}

}
function heure(){
if (perdu==0){ // le calcul de l'heure s'arréte quand on gagne ou pert
dt2=new Date();
hr2=dt2.getHours();
min2=dt2.getMinutes();
sec2=dt2.getSeconds();
document.form.score.value=(hr2-hr1)*3600+(min2-min1)*60+(sec2-sec1);

setTimeout("heure();", 1000);
}

}
function rnd(n){ // génere un nb aléatoire compris entre 0 et n
var temp = Math.random();
if (temp==1) temp=0.9;
return Math.floor(temp * n);
}

function verif(){
if (form.mine.value>63){
alert("Nombre de mines trop grand...");
form.mine.value=63;}
if (form.mine.value<1){
alert("Nombre de mines trop petit...");
form.mine.value=1;}
depart(form.mine.value);
}
</script>


Voilà... c'est moi ki est le plus long message... mais o moins ya pas ke des conneries dedans ... enfin bon...

PS :dsl pour les fotes d'orthographe : c'est pas un manque de respect mais un non interet à la langue française...
(du moment qu'on comprend...)
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
9 févr. 2005 à 14:18
je suis d'accord avec toi sur énormément de points, j'ai fais quelques erreurs, et pour certaines de mes sources, j'ai fait des erreurs énormes...

Cependant, ici, tu ne dois parler que de ma source, si je n'ai pas dis que c'était moi l'auteur, c'est pour la simple raison que l'on doit juger UN code et non l'ensemble des codes ou l'auteur... C'est le principe de ce forum (entre autres...)

Je n'ai pas fait d'études d'info, mais je compte bien en faire un jour, pour les commetaires, je suis tout à fait d'accord avec toi, mais ce n'est pas à metre dans la partie description de la source... C'est à metre dans le code... Les commentaires importants permetent une plus grande facilitée de relecture...
cs_QuarX
Messages postés
13
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
8 février 2005

8 févr. 2005 à 18:50
Ah, eh bien, tu n'as pas changé toi... Et de un, l'auteur dont on parle, c'est toi, et de deux, peux tu me citer le passage ou je dis que ta source est nulle? Vas-y, j'attends (et je pense que je vais pouvoir attendre longtemps vu que ce n'est pas ta source que j'ai critiqué, mais ton comportement).

De plus, si tu fais un peu d'études dans le milieu informatique, tu apprendra que les commentaires (qu'ils soient ou non dans le code) sont pratiquement aussi important que le code lui même.
Afficher les 18 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.