Commit 7ea8ff71 authored by Theo Airey's avatar Theo Airey
Browse files

Merge branch 'main' of github.com:Ciliste/JeuAssemblage

parents 9c8b6b27 726cb7c0
Loading
Loading
Loading
Loading
−133 B (5.22 KiB)

File changed.

No diff preview for this file type.

+0 −3
Changes for jeuAssemblage/maps.tetriste: 0 added lines, 3 removed lines.
Original line number Diff line number Diff line
10;14;6;2373647313285170176
14;14;6;5136655504872893440
12;12;6;8108300394711751680
+4 −2
Changes for jeuAssemblage/src/model/PlayBoard.java: 4 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -126,8 +126,8 @@ public class PlayBoard {
    *
    */
    public void registerArrangement() {
        String str = this.playBoard.length + ";" +
                this.playBoard[0].length + ";" +
        String str = this.playBoard[0].length + ";" +
                this.playBoard.length         + ";" +
                this.alPieceOnBoard.size()    + ";" +
                this.seed;

@@ -290,6 +290,8 @@ public class PlayBoard {

        if ( x + p.getWidth()  > this.playBoard.length   ) return false;
        if ( y + p.getHeight() > this.playBoard[0].length) return false;
        if ( x < 0 ) return false;
        if ( y < 0 ) return false;

        int[][] bounds = p.getBounds();
        int k = 0;
+35 −10
Changes for jeuAssemblage/src/view/component/JTableArrangement.java: 35 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -3,23 +3,33 @@ package view.component;
import java.util.ArrayList;

import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;

import main.Controller;

public class JTableArrangement {

    public static String[] columnNames;
    public static JTable getJTable() {
        JTable jtable = new JTable(new MyTableModel());
        jtable.setShowGrid(true);
        jtable.setFillsViewportHeight(true);
        jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        return jtable;
    }

    static {
        columnNames = new String[] {
    static class MyTableModel extends AbstractTableModel {

        public final String[] columnNames = new String[] {
                    "Taille X",
                    "Taille Y",
                    "Nombre Pièces",
                    "Seed"
            };
    }

    public static Object[][] getData() {
        public final Object[][] obj = getData();

        public Object[][] getData() {
            ArrayList<String> alStr = Controller.getInstance().getArrangement();
            Object[][] obj = new Object[alStr.size()][columnNames.length];
            for (int i = 0; i < alStr.size(); i++) {
@@ -32,10 +42,25 @@ public class JTableArrangement {
            return obj;
        }
        
    public static JTable getJTable() {
        JTable jtable = new JTable(getData(), columnNames);
        jtable.setShowGrid(true);
        jtable.setFillsViewportHeight(true);
        return jtable;
        @Override
        public String getColumnName(int columnIndex) {
            return columnNames[columnIndex];
        }
        
        @Override
        public int getColumnCount() {
            return columnNames.length;
        }

        @Override
        public int getRowCount() {
            return obj.length;
        }

        @Override
        public Object getValueAt(int arg0, int arg1) {
            return obj[arg0][arg1];
        }
        
    }
}
+24 −4
Changes for jeuAssemblage/src/view/screen/SoloGameCreation.java: 24 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;

@@ -43,7 +44,8 @@ public class SoloGameCreation extends JPanel {

	private final JButton btnPlay = new JButton("Jouer");
	
	private final JScrollPane tableArrangement = new JScrollPane(JTableArrangement.getJTable()); 
	private final JTable      tableArrangement = JTableArrangement.getJTable();
	private final JScrollPane scrollArrangement = new JScrollPane(tableArrangement);
    
    private final Controller controller = Controller.getInstance();

@@ -73,7 +75,7 @@ public class SoloGameCreation extends JPanel {
		this.add(difficultyList);
		difficultyList.setSelectedIndex(1);

		this.add(tableArrangement);
		this.add(scrollArrangement);

		this.add(btnPlay);

@@ -106,6 +108,11 @@ public class SoloGameCreation extends JPanel {

		});

		tableArrangement.getSelectionModel().addListSelectionListener(e->{
			if (e.getValueIsAdjusting()) return;
			SoloGameCreation.this.setParams(tableArrangement.getSelectedRow());
		});

		revalidate();
    }

@@ -214,10 +221,10 @@ public class SoloGameCreation extends JPanel {
			BTN_CANCEL_HEIGHT * 3
		);

		tableArrangement.setBounds(
		scrollArrangement.setBounds(
			PADDING_LEFT + getWidthTimesPourcent(this, .3f),
			PADDING_TOP_LBL_SEED + BTN_CANCEL_HEIGHT * 8,
			getWidthTimesPourcent(this, .2f),
			getWidthTimesPourcent(this, .4f),
			BTN_CANCEL_HEIGHT * 3
		);

@@ -257,6 +264,19 @@ public class SoloGameCreation extends JPanel {
        nbPiecesSpinner.setValue(Controller.getInstance().getPiecesCountBySeed(seed, difficulty));
    }

	private void setParams(int index) {

		String sizeX = (String) this.tableArrangement.getValueAt(index, 0);
		String sizeY = (String) this.tableArrangement.getValueAt(index, 1);
		int pieceCount = Integer.parseInt((String) this.tableArrangement.getValueAt(index, 2));
		String seed = (String) this.tableArrangement.getValueAt(index, 3);

		this.txtSeed.setText(seed);
		this.txtSizeX.setText(sizeX);
		this.txtSizeY.setText(sizeY);
		this.nbPiecesSpinner.setValue(pieceCount);
	}

    private static long generateRandomSeed() {

        return (long) (Math.random() * Long.MAX_VALUE);
Loading