Skip to content

emaslvcc/Pentominoes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Knapsack

This code presents a computer application with a user-friendly interface and a 3D visualizer to solve a 3D knapsack problem using parcels of type A, B and C, and pentominoes of type L, P and T, each with different sizes and values.

Table of Contents

  1. Installation
  2. Description

Installation

Prerequisites:

Clone the repository

  1. Open your terminal or command prompt.
  2. Navigate to the directory where you want to clone the repository.
cd path/to/your/directory
  1. Clone the repository
git clone https://gitlab.maastrichtuniversity.nl/bcs_group05_2023/project-1-1.git

Run the application

  1. Add the JavaFX libraries to the Java Project.
  2. Run the App.java file.

Description

GUI / 3D Visualizer

JavaFX1.java : This class handles all the graphics displayed in the application. It extends Application (The class from which JavaFX applications extend). All the classes which the program consists of are connected to this class.

App.java : This class launches the JavaFX1.java application.

Question A

Builder.java : This class includes the methods to support the search of a solution for Question A.

Parcel.java : This class builds the parcel object.

Question B

GreedyAlgorithm.java : This class contains the greedy algorithm for solving Question B. It implements Runnable, which helps the algorithm run.

Parcel.java : This class builds the parcel object.

Question C

BruteForceAlgorithm.java : This class contains the brute force algorithm used to solve Question C.

PentominoBuilder.java, PentominoDatabase.java, and pentominos.csv :

These classes were authored by the Department of Data Science and Knowledge Engineering (DKE) of Maastricht Universty. In short, they handle all the logic behind the pentominoes (which ones exist, how they rotate, their IDs, among other things).

Question D

GreedyPentominoes.java : This class holds the greedy algorithm previously used in Question B, now adapted to work with pentomino shapes.

Pentominoes.java : This class builds the Pentominoes object used in the greedy algorithm. It is a modified and adapted version of the Parcel.java class of Question A.

Institute

University of Maastricht

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages