ISN besoin de vos connaissances

Fermé
974ahmed Messages postés 2 Date d'inscription mardi 14 mai 2013 Statut Membre Dernière intervention 15 mai 2013 - Modifié par irongege le 14/05/2013 à 23:07
974ahmed Messages postés 2 Date d'inscription mardi 14 mai 2013 Statut Membre Dernière intervention 15 mai 2013 - 15 mai 2013 à 16:20
Bonjour,


svp, j'aurai extrement besoin de votre aide pour mon projet personnel encadré en ISN. Enfet, je doit prorammé les mouvment possibles d'avancement et d'attaque de la tour.
un partie mon travail est l'optimisation du programme afin de ne pas à voir les repetions
couleur(1,0,"green");
couleur(2,0,"green");
couleur(3,0,"green");
couleur(4,0,"green");
couleur(5,0,"green");
couleur(6,0,"green");
couleur(7,0,"green");

pouvez vous svp me proposez une boucle et comment le faire.

VOILA LE PROGRAMME EN ENTIER :

int tc=1000;
int tl=1500;
int ttc=500;
// Procédure qui colorie en noir une case
// de coordonnées entières (k,m).
void noir(int k, int m) {
int l,h;
l = 200;
h = 200;
for (int j =- h + (int)(k * h / 4); j <- h + (int)((k + 1) * h / 4); j ++) {
for (int i =- l + (int)(m * l / 4); i <- l + (int)((m + 1) * l / 4); i ++) {
setPixel(i, j, "black");
}
}
}

// Si le fond n'est pas blanc, cette procédure colorie
// en blanc la case de coordonnées (k,m).
void blanc(int k, int m) {
int l,h;
l = 200;
h = 200;
for (int j =- h + (int)(k * h / 4); j <- h + (int)((k + 1) * h / 4); j ++) {
for (int i =- l + (int)(m * l / 4); i <- l + (int)((m + 1) * l / 4); i ++) {
setPixel(i, j, "white");
}
}
}

//Cette procédure dessine la planche de
//l'échiquier: cases blanches et cases noires.
void Echiquier() {
int j,k;
reset(200, 200);
for (j = 0; j < 8; j ++) {
for (k = 0; k < 8; k ++) {
switch(k) {
case 0 : case 2 : case 4 : case 6 : switch(j) {
case 0 : case 2 : case 4 : case 6 : noir(j, k);
break;
case 1 : case 3 : case 5 : case 7 : blanc(j, k);
break;
}
break;
case 1 : case 3 : case 5 : case 7 : switch(j) {
case 0 : case 2 : case 4 : case 6 : blanc(j, k);
break;
case 1 : case 3 : case 5 : case 7 : noir(j, k);
break;
}
break;
}
}
}
}
// Procédure qui remplit d'une couleur au choix
// une case de coordonnées entières (k,m).
void couleur(int k, int m, String coul) {
int l,h;
l = 200;
h = 200;
for (int j =- h + 3 + (int)(k * h / 4); j <- h - 3 + (int)((k + 1) * h / 4); j ++) {
for (int i =- l + 3 + (int)(m * l / 4); i <- l - 3 + (int)((m + 1) * l / 4); i ++) {
setPixel(i, j, coul);
}
}
}
// un exemple.
// Procédure qui entoure une case de
// coordonnées entière (k,m) en noir.
void contour(int k, int m) {
int l,h,i,j;
l = 200;
h = 200;
for (i =- l + (int)(m * l / 4); i <- l + (int)((m + 1) * l / 4); i ++) {
setPixel(i, - h + (int)(k * h / 4), "black");
setPixel(i, - h + (int)((k + 1) * h / 4), "black");
}
for (j =- h + 1 + (int)(k * h / 4); j <- h - 1 + (int)((k + 1) * h / 4); j ++) {
setPixel( - l + (int)(m * l / 4), j, "black");
setPixel( - l + (int)((m + 1) * l / 4), j, "black");
}
}
void pointerPosition(int k,int m){
int l,h;
l = 200;
h = 200;
contour(k, m);
for (int j =- h + 15+ (int)(k * h / 4); j <- h - 15 + (int)((k + 1) * h / 4); j ++) {
for (int i =- l +15 + (int)(m * l / 4); i <- l - 15 + (int)((m + 1) * l / 4); i ++) {
setPixel(i, j, "orange");
}
}
}
//Exemple

void main(){
Echiquier();
// Les déplacements à vide

//Déplacements verticaux

couleur(0,0,"blue");
couleur(0,7,"blue");
pointerPosition(0,0);
pointerPosition(0,7);


sleep(tl);

couleur(1,0,"green");
couleur(2,0,"green");
couleur(3,0,"green");
couleur(4,0,"green");
couleur(5,0,"green");
couleur(6,0,"green");
couleur(7,0,"green");

sleep(tl);
//Déplacements Horizontaux

couleur(0,1,"green");
couleur(0,2,"green");
couleur(0,3,"green");
couleur(0,4,"green");
couleur(0,5,"green");
couleur(0,6,"green");
couleur(0,7,"green");

//Les attaques

//attaques Verticales
sleep(tl);

couleur(1,0,"red");
couleur(2,0,"red");
couleur(3,0,"red");
couleur(4,0,"red");
couleur(5,0,"red");
couleur(6,0,"red");
couleur(7,0,"red");
//attaques Horizontales

sleep(tl);
couleur(0,1,"red");
couleur(0,2,"red");
couleur(0,3,"red");
couleur(0,4,"red");
couleur(0,5,"red");
couleur(0,6,"red");
couleur(0,7,"red");

sleep(tc);
reset(200,200);

Echiquier();
int colonne=random(1,6);
int ligne=random(1,6);

sleep(tl);
couleur(ligne,colonne,"blue");
pointerPosition(ligne,colonne);

for (int k=0; k<=7;k=k+1){
couleur(ligne,k,"green");

couleur(ligne,colonne,"blue");
pointerPosition(ligne,colonne);

couleur(0,7,"blue");
pointerPosition(0,7);




for (k=0; k<=7;k=k+1){
couleur(k, colonne,"green");
couleur(ligne,k,"green");


}
couleur(ligne,colonne,"blue");
pointerPosition(ligne,colonne);

int tll=2000;
sleep(tll);
for (k=0; k<=7;k=k+1){

couleur(k, colonne,"red");
couleur(ligne,k,"red");
}

couleur(ligne,colonne,"blue");
pointerPosition(ligne,colonne);

}

}

Merci

1 réponse

974ahmed Messages postés 2 Date d'inscription mardi 14 mai 2013 Statut Membre Dernière intervention 15 mai 2013
15 mai 2013 à 16:20
svp c urgent je doit expozé le sujet le 23mai
merci par avance
0