Bonjour!
J'ai un projet d'informatique à réaliser dans le cadre de mon cursus scolaire.
Je dois créer un jeu qui est assez simple. Une machine capable de déposer des blocs de béton se promène dans un espace symbolisé par un tableau carré de 40x40 muni d'une sortie.
La machine occupe la taille d'une case, tout comme un bloc de béton.
La machine lancée dans une direction (N,S,E,O) ne dévie pas de sa trajectoire jusqu'à rencontrer un bloc de béton ou le bord de l'espace. Dans ce cas elle repart aléatoirement dans une nouvelle direction.
L'utilisateur peut en laissant enfoncé le bouton de la souris créer des blocs de béton dans les cases immédiatement derrière le bétonneur.
Le but du jeu est de poser judicieusement les blocs de béton pour prendre la sortie.
Voilà , j'essaie donc de me dépatouiller avec cela mais je galère un peu. Pour l'instant j'ai juste créé la fenêtre comprenant la zone de jeu et le bouton recommencer. Seul souci, je n'arrive pas à dessiner le quadrillage sur la zone de jeu...
Voici mon code :
Le corps du jeuLa classe servant à faire le décor du jeu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import java.awt.*; public class Betonneur { // Déclaration des attributs graphiques: private Frame fenetreEnglobante; private Button recommencer; private Decor decor; // Programme principal: public static void main(String args[]) { Betonneur bet= new Betonneur(); bet.affiche(); } // Constructeur: public Betonneur(){ //Création des composants graphiques: fenetreEnglobante = new Frame(); recommencer=new Button("Recommencer"); decor= new Decor(40,40); fenetreEnglobante.setLayout(new GridLayout(2,1)); fenetreEnglobante.add(decor); fenetreEnglobante.add(recommencer); fenetreEnglobante.addWindowListener(new EcouteurFenetre(fenetreEnglobante)); } // Dimensionnement, affichage et positionnement de la fenêtre: public void affiche() { fenetreEnglobante.setTitle("Jeu du bétonneur"); fenetreEnglobante.setSize(800, 800); fenetreEnglobante.setLocation(200, 200); fenetreEnglobante.pack(); fenetreEnglobante.setVisible(true); } public void paint(Graphics g){ (this.decor).paintComponent(g); } }
Je ne comprends pas pourquoi même avec ce que j'ai mis dans la classe Decor, il ne me dessine toujours pas le quadrillage...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import java.awt.*; public class Decor extends Panel { private int larg; private int haut; public Decor(int largeur, int hauteur){ larg = largeur; haut = hauteur; } public void paintComponent(Graphics g){ g.drawLine(0,0, this.getWidth(), this.getHeight() - 1); g.drawLine(0, this.getHeight() - 1, this.getWidth(), 0); } }
Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?
Merci d'avance pour votre aide.
Partager