From 5a175ea4b487bdcf281e44e7b99629fc6a10848f Mon Sep 17 00:00:00 2001 From: Morph01 <145839520+Morph01@users.noreply.github.com> Date: Tue, 13 May 2025 12:01:57 +0200 Subject: [PATCH] feat: init VueGrille --- .idea/.gitignore | 8 ++++ .idea/compiler.xml | 6 +++ .idea/gradle.xml | 16 ++++++++ .idea/misc.xml | 5 +++ .idea/vcs.xml | 6 +++ app/build.gradle.kts | 2 +- app/src/main/java/org/App.java | 7 +++- app/src/main/java/org/Models/Grille.java | 21 ++++++++++ app/src/main/java/org/Models/Jeu.java | 5 +++ .../main/java/org/Models/PieceCourante.java | 5 +++ app/src/main/java/org/Models/PieceL.java | 5 +++ app/src/main/java/org/Views/VueGrille.java | 41 +++++++++++++++++++ 12 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 app/src/main/java/org/Models/Grille.java create mode 100644 app/src/main/java/org/Models/Jeu.java create mode 100644 app/src/main/java/org/Models/PieceCourante.java create mode 100644 app/src/main/java/org/Models/PieceL.java create mode 100644 app/src/main/java/org/Views/VueGrille.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..efd7cbf --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..cf69fd4 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7761afa..4e42499 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -34,7 +34,7 @@ java { application { // Define the main class for the application. - mainClass = "org.example.App" + mainClass = "org.App" } tasks.named("test") { diff --git a/app/src/main/java/org/App.java b/app/src/main/java/org/App.java index 2100414..b4c4a7a 100644 --- a/app/src/main/java/org/App.java +++ b/app/src/main/java/org/App.java @@ -3,6 +3,9 @@ */ package org; +import org.Models.Grille; +import org.Views.VueGrille; + public class App { public String getGreeting() { return "Hello World!"; @@ -10,5 +13,7 @@ public class App { public static void main(String[] args) { System.out.println(new App().getGreeting()); + Grille grille = new Grille(10, 10); + VueGrille vueGrille = new VueGrille(grille); } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/Models/Grille.java b/app/src/main/java/org/Models/Grille.java new file mode 100644 index 0000000..0d5767f --- /dev/null +++ b/app/src/main/java/org/Models/Grille.java @@ -0,0 +1,21 @@ +package org.Models; + +public class Grille { + private boolean[][] grille; + public int nbLignes; + public int nbColonnes; + + public Grille(int nbLignes, int nbColonnes) { + this.nbLignes = nbLignes; + this.nbColonnes = nbColonnes; + this.grille = new boolean[nbLignes][nbColonnes]; + } + + public int getNbLignes() { + return nbLignes; + } + + public int getNbColonnes() { + return nbColonnes; + } +} diff --git a/app/src/main/java/org/Models/Jeu.java b/app/src/main/java/org/Models/Jeu.java new file mode 100644 index 0000000..25c029e --- /dev/null +++ b/app/src/main/java/org/Models/Jeu.java @@ -0,0 +1,5 @@ +package org.Models; + +public class Jeu { + +} diff --git a/app/src/main/java/org/Models/PieceCourante.java b/app/src/main/java/org/Models/PieceCourante.java new file mode 100644 index 0000000..2d3c532 --- /dev/null +++ b/app/src/main/java/org/Models/PieceCourante.java @@ -0,0 +1,5 @@ +package org.Models; + +public class PieceCourante { + +} diff --git a/app/src/main/java/org/Models/PieceL.java b/app/src/main/java/org/Models/PieceL.java new file mode 100644 index 0000000..2845651 --- /dev/null +++ b/app/src/main/java/org/Models/PieceL.java @@ -0,0 +1,5 @@ +package org.Models; + +public class PieceL { + +} diff --git a/app/src/main/java/org/Views/VueGrille.java b/app/src/main/java/org/Views/VueGrille.java new file mode 100644 index 0000000..7358e68 --- /dev/null +++ b/app/src/main/java/org/Views/VueGrille.java @@ -0,0 +1,41 @@ +package org.Views; + +import javax.swing.BorderFactory; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.Border; + +import org.Models.Grille; + +import java.awt.Color; +import java.awt.GridLayout; + +public class VueGrille extends JFrame { + private JPanel grillePanel; + private int tailleJPanel = 1000; + private Grille grille; + + public VueGrille(Grille grille) { + this.grille = grille; + grillePanel = new JPanel(new GridLayout(grille.getNbLignes(), grille.getNbColonnes())); + setSize(tailleJPanel, tailleJPanel); + setContentPane(grillePanel); + initialiserVueGrille(); + } + + private void initialiserVueGrille() { + Border border = BorderFactory.createLineBorder(Color.BLACK); + for (int i = 0; i < grille.getNbLignes(); i++) { + for (int j = 0; j < grille.getNbColonnes(); j++) { + JPanel caseG = new JPanel(); + caseG.setBorder(border); + caseG.setBackground(Color.WHITE); + grillePanel.add(caseG); + } + } + setVisible(true); + + setDefaultCloseOperation(EXIT_ON_CLOSE); + setTitle("TETRIS"); + } +}