Bonjour ! Quand je lance ce programme, Processing (2.2.1) refuse d'ouvrir la fenêtre graphique.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | int [][] grilleRecu = new int[10][10]; int [][] grilleEnvoye = new int[10][10]; int boatType, boatSize, X, Y, vertical; PFont font = createFont("U:/Documents/Processing/bataille_navale/data/Minecraftia-Regular.ttf", 32, false); //PFont font = createFont("/home/yann/MEGA/Documents/Lycée/ISN/bataille_navale/data/Minecraftia-Regular.ttf", 32, false); void setup() { size(1200, 600); background(100); grille(0); //Dessine les deux grilles. initialisation(); //Place les navires ennemis placerNavires(); //Demande à l'utilisateur de placer ses navires. } void draw() { } void grille(int z) { //Dessine la ou les grilles demandées stroke(255); fill(0, 175, 200); if (z == 0 || z == 1) { rect(0, 100, 500, 500); for (int x = 0; x <= 500; x+=50) { line(x, 100, x, 600); line(0, x+100, 500, x+100); } } if (z == 0 || z == 2) { rect(700, 100, 500, 500); for (int x = 0; x <= 500; x+=50) { line(x+700, 100, x+700, 600); line(700, x+100, 1200, x+100); } } } void placerNavires() { boolean done = false; vertical = 0; for (boatType = 5; boatType>0; boatType--) { while (!done) { boatSize = (boatType <= 2)?boatType+1:boatType; switch (vertical) { case 0: fill(0); for (int x = mouseX (); x <= mouseX() + boatSize; x++) { rect(x, mouseY(), 50, 50); } break; case 1: fill(0); for (int y = mouseY (); y <= mouseY() + boatSize; y++) { rect(mouseX(), y, 50, 50); } } } } } int mouseX() { return mouseX/50; } int mouseY() { return mouseY/50; } void mouseWheel() { vertical = (vertical == 0)?1:0; } void initialisation(){ for (boatType = 1; boatType <= 5; boatType++) { boolean placed = false; while (!placed) { //Tant que le navire n'est pas placé, on recommence boolean boatHere = false; boatSize = (boatType <= 2)?boatType+1:boatType; X = int(random(10)); Y = int(random(10)); vertical = int(random(2)); switch (vertical) { case 0: if (X + boatSize < 10) { //Vérifie que le navire passe dans la grille for (int x = X; x < X+boatSize; x++) { boatHere = (grilleEnvoye[x][Y] == 0)?boatHere:true; //Vérifie qu'il n'y aura pas de collision } if (!boatHere) { //Place la navire si les conditions précédentes sont bonnes, en position horizontale placed = true; for (int x = X; x < X+boatSize; x++) { grilleEnvoye[x][Y] = boatType; } } } break; case 1: if (Y + boatSize < 10) { //Vérifie que le navire passe dans la grille for (int y = Y; y < Y+boatSize; y++) { boatHere = (grilleEnvoye[X][y] == 0)?boatHere:true; //Vérifie qu'il n'y aura pas de collisions } if (!boatHere) { //Place le navire si les conditions précédentes sont bonnes, en position verticale placed = true; for (int y = Y; y < Y+boatSize; y++) { grilleEnvoye[X][y] = boatType; } } } break; } } } } |
+0
-0