Projects for the Logic Programming (PLOG) class of the Master in Informatics and Computer Engineering (MIEIC) at the Faculty of Engineering of the University of Porto (FEUP).
Made in colaboration with Julieta Frade.
Completed in 23/12/2017.
This project intends to implement, in Prolog language, a board game for two players. A game of board is characterized by the type of board and pieces, by the rules of movement of the pieces (possible plays) and by the conditions of termination of the game with defeat, victory or tie. It is intended to develop an application to play such a game, using Prolog as the implementation language. The game must allow three modes of use: Human vs Human, Human vs Computer and Computer vs Computer. At least two game levels must be included for the computer. An appropriate user interface must be built in text mode. The application will have a 3D graphic viewer, to be realized in the Course of LAIG. This 3D viewer will not be evaluated in the PLOG Course.
Development System: The recommended development system is SICStus Prolog, which includes the possibility of creating sockets for communication with the visualization module. The SICStus also includes the Jasper library, which makes it easy to integrate a Prolog component into a Java application. The form of integration of the 3D viewer with the game developed in Prolog should be discussed with the teachers of the LAIG Course.
Game: Fabrik.
In order to see a 3D environment developed in WebGL to represent this game, go to feup-laig repository.
The goal of this project is the construction of a program in Programming in Logic with Restrictions to solve one of the problems of optimization or combinatorial decision suggested in this statement. In addition, an article describing the work done and the results obtained should be prepared.
Development System: The recommended development system is SICStus Prolog, which includes a finite domain constraint resolution module: clp (FD).
Problem of Optimization: Redistribution of Public