lasnoufle La seule et unique! | debutante42 a écrit :
oui je suis intéressée par la programmation. Oui je sais il ne compile pas. J'aimerai avoir des indices pas la réponse.
|
Bah tu sais on a different types de personnes qui demandent donc autant etre sur de ce qu'ils cherchent.
Alors deja pour la compilation, voici ton code original: void drawCheck(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if ((i + j) % 2 == 0) {
graphics.setColor(Color.black);
} else {
graphics.setColor(Color.white);
}
}
} |
Si tu fais attention, tu verras que ta premiere boucle for() n'a pas d'accolade fermante, c'est ca ton erreur de syntaxe. Normalement si tu l'ajoutes ca devrait compiler, mais evidemment il ne se passera rien a l'execution.
Maintenant pour le damier. A voir ton code, je suppose que l'algo que tu veux faire ressemble a ca:
- Pour chaque case:
1/ Determiner la couleur
2/ Dessiner un carre de cette couleur, au bon endroit |
Tu fais deja le parcours de toutes les cases, et la determination de la couleur. Donc tout ce qu'il te reste a faire c'est le dessin du carre: void drawCheck(int n) {
// Parcours de toutes les cases
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
// 1: determination de la couleur
if ((i + j) % 2 == 0) {
graphics.setColor(Color.black);
} else {
graphics.setColor(Color.white);
}
// 2: dessin du rectangle
<Insere le code pour dessiner le carre ici>
} }
} |
Maintenant les indices supplementaires, a reveler un par un si tu bloques toujours apres chaque: Spoiler :
Tu as deja une methode dans ta classe qui dessine un carre |
Spoiler :
Il s'agit de drawSquare(int x, int y, int len) |
Spoiler :
Je disais que le code etait mal ecrit, la methode drawSquare en est un exemple: elle n'est pas commentee, donc comment savoir quels arguments lui passer? Trois manieres de trouver:
- regarder la doc Java pour graphics.fillRect() et en deduire ce que sont les parametres de drawSquare()
- se demander de quels elements on a besoin pour dessiner un carre en general, et regarder si ca correspond a ce que drawSquare() demande
- passer des valeurs au pif et regarder ce que ca donne quand on lance le programme |
Spoiler :
Les arguments a lui passer sont:
- (x,y): coordonnees (en pixels) dans la fenetre du coin du carre
- len: longueur (en pixel) du cote du carre |
Spoiler :
(x,y) correspondent a tes variables (i,j), mais "ajustees" de la longueur de cote de tes carres, autrement dit, x = i*longueur et y = j*longueur |
Spoiler :
Appel a utiliser pour un damier avec des cases de 20 pixels de cote: drawSquare(i*20, j*20, 20); |
A+ ---------------
C'était vraiment très intéressant.
|