974ahmed
Messages postés2Date d'inscriptionmardi 14 mai 2013StatutMembreDernière intervention15 mai 2013
-
Modifié par irongege le 14/05/2013 à 23:07
974ahmed
Messages postés2Date d'inscriptionmardi 14 mai 2013StatutMembreDernière intervention15 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