Labyrinthe
import java.awt.*; /*Graphics*/
import java.lang.*; /*Math*/
import java.util.*;
import java.applet.*;
import java.net.*;
import java.io.*;
public class trav5 extends Applet implements Runnable
{
/* Pour le faire tourner en autonome */
Thread timer = null;
/* Bloc note de l'écran */
Graphics BlocNote;
/* Ecran */
Image Ecran;
/* Tableaux de 0 à 26 (27 cases en X) de 0 à 12 (13 cases en Y) */
int[][] TablS = new int[27][13];
int[][] TablG = new int[27][13];
int[][] TablD = new int[27][13];
int[][] TablH = new int[27][13];
int[][] TablB = new int[27][13];
Image imgYP, imgXP, imgXM, imgYM, imgEF;
Image imgxYP, imgxXP, imgxXM, imgxYM;
Image imgyYP, imgyXP, imgyXM, imgyYM;
Image From,From1,From2,From3,From4,From5,From6;
/* pour l'affichage des variables */
Image Affiche;
/* Variables */
int Choix[] = new int[50];
int Xtabl[] = new int[50];
int Ytabl[] = new int[50];
int Xaff[] = new int[50];
int Yaff[] = new int[50];
int IndicPass[] = new int[50];
int Trouve[] = new int[50];
String[] Indic = new String[50];
String[] Interdit = new String[50];
int[][] TablHS = new int[27][13];
int[][] TablBS = new int[27][13];
int[][] TablGS = new int[27][13];
int[][] TablDS = new int[27][13];
int[][] TablHSs = new int[27][13];
int[][] TablBSs = new int[27][13];
int[][] TablGSs = new int[27][13];
int[][] TablDSs = new int[27][13];
int[] CheminX = new int[1000];
int[] CheminY = new int[1000];
int[] CheminRX = new int[1000];
int[] CheminRY = new int[1000];
int AvSouris1,n,Choix1,nCal1,nCal2,nCal3,nCal4,XFrom,YFrom,
Ch,nn,ComptA,ComptB,Ninc,Nincs,ColorX,BoutonEff,NbrSouris;
Button Button1 = new Button("Reconstruire");
Button Button2 = new Button("+ Souris");
public void init()
{
/* Couleur de fond de l'HTML */
int x = Integer.parseInt(getParameter("bgcolor"));
setBackground( new Color(x));
/* Image de la souris */
imgEF = getImage(getCodeBase(), "souris0.gif");
imgYP = getImage(getCodeBase(), "souris3.gif");
imgXP = getImage(getCodeBase(), "souris2.gif");
imgXM = getImage(getCodeBase(), "souris4.gif");
imgYM = getImage(getCodeBase(), "souris1.gif");
imgxYP = getImage(getCodeBase(), "sourisx3.gif");
imgxXP = getImage(getCodeBase(), "sourisx2.gif");
imgxXM = getImage(getCodeBase(), "sourisx4.gif");
imgxYM = getImage(getCodeBase(), "sourisx1.gif");
imgyYP = getImage(getCodeBase(), "sourisy3.gif");
imgyXP = getImage(getCodeBase(), "sourisy2.gif");
imgyXM = getImage(getCodeBase(), "sourisy4.gif");
imgyYM = getImage(getCodeBase(), "sourisy1.gif");
From = getImage(getCodeBase(), "froma.gif");
From1 = getImage(getCodeBase(), "froma1.gif");
From2 = getImage(getCodeBase(), "froma2.gif");
From3 = getImage(getCodeBase(), "froma3.gif");
From4 = getImage(getCodeBase(), "froma4.gif");
From5 = getImage(getCodeBase(), "froma5.gif");
From6 = getImage(getCodeBase(), "froma6.gif");
/* Pour l'affichage des variables */
Affiche = getImage(getCodeBase(), "AFFICHE.gif");
/* Création d'un bloc note à la dimension de l'écran */
Image Ecran = createImage(this.size().width, this.size().height);
Graphics BlocNote = Ecran.getGraphics();
/* Init programme */
for (n=0; n<50; n++)
{Xaff[n]=1; Yaff[n]=1; Xtabl[n]=0; Ytabl[n]=0;Indic[n]="";Interdit[n]="";}
ComptA=0;ComptB=0;
TablDS[Xtabl[49]][Ytabl[49]]=1;
/* Appel de la création du labyrinthe */
Labirinte();
/* Création des BP en bordure */
setLayout(new BorderLayout());
Panel Sp = new Panel();
add("South",Sp);
Sp.setLayout(new FlowLayout(FlowLayout.CENTER, 1, 1));
Sp.setBackground(Color.red);
Sp.add(Button1);
Sp.add(Button2);
NbrSouris = 1;
/* Pour accélérere l'affichage */
{BlocNote.drawImage(From, XFrom, YFrom, null);}
{BlocNote.drawImage(From1, XFrom, YFrom, null);}
{BlocNote.drawImage(From2, XFrom, YFrom, null);}
{BlocNote.drawImage(From3, XFrom, YFrom, null);}
{BlocNote.drawImage(From4, XFrom, YFrom, null);}
{BlocNote.drawImage(From5, XFrom, YFrom, null);}
{BlocNote.drawImage(From6, XFrom, YFrom, null);}
}
public boolean action(Event evt, Object what )
{
if ("Reconstruire".equals(what))
{
BoutonEff=2;
}
if ("+ Souris".equals(what))
{
NbrSouris++;
if (NbrSouris>48) {NbrSouris=48;}
}
return false;
}
public void Labirinte()
{
for (int i=0; i<=26; i++)
{
for (int ii=0; ii<=12; ii++)
{
Choix1 = (int) (Math.random() * 4);
if (Choix1==1) { TablG[i][ii]=1;if ((i-1)>=0) {TablD[i-1][ii]=1;}}
if (Choix1==2) { TablD[i][ii]=1;if ((i+1)<=26) {TablG[i+1][ii]=1;}}
if (Choix1==3) { TablH[i][ii]=1;if ((ii-1)>=0) {TablB[i][ii-1]=1;}}
if (Choix1==4) { TablB[i][ii]=1;if ((ii+1)<=12){TablH[i][ii+1]=1;}}
}
}
for (int i=0; i<=26; i++){TablH[i][0]=1;}
for (int i=0; i<=12; i++){TablD[26][i]=1;}
for (int i=0; i<=26; i++){TablB[i][12]=1;}
for (int i=0; i<=12; i++){TablG[0][i]=1;}
/* Création de l'espace fromage */
XFrom=(22*(21+1))+1; YFrom=(22*(0+1))+1;
TablD[22][1]=0; TablD[22][2]=0; TablD[23][1]=0; TablD[23][2]=0;
TablG[22][1]=0; TablG[22][2]=0; TablG[23][1]=0; TablG[23][2]=0;
TablH[22][1]=0; TablH[22][2]=0; TablH[23][1]=0; TablH[23][2]=0;
TablB[22][1]=0; TablB[22][2]=0; TablB[23][1]=0; TablB[23][2]=0;
/* Ouverture du labyrinthe pour les souris */
TablD[0][0]=0; TablG[1][0]=0; TablH[0][1]=0; TablB[0][0]=0;
}
/* Déplacement de la souris 1 dans le bloc note */
public void paint1(Graphics BlocNote)
{
AvSouris1 = 11; /* 1 2 11 22 */
for (int n=0; n0)
&& !(Interdit[n]=="G") && (Choix[n]==3)
&& ((Indic[n]=="G") || (Indic[n]=="")))
{
if ((TablS[Xtabl[n]-1][Ytabl[n]]==0)||(Indic[n]=="G"))
{
TablS[Xtabl[n]-1][Ytabl[n]]=1;
BlocNote.drawImage(imgEF, Xaff[n], Yaff[n], null);
Xaff[n]=Xaff[n]-AvSouris1; Indic[n]="G";IndicPass[n]=0;
BlocNote.drawImage(imgXM, Xaff[n], Yaff[n], null);
if (Xaff[n]==(22*(Xtabl[n]-1))+1)
{ Indic[n]="";TablS[Xtabl[n]][Ytabl[n]]=0; Xtabl[n]--; Interdit[n]="D"; }
}
}
if ((TablH[Xtabl[n]][Ytabl[n]]==0) && (IndicPass[n]==1) && (Ytabl[n]>0)
&& !(Interdit[n]=="H") && (Choix[n]==4)
&& ((Indic[n]=="H") || (Indic[n]=="")))
{
if ((TablS[Xtabl[n]][Ytabl[n]-1]==0)||(Indic[n]=="H"))
{
TablS[Xtabl[n]][Ytabl[n]-1]=1;
BlocNote.drawImage(imgEF, Xaff[n], Yaff[n], null);
Yaff[n]=Yaff[n]-AvSouris1; Indic[n]="H";IndicPass[n]=0;
BlocNote.drawImage(imgYM, Xaff[n], Yaff[n], null);
if (Yaff[n]==(22*(Ytabl[n]-1))+1)
{ Indic[n]="";TablS[Xtabl[n]][Ytabl[n]]=0; Ytabl[n]--; Interdit[n]="B"; }
}
}
if (IndicPass[n]==1) {Interdit[n]="";}
if (Indic[n]=="")
{
Choix[n] = (int) ((Math.random() * 4)+1);
/* Choix imposé par la souris rouge */
if (Trouve[49]==1)
{
for (int i=0; i(Ytabl[n])){Choix[n]=2;} else {Choix[n]=4;}
}
else
{
if ((CheminX[i+1])>(Xtabl[n])){Choix[n]=1;} else {Choix[n]=3;}
}
}
}
}
}
if ((((Xtabl[n]==22) && (Ytabl[n]==1)) ||((Xtabl[n]==22) && (Ytabl[n]==2))
|| ((Xtabl[n]==23) && (Ytabl[n]==1)) ||((Xtabl[n]==23) && (Ytabl[n]==2)))
&& (Trouve[n]==0))
{
Trouve[n]=1; TablS[Xtabl[n]][Ytabl[n]]=0;
}
}
}
/* Déplacement de la souris 2 dans le bloc note */
public void paint2(Graphics BlocNote)
{
AvSouris1 = 11; /* 1 2 11 22 */
nn=48;
if (Trouve[nn]==0)
{
if ((TablD[Xtabl[nn]][Ytabl[nn]]==0) && (Xtabl[nn]<26)
&& (Choix[nn]==2))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Xaff[nn]=Xaff[nn]+AvSouris1; Indic[nn]="D";IndicPass[nn]=0;
BlocNote.drawImage(imgyXP, Xaff[nn], Yaff[nn], null);
if (Xaff[nn]==(22*(Xtabl[nn]+1))+1)
{
Indic[nn]=""; Xtabl[nn]++;
TablDSs[Xtabl[nn]][Ytabl[nn]]=TablDSs[Xtabl[nn]][Ytabl[nn]]+Nincs;
}
}
if ((TablB[Xtabl[nn]][Ytabl[nn]]==0) && (Ytabl[nn]<12)
&& (Choix[nn]==4))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Yaff[nn]=Yaff[nn]+AvSouris1; Indic[nn]="B";IndicPass[nn]=0;
BlocNote.drawImage(imgyYP, Xaff[nn], Yaff[nn], null);
if (Yaff[nn]==(22*(Ytabl[nn]+1))+1)
{
Indic[nn]=""; Ytabl[nn]++;
TablBSs[Xtabl[nn]][Ytabl[nn]]=TablBSs[Xtabl[nn]][Ytabl[nn]]+Nincs;
}
}
if ((TablG[Xtabl[nn]][Ytabl[nn]]==0) && (Xtabl[nn]>0)
&& (Choix[nn]==1))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Xaff[nn]=Xaff[nn]-AvSouris1; Indic[nn]="G";IndicPass[nn]=0;
BlocNote.drawImage(imgyXM, Xaff[nn], Yaff[nn], null);
if (Xaff[nn]==(22*(Xtabl[nn]-1))+1)
{
Indic[nn]=""; Xtabl[nn]--;
TablGSs[Xtabl[nn]][Ytabl[nn]]=TablGSs[Xtabl[nn]][Ytabl[nn]]+Nincs;
}
}
if ((TablH[Xtabl[nn]][Ytabl[nn]]==0) && (Ytabl[nn]>0)
&& (Choix[nn]==3))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Yaff[nn]=Yaff[nn]-AvSouris1; Indic[nn]="H";IndicPass[nn]=0;
BlocNote.drawImage(imgyYM, Xaff[nn], Yaff[nn], null);
if (Yaff[nn]==(22*(Ytabl[nn]-1))+1)
{
Indic[nn]=""; Ytabl[nn]--;
TablHSs[Xtabl[nn]][Ytabl[nn]]=TablHSs[Xtabl[nn]][Ytabl[nn]]+Nincs;
}
}
if (Indic[nn]=="")
{
Nincs++;
if ((Xtabl[nn]-1 >=0)&&(TablG[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal1= TablGSs[Xtabl[nn]-1][Ytabl[nn]]+TablDSs[Xtabl[nn]-1][Ytabl[nn]]
+TablHSs[Xtabl[nn]-1][Ytabl[nn]]+TablBSs[Xtabl[nn]-1][Ytabl[nn]];
} else {nCal1=100000000;}
if ((Xtabl[nn]+1 <=26)&&(TablD[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal2= TablGSs[Xtabl[nn]+1][Ytabl[nn]]+TablDSs[Xtabl[nn]+1][Ytabl[nn]]
+TablHSs[Xtabl[nn]+1][Ytabl[nn]]+TablBSs[Xtabl[nn]+1][Ytabl[nn]];
} else {nCal2=10000000;}
if ((Ytabl[nn]-1 >=0)&&(TablH[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal3= TablGSs[Xtabl[nn]][Ytabl[nn]-1]+TablDSs[Xtabl[nn]][Ytabl[nn]-1]
+TablHSs[Xtabl[nn]][Ytabl[nn]-1]+TablBSs[Xtabl[nn]][Ytabl[nn]-1];
} else {nCal3=1000000;}
if ((Ytabl[nn]+1 <=12)&&(TablB[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal4= TablGSs[Xtabl[nn]][Ytabl[nn]+1]+TablDSs[Xtabl[nn]][Ytabl[nn]+1]
+TablHSs[Xtabl[nn]][Ytabl[nn]+1]+TablBSs[Xtabl[nn]][Ytabl[nn]+1];
} else {nCal4=100000;}
if ((TablG[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal1<=nCal2)&& (nCal1<=nCal3)&& (nCal1<=nCal4))
{Choix[nn] = 1;}
if ((TablB[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal4<=nCal2)&& (nCal4<=nCal1)&& (nCal4<=nCal3))
{Choix[nn] = 4;}
if ((TablH[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal3<=nCal1)&& (nCal3<=nCal2)&& (nCal3<=nCal4))
{Choix[nn] = 3;}
if ((TablD[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal2<=nCal1)&& (nCal2<=nCal3)&& (nCal2<=nCal4))
{Choix[nn] = 2;}
}
if ((((Xtabl[nn]==22) && (Ytabl[nn]==1)) ||((Xtabl[nn]==22) && (Ytabl[nn]==2))
|| ((Xtabl[nn]==23) && (Ytabl[nn]==1)) ||((Xtabl[nn]==23) && (Ytabl[nn]==2)))
&& (Trouve[nn]==0))
{
Trouve[nn]=1; int iii=0;
}
}
}
/* Déplacement de la souris 3 dans le bloc note */
public void paint4(Graphics BlocNote)
{
AvSouris1 = 11; /* 1 2 11 22 */
nn=49;
if (Trouve[nn]==0)
{
IndicPass[nn]=1;
if ((TablD[Xtabl[nn]][Ytabl[nn]]==0) && (IndicPass[nn]==1) && (Xtabl[nn]<26)
&& !(Interdit[nn]=="D")/* && (TablDS[Xtabl[nn]+1][Ytabl[nn]]==0) */
&& ((Choix[nn]==2) || (Choix[nn]==5))
&& ((Indic[nn]=="D") || (Indic[nn]=="")))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Xaff[nn]=Xaff[nn]+AvSouris1; Indic[nn]="D";IndicPass[nn]=0;
BlocNote.drawImage(imgxXP, Xaff[nn], Yaff[nn], null);
if (Xaff[nn]==(22*(Xtabl[nn]+1))+1)
{
Indic[nn]=""; Xtabl[nn]++; Interdit[nn]="G";
TablDS[Xtabl[nn]][Ytabl[nn]]++;
}
}
if ((TablB[Xtabl[nn]][Ytabl[nn]]==0) && (IndicPass[nn]==1) && (Ytabl[nn]<12)
&& !(Interdit[nn]=="B")/* && (TablBS[Xtabl[nn]][Ytabl[nn]+1]==0) */
&& ((Choix[nn]==4) || (Choix[nn]==5))
&& ((Indic[nn]=="B") || (Indic[nn]=="")))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Yaff[nn]=Yaff[nn]+AvSouris1; Indic[nn]="B";IndicPass[nn]=0;
BlocNote.drawImage(imgxYP, Xaff[nn], Yaff[nn], null);
if (Yaff[nn]==(22*(Ytabl[nn]+1))+1)
{
Indic[nn]=""; Ytabl[nn]++; Interdit[nn]="H";
TablBS[Xtabl[nn]][Ytabl[nn]]++;
}
}
if ((TablG[Xtabl[nn]][Ytabl[nn]]==0) && (IndicPass[nn]==1) && (Xtabl[nn]>0)
&& !(Interdit[nn]=="G")/*&& (TablGS[Xtabl[nn]-1][Ytabl[nn]]==0) */
&& ((Choix[nn]==1) || (Choix[nn]==5))
&& ((Indic[nn]=="G") || (Indic[nn]=="")))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Xaff[nn]=Xaff[nn]-AvSouris1; Indic[nn]="G";IndicPass[nn]=0;
BlocNote.drawImage(imgxXM, Xaff[nn], Yaff[nn], null);
if (Xaff[nn]==(22*(Xtabl[nn]-1))+1)
{
Indic[nn]=""; Xtabl[nn]--; Interdit[nn]="D";
TablGS[Xtabl[nn]][Ytabl[nn]]++;
}
}
if ((TablH[Xtabl[nn]][Ytabl[nn]]==0) && (IndicPass[nn]==1) && (Ytabl[nn]>0)
&& !(Interdit[nn]=="H")/* && (TablHS[Xtabl[nn]][Ytabl[nn]-1]==0) */
&& ((Choix[nn]==3) || (Choix[nn]==5))
&& ((Indic[nn]=="H") || (Indic[nn]=="")))
{
BlocNote.drawImage(imgEF, Xaff[nn], Yaff[nn], null);
Yaff[nn]=Yaff[nn]-AvSouris1; Indic[nn]="H";IndicPass[nn]=0;
BlocNote.drawImage(imgxYM, Xaff[nn], Yaff[nn], null);
if (Yaff[nn]==(22*(Ytabl[nn]-1))+1)
{
Indic[nn]=""; Ytabl[nn]--; Interdit[nn]="B";
TablHS[Xtabl[nn]][Ytabl[nn]]++;
}
}
if (IndicPass[nn]==1)
{
Interdit[nn]="";
}
if (Indic[nn]=="")
{
Interdit[nn]="";
Choix[nn] = 5;
if ((Ytabl[nn] >=0)&&(TablG[Xtabl[nn]][Ytabl[nn]]==0)&&(TablG[Xtabl[nn]][Ytabl[nn]]==0) )
{
nCal1= TablGS[Xtabl[nn]-1][Ytabl[nn]]+TablDS[Xtabl[nn]-1][Ytabl[nn]]
+TablHS[Xtabl[nn]-1][Ytabl[nn]]+TablBS[Xtabl[nn]-1][Ytabl[nn]];
} else {nCal1=100;}
if ((Ytabl[nn] <26)&&(TablD[Xtabl[nn]][Ytabl[nn]]==0)&&(TablD[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal2= TablGS[Xtabl[nn]+1][Ytabl[nn]]+TablDS[Xtabl[nn]+1][Ytabl[nn]]
+TablHS[Xtabl[nn]+1][Ytabl[nn]]+TablBS[Xtabl[nn]+1][Ytabl[nn]];
} else {nCal2=100;}
if ((Ytabl[nn]-1 >=0)&&(TablH[Xtabl[nn]][Ytabl[nn]]==0)&&(TablH[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal3= TablGS[Xtabl[nn]][Ytabl[nn]-1]+TablDS[Xtabl[nn]][Ytabl[nn]-1]
+TablHS[Xtabl[nn]][Ytabl[nn]-1]+TablBS[Xtabl[nn]][Ytabl[nn]-1];
} else {nCal3=100;}
if ((Ytabl[nn]+1 <=12)&&(TablB[Xtabl[nn]][Ytabl[nn]]==0)&&(TablB[Xtabl[nn]][Ytabl[nn]]==0))
{
nCal4= TablGS[Xtabl[nn]][Ytabl[nn]+1]+TablDS[Xtabl[nn]][Ytabl[nn]+1]
+TablHS[Xtabl[nn]][Ytabl[nn]+1]+TablBS[Xtabl[nn]][Ytabl[nn]+1];
} else {nCal4=100;}
if ((TablG[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal1<=nCal2)&& (nCal1<=nCal3)&& (nCal1<=nCal4))
{Choix[nn] = 1;}
if ((TablD[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal2<=nCal1)&& (nCal2<=nCal3)&& (nCal2<=nCal4))
{Choix[nn] = 2;}
if ((TablH[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal3<=nCal1)&& (nCal3<=nCal2)&& (nCal3<=nCal4))
{Choix[nn] = 3;}
if ((TablB[Xtabl[nn]][Ytabl[nn]]==0)
&& (nCal4<=nCal2)&& (nCal4<=nCal1)&& (nCal4<=nCal3))
{Choix[nn] = 4;}
/* Mémorisation Chemin */
CheminX[Ch]=Xtabl[nn];CheminY[Ch]=Ytabl[nn];
Ch++; if (Ch==1000){Ch=0;}
}
/* BlocNote.drawImage(Affiche, 0, 0, null);
BlocNote.drawString( Double.toString(Choix[nn])+"Choix",10,20);
BlocNote.drawString( (Indic[nn])+"Indic",10,30);
BlocNote.drawString( Double.toString(nCal1)+"G",10,40);
BlocNote.drawString( Double.toString(nCal2)+"D",10,50);
BlocNote.drawString( Double.toString(nCal3)+"H",10,60);
BlocNote.drawString( Double.toString(nCal4)+"B",10,70);
BlocNote.drawString( Interdit[nn]+"Interdit",10,80);
BlocNote.drawString( Double.toString(IndicPass[nn])+"Pass",10,90);
BlocNote.drawString( Double.toString(TablBS[Xtabl[nn]][Ytabl[nn]+1]),10,100);
BlocNote.drawString( Double.toString(TablB[Xtabl[nn]][Ytabl[nn]]),10,110);*/
if ((((Xtabl[nn]==22) && (Ytabl[nn]==1)) ||((Xtabl[nn]==22) && (Ytabl[nn]==2))
|| ((Xtabl[nn]==23) && (Ytabl[nn]==1)) ||((Xtabl[nn]==23) && (Ytabl[nn]==2)))
&& (Trouve[nn]==0))
{
Trouve[nn]=1; int iii=0;
/* Fabrication du raccoursi */
for (int i=0; i10){ComptB++; if (ComptB>=20000000) {ComptB=200000;}}
if ((ComptB<=30)&&(ComptB>=0)&&(ComptA>=10))
{BlocNote.drawImage(From1, XFrom, YFrom, null);}
if ((ComptB<=60)&&(ComptB>30)&&(ComptA>=10))
{BlocNote.drawImage(From2, XFrom, YFrom, null);}
if ((ComptB<=90)&&(ComptB>60)&&(ComptA>=10))
{BlocNote.drawImage(From3, XFrom, YFrom, null);}
if ((ComptB<=120)&&(ComptB>90)&&(ComptA>=10))
{BlocNote.drawImage(From4, XFrom, YFrom, null);}
if ((ComptB>120)&&(ComptA>=10)&&(ComptA<48))
{BlocNote.drawImage(From5, XFrom, YFrom, null);}
if ((ComptA>=48))
{BlocNote.drawImage(From6, XFrom, YFrom, null);}
}
/* Tracage du Bloc Note sur l'écran */
public void update(Graphics BlocNote)
{
/* Couleur */
if (BoutonEff==0) {BlocNote.setColor(new Color(ColorX));}
if (BoutonEff==1)
{
BoutonEff--;
ColorX = (int) (Math.random() * 555);
for (int i=0; i<=26; i++)
{
for (int ii=0; ii<=12; ii++)
{
TablG[i][ii]=0;TablD[i][ii]=0;TablH[i][ii]=0;TablB[i][ii]=0;
TablS[i][ii]=0;
TablHS[i][ii]=0;TablBS[i][ii]=0;TablGS[i][ii]=0;TablDS[i][ii]=0;
TablHSs[i][ii]=0;TablBSs[i][ii]=0;TablGSs[i][ii]=0;TablDSs[i][ii]=0;
}
}
Labirinte();
for (int n=0; n<50; n++)
{
BlocNote.drawImage(imgEF, Xaff[n], Yaff[n], null);
Xaff[n]=1; Yaff[n]=1; Xtabl[n]=0; Ytabl[n]=0;Indic[n]="";Interdit[n]="";
Choix[n] = 0; IndicPass[n] = 0; Trouve[n] = 0;
}
for (int n=0; n<1000; n++)
{
CheminX[n]=0;CheminY[n]=0;CheminRX[n]=0;CheminRY[n]=0;
}
NbrSouris = 1;
}
if (BoutonEff==2)
{
BoutonEff--;
ColorX = Integer.parseInt(getParameter("bgcolor"));
BlocNote.setColor( new Color(ColorX));
}
paint(BlocNote);
BlocNote.drawImage(Ecran,0,0,null);
}
/* Tracage du labyrinthe dans le bloc note */
public void paint(Graphics BlocNote)
{
for (int i=0; i<=26; i++)
{
for (int ii=0; ii<=12; ii++)
{
if (TablG[i][ii]==1)
{
BlocNote.drawLine( i*22, ii*22, i*22, (ii*22)+21 );
}
if (TablD[i][ii]==1)
{
BlocNote.drawLine( (i*22)+21, ii*22, (i*22)+21, (ii*22)+21 );
}
if (TablH[i][ii]==1)
{
BlocNote.drawLine( i*22, ii*22, (i*22)+21, ii*22 );
}
if (TablB[i][ii]==1)
{
BlocNote.drawLine( i*22, (ii*22)+21, (i*22)+21, (ii*22)+21 );
}
}
}
paint1(BlocNote);
paint2(BlocNote);
paint4(BlocNote);
paint3(BlocNote);
}
public void start() {
if(timer == null)
{
timer = new Thread(this);
timer.start();
}
}
public void stop() {
timer = null;
}
public void run() {
while (timer != null) {
try {Thread.sleep(100);} catch (InterruptedException e){}
repaint();
}
timer = null;
}
}