commit
2c3704cf37
2 changed files with 194 additions and 0 deletions
152
src/main/java/fr/myny/grid/BuildGrid.java
Normal file
152
src/main/java/fr/myny/grid/BuildGrid.java
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
package fr.myny.grid;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
public class BuildGrid {
|
||||
/** Tableau à deux dimension qui va contenir les grilles proposees par le logiciel */
|
||||
private double m_grid[][];
|
||||
|
||||
/** nombre de lignes du tableau, soit le nombre de grilles à jouer que va proposer le tableau */
|
||||
private int m_dim_x;
|
||||
|
||||
/** nombre de colonnes du tableau */
|
||||
private int m_dim_y;
|
||||
|
||||
/*
|
||||
CONSTRUCTOR
|
||||
*/
|
||||
|
||||
/** Constructeur par defaut*/
|
||||
public BuildGrid()
|
||||
{
|
||||
System.out.print("Creating a new grid: ");
|
||||
|
||||
m_grid = new double[1][5];
|
||||
setDimX(1);
|
||||
setDimY(5);
|
||||
|
||||
this.fillWith(0);
|
||||
System.out.println("Done");
|
||||
}
|
||||
|
||||
/** Constructeur avec parametres (Le tableau cree aura autant de lignes que de colonnes)*/
|
||||
public BuildGrid(int dim)
|
||||
{
|
||||
System.out.print("Creating a new grid: ");
|
||||
|
||||
m_grid = new double[dim][dim];
|
||||
setDimX(dim);
|
||||
setDimY(dim);
|
||||
|
||||
this.fillWith(0);
|
||||
System.out.println("Done");
|
||||
}
|
||||
|
||||
/** Constructeur avec parametres*/
|
||||
public BuildGrid( int dim_x, int dim_y)
|
||||
{
|
||||
System.out.print("Creating a new grid: ");
|
||||
|
||||
m_grid = new double[dim_x][dim_y];
|
||||
setDimX(dim_x);
|
||||
setDimY(dim_y);
|
||||
|
||||
this.fillWith(0);
|
||||
System.out.println("Done");
|
||||
}
|
||||
|
||||
/*
|
||||
SETTERS & GETTERS
|
||||
*/
|
||||
|
||||
/** Methode retournant le nombre de lignes du tableau*/
|
||||
public int getDimX ()
|
||||
{
|
||||
return m_dim_x;
|
||||
}
|
||||
|
||||
/** Methode retournant le nombre de colonnes du tableau*/
|
||||
public int getDimY ()
|
||||
{
|
||||
return m_dim_y;
|
||||
}
|
||||
|
||||
/** Modifie le nombre de lignes du tableau*/
|
||||
public void setDimX (int value)
|
||||
{
|
||||
m_dim_x = value;
|
||||
}
|
||||
|
||||
/** Modifie le nombre de colonnes du tableau*/
|
||||
public void setDimY (int value)
|
||||
{
|
||||
m_dim_y = value;
|
||||
}
|
||||
|
||||
/*
|
||||
TRANSFORM THE GRID
|
||||
*/
|
||||
|
||||
/** Methode permettant de mettre a jour la case (X,Y) du tableau avec le parametre 'value'*/
|
||||
public void putValue(float value, int X, int Y)
|
||||
{
|
||||
m_grid[X][Y] = value;
|
||||
}
|
||||
|
||||
/** Methode permettant de recuperer la valeur de la case (X,Y) du tableau */
|
||||
public double getValue(int X, int Y)
|
||||
{
|
||||
return m_grid[X][Y];
|
||||
}
|
||||
|
||||
/** Methode renvoyant une reference du tableau */
|
||||
public double[][] getM_grid() {
|
||||
return m_grid;
|
||||
}
|
||||
|
||||
/** Methode permettant d'afficher le contenu du tableau a deux dimension sur un terminal*/
|
||||
public void displayGrid ()
|
||||
{
|
||||
for (int i = 0; i < getDimX(); i++) {
|
||||
System.out.print("[ ");
|
||||
for (int y = 0; y < getDimY(); y++) {
|
||||
System.out.print(m_grid[i][y]);
|
||||
System.out.print(" ");
|
||||
}
|
||||
System.out.println("]");
|
||||
}
|
||||
}
|
||||
|
||||
/** Methode permettant de remplir toutes les cases du tableau avec la valeur du parametre 'value' */
|
||||
public void fillWith ( float value)
|
||||
{
|
||||
for (int i = 0; i < getDimX(); i++) {
|
||||
for (int y = 0; y < getDimY(); y++) {
|
||||
m_grid[i][y] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Methode permettant de determiner les grilles a jouer que va proposer le systeme reducteur*/
|
||||
public void systemeReduc(int nb_numeros, int[] serie_de_numeros, float garantie)
|
||||
{
|
||||
}
|
||||
|
||||
/** Methode surchargee permettant de verifier si deux tableaux sont egaux en comparant leur contenu */
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
BuildGrid buildGrid = (BuildGrid) o;
|
||||
return m_dim_x == buildGrid.m_dim_x && m_dim_y == buildGrid.m_dim_y && Arrays.equals(m_grid, buildGrid.m_grid);
|
||||
}
|
||||
|
||||
/** Methode assignant un nombre unique a chaque instance de la classe Grid pour les differencier entre elles*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = Objects.hash(m_dim_x, m_dim_y);
|
||||
result = 31 * result + Arrays.hashCode(m_grid);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
42
src/test/java/fr/myny/grid/BuildGridTest.java
Normal file
42
src/test/java/fr/myny/grid/BuildGridTest.java
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package fr.myny.grid;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
class BuildGridTest {
|
||||
|
||||
@Test
|
||||
void putValue() {
|
||||
BuildGrid grid = new BuildGrid(5);
|
||||
grid.putValue(18.5F, 2, 4);
|
||||
grid.displayGrid();
|
||||
}
|
||||
|
||||
@Test
|
||||
void displayGrid() {
|
||||
BuildGrid grid = new BuildGrid(5);
|
||||
|
||||
assertEquals(5, grid.getDimX());
|
||||
assertEquals(5, grid.getDimY());
|
||||
assertEquals(0.0, grid.getValue(0,0));
|
||||
|
||||
float tabl[][] = new float[5][5];
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
for (int y = 0; y < 5; y++) {
|
||||
tabl[i][y] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
grid.displayGrid();
|
||||
}
|
||||
|
||||
@Test
|
||||
void fillWith() {
|
||||
BuildGrid grid = new BuildGrid(5);
|
||||
grid.fillWith(5.5F);
|
||||
grid.displayGrid();
|
||||
}
|
||||
}
|
||||
Reference in a new issue