You have chosen to sponsor your bid up to a maximum amount of .
A design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Patterns are formalized best practices that the programmer must implement themselves in the application.
We have a couple of design patterns in mind that we would like to use in building our program:
1. Abstract Factory pattern - Abstract Factory offers the interface for creating a family of related objects, without explicitly specifying their classes.
2. Builder pattern - Defines an instance for creating an object but letting subclasses decide which class to instantiate
3. Composite pattern - compose objects into tree structures to represent part-whole hierarchies
4. Decorator pattern - add additional responsibilities dynamically to an object
5. Strategy pattern - Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.
These are the five patterns that we have thought of until now. We need to use at least 6 design patterns for the project. We are coding in java on eclipse.
In the project, we need to create rooms, players, tools, connect the rooms together to build a maze and the hardest part that we are facing is creating a graphical interface for the client to interact with and play the game.
A few ideas that we thought of:
• A key as one of the tools that the player will need to pick up in order to open the door at the exit of the maze.
• A locked door at the exit of the maze that will require the key.
• Rooms will be randomly generated, so that the structure of the maze will be different every single time it is played.
• The key will be placed in a different room every time you play the game, and it will not show until you enter that specific room.
• When the game starts, the player can choose easy mode or hard mode and can choose the player.