Implementing generic game engine for drawing game boards.
Object Oriented Paradigm
Functional Paradigm
- We were required to implement an abstract game engine that supports the drawing of six games, and could be extended for further more games:
- Tic Tac Toe
- Connect 4
- Checkers
- Chess
- Sudoku
- 8 Queens
- This Project was developed as a part of the academic course CSE 225: Programming Languages Paradigms that is being studied on the 6th semester (spring 2023) in the department of Computer and Systems Engieering, Alexandria University. we were assigned to implement an extendable game board drawing engine, to explore the main differences between the Fucntional and the Object Oriented paradigms.
- Understanding the main features & properties of the object oriented paradigm and the functional paradigm and the tools they do provide, listed below a couple of them:
- Functional Paradigm:
- Higher Order Functions
- Pattern Matching
- Immutability
- OO Paradigm:
- Inheritance
- Overriding
- Encapsulation
- Functional Paradigm:
- Download the ZIP file from here
- Extract it
- JS Version: Open the oop_js/exe/games.exe file.
- Scala Version: Head to the functional_scala/out/artifacts/ directory from your terminal, enter the following command:
java -jar functional_scala.jar
- Can be found HERE