Frame 1
function createtab() {
coups1 = new Array();
coups2 = new Array();
grille = new Array(100);
gordi = new Array(100);
valeurdeb = new Array(100);
k = 0;
while (k < 100) {
grille[k] = 0;
k++;
}
k = 0;
while (k < 10) {
grille[k] = 9;
k++;
}
k = 10;
while (k < 100) {
grille[k] = 9;
k = k + 10;
}
k = 9;
while (k < 100) {
grille[k] = 9;
k = k + 10;
}
k = 90;
while (k < 100) {
grille[k] = 9;
k++;
}
grille[44] = 1;
grille[45] = 2;
grille[54] = 2;
grille[55] = 1;
orix = 40;
oriy = 80;
pasx = 40;
pasy = 40;
k = 0;
while (k < 8) {
Set("cx" + k, orix + (k * pasx));
k++;
}
k = 0;
while (k < 8) {
Set("cy" + k, oriy + (k * pasy));
k++;
}
px = orix;
py = oriy;
k = 0;
while (k < 100) {
if (grille[k] < 9) {
this.attachMovie("case", "case" + k, k);
eval ("case" + k)._x = px;
eval ("case" + k)._y = py;
eval ("case" + k).num = k;
px = px + pasx;
c++;
if (c == 8) {
py = py + pasy;
px = orix;
c = 0;
}
}
k++;
}
}
function refresh() {
points1 = 0;
points2 = 0;
k = 0;
while (k < 100) {
if (grille[k] == 0) {
eval ("case" + k).gotoAndStop("vide");
} else if (grille[k] == 1) {
eval ("case" + k).gotoAndStop("blanc");
points1++;
} else if (grille[k] == 2) {
eval ("case" + k).gotoAndStop("noir");
points2++;
}
k++;
}
}
function coupjoueur(joueur) {
Set("ncoups" + joueur, 0);
delete eval ("coups" + joueur);
Set("coups" + joueur, new Array());
k = 0;
while (k < 100) {
if (grille[k] == joueur) {
mouvpos(k);
}
k++;
}
if (eval ("ncoups" + joueur) == 0) {
gotoAndStop (25);
}
}
function mouvpos(k) {
m = k + 1;
while (grille[m] == mechant) {
if (grille[m + 1] == 0) {
if (grille[k] == 1) {
eval ("case" + (m + 1)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m + 1, 1);
eval ("ncoups" + joueur)++;
}
m++;
}
m = k - 1;
while (grille[m] == mechant) {
if (grille[m - 1] == 0) {
if (grille[k] == 1) {
eval ("case" + (m - 1)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m - 1, 1);
eval ("ncoups" + joueur)++;
}
m--;
}
m = k + 10;
while (grille[m] == mechant) {
if (grille[m + 10] == 0) {
if (grille[k] == 1) {
eval ("case" + (m + 10)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m + 10, 10);
eval ("ncoups" + joueur)++;
}
m = m + 10;
}
m = k - 10;
while (grille[m] == mechant) {
if (grille[m - 10] == 0) {
if (grille[k] == 1) {
eval ("case" + (m - 10)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m - 10, 10);
eval ("ncoups" + joueur)++;
}
m = m - 10;
}
m = k - 9;
while (grille[m] == mechant) {
if (grille[m - 9] == 0) {
if (grille[k] == 1) {
eval ("case" + (m - 9)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m - 9, 9);
eval ("ncoups" + joueur)++;
}
m = m - 9;
}
m = k - 11;
while (grille[m] == mechant) {
if (grille[m - 11] == 0) {
if (grille[k] == 1) {
eval ("case" + (m - 11)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m - 11, 11);
eval ("ncoups" + joueur)++;
}
m = m - 11;
}
m = k + 11;
while (grille[m] == mechant) {
if (grille[m + 11] == 0) {
if (grille[k] == 1) {
eval ("case" + (m + 11)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m + 11, 11);
eval ("ncoups" + joueur)++;
}
m = m + 11;
}
m = k + 9;
while (grille[m] == mechant) {
if (grille[m + 9] == 0) {
if (grille[k] == 1) {
eval ("case" + (m + 9)).gotoAndStop("bouton");
}
eval ("coups" + joueur)[eval ("ncoups" + joueur)] = new Array(k, m + 9, 9);
eval ("ncoups" + joueur)++;
}
m = m + 9;
}
}
function reversi(num) {
grille[num] = joueur;
l = 0;
while (eval ("ncoups" + joueur) >= l) {
if (eval ("coups" + joueur)[l][1] == num) {
if (eval ("coups" + joueur)[l][0] < eval ("coups" + joueur)[l][1]) {
a = eval ("coups" + joueur)[l][0];
while (eval ("coups" + joueur)[l][1] >= a) {
grille[a] = joueur;
a = a + eval ("coups" + joueur)[l][2];
}
} else if (eval ("coups" + joueur)[l][1] < eval ("coups" + joueur)[l][0]) {
a = eval ("coups" + joueur)[l][1];
while (eval ("coups" + joueur)[l][0] >= a) {
grille[a] = joueur;
a = a + eval ("coups" + joueur)[l][2];
}
}
}
l++;
}
}
function simul(no, na, nn, nt) {
p = 0;
gordi[na] = 2;
if (coups2[nn][0] < coups2[nn][1]) {
a = coups2[nn][0];
while (coups2[nn][1] >= a) {
eval (nt)[a] = 2;
_root.p++;
a = a + coups2[nn][2];
}
} else if (coups2[nn][1] < coups2[nn][0]) {
a = coups2[nn][1];
while (coups2[nn][0] >= a) {
eval (nt)[a] = 2;
_root.p++;
a = a + coups2[nn][2];
}
}
evalue(na);
vordi[nn] = new Array(p, no, na);
}
function evalue(case) {
if ((((case == 11) or (case == 81)) or (case == 18)) or (case == 88)) {
_root.p = _root.p + 990;
return(p);
}
if ((((case == 33) or (case == 34)) or (case == 35)) or (case == 36)) {
_root.p = _root.p + 300;
return(undefined);
}
if ((((case == 63) or (case == 64)) or (case == 65)) or (case == 66)) {
_root.p = _root.p + 300;
return(undefined);
}
if ((((case == 43) or (case == 53)) or (case == 46)) or (case == 56)) {
_root.p = _root.p + 300;
return(undefined);
}
if ((((case == 13) or (case == 14)) or (case == 15)) or (case == 16)) {
_root.p = _root.p + 200;
return(undefined);
}
if ((((case == 83) or (case == 84)) or (case == 85)) or (case == 86)) {
_root.p = _root.p + 200;
return(undefined);
}
if ((((case == 23) or (case == 24)) or (case == 25)) or (case == 26)) {
_root.p = _root.p + 100;
return(undefined);
}
if ((((case == 73) or (case == 74)) or (case == 75)) or (case == 76)) {
_root.p = _root.p + 100;
return(undefined);
}
if ((((case == 31) or (case == 41)) or (case == 51)) or (case == 61)) {
_root.p = _root.p + 200;
return(undefined);
}
if ((((case == 38) or (case == 48)) or (case == 58)) or (case == 68)) {
_root.p = _root.p + 200;
return(undefined);
}
if ((((case == 32) or (case == 42)) or (case == 52)) or (case == 62)) {
_root.p = _root.p + 100;
return(undefined);
}
if ((((case == 37) or (case == 47)) or (case == 57)) or (case == 67)) {
_root.p = _root.p + 100;
return(undefined);
}
if ((((case == 22) or (case == 27)) or (case == 77)) or (case == 72)) {
_root.p = 0;
return(undefined);
}
if ((((((((case == 12) or (case == 17)) or (case == 82)) or (case == 87)) or (case == 21)) or (case == 71)) or (case == 28)) or (case == 78)) {
_root.p = _root.p + 199;
return(undefined);
}
_root.ocou = 0;
return(undefined);
}
function choisicoups() {
vordi.sort();
t = vordi[0][0];
ocou = 0;
k = 0;
while (k < vordi.length) {
if (t < vordi[k][0]) {
ocou = k;
t = vordi[k][0];
}
trace((((("k=" + k) + " vordi[k][0]=") + vordi[k][0]) + " ocou=") + ocou);
k++;
}
}
Frame 5
joueur = 1;
mechant = 2;
createtab();
Frame 9
refresh();
coupjoueur(joueur);
stop();
Frame 12
vordi = new Array();
Frame 13
if (ncoups2 == 0) {
gotoAndStop (25);
}
k = 0;
while (k < ncoups2) {
delete gordi;
delete eval ("gordi" + k);
Set("gordi" + k, new Array());
g = 0;
while (g < 100) {
eval ("gordi" + k)[g] = grille[g];
g++;
}
simul(coups2[k][0], coups2[k][1], k, "gordi" + k);
k++;
}
choisicoups();
Frame 19
eval ("case" + vordi[ocou][2]).gotoAndPlay("noir");
_root.reversi(vordi[ocou][2]);
if (joueur == 1) {
joueur = 2;
mechant = 1;
} else if (_root.joueur == 2) {
joueur = 1;
mechant = 2;
}
Frame 24
gotoAndStop (9);
Frame 25
p = 0;
p1 = 0;
p2 = 0;
k = 0;
while (k < 100) {
if (grille[k] != 0) {
p++;
}
if (grille[k] != 1) {
p1++;
}
if (grille[k] != 2) {
p2++;
}
k++;
}
if (((p == 100) or (p1 == 100)) or (p2 == 100)) {
gotoAndStop (31);
}
if ((ncoups1 == 0) && (ncoups2 == 0)) {
gotoAndStop (31);
}
Frame 31
if (points2 < points1) {
gagne = "Le joueur 1 a gagné !";
} else if (points1 < points2) {
gagne = "Le joueur 2 a gagné !";
} else {
gagne = "Match nul !";
}
Symbol 9 Button
on (release) {
_root.grille[posy][posx] = _root.joueur;
_root.reversi(num);
if (_root.joueur == 1) {
_root.joueur = 2;
_root.mechant = 1;
} else if (_root.joueur == 2) {
_root.joueur = 1;
_root.mechant = 2;
}
_root.refresh();
_root.coupjoueur(_root.joueur);
_root.gotoAndPlay("ordi");
}
Symbol 17 MovieClip [case] Frame 1
stop();
Symbol 17 MovieClip [case] Frame 19
stop();
Symbol 23 Button
on (release) {
getURL ("mailto:dbeja@online.fr");
}
Symbol 38 Button
on (release) {
if (joueur == 1) {
joueur = 2;
mechant = 1;
coupjoueur(joueur);
gotoAndPlay (12);
} else if (joueur == 2) {
joueur = 1;
mechant = 2;
gotoAndStop (9);
}
}
Symbol 42 Button
on (release) {
gotoAndPlay (1);
}