Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

2048 Sliding Tiles Puzzle

1. Project Description
The objective of the project is to implement a console-based video game known as “2048
puzzle game” by implementing the object-oriented programming (OOP) concepts taught in
class. The program must implement:
1) Decent console-based interface
2) Input interaction from keyboard
3) Score calculation
4) End game with failure/win detection
5) Possibility to restart the game
6) Possibility to quit the game and save it for a later attempt

The programmers have a large freedom to implement the interface, as well as the controls. An
example (just an example) of possible interface is shown here. It is duty of the programmers to
study an efficient and user-friendly interface.

2048 Puzzle Game

Score: 220
┌──────┬──────┬──────┬──────┐
│ 32 │ 16 │ 8 │ │
├──────┼──────┼──────┼──────┤
│ 2 │ 8 │ 2 │ │
├──────┼──────┼──────┼──────┤
│ 8 │ 2 │ │ │
├──────┼──────┼──────┼──────┤
│ 2 │ │ 2 │ │
└──────┴──────┴──────┴──────┘
Control Keys:
(Up-Arrow) Up
(Down-Arrow) Down
(Right-Arrow) Right
(Left-Arrow) Left
(R) Restart
(S) Save
(Q) Quit
2. Grading Criteria
The project presented by each team will be graded based on the following set of rules:
▪ Degree of programming maturity. The instructor will assess the working of the program
using a set of test inputs. If the program passes all the test inputs, then the team will score
complete grade for this section.
▪ Incorporating OOP concepts. The students should apply the OOP concepts taught in class
within their project. This should be clearly explained in the final report. The use of class
diagrams is welcome.
▪ Teamwork. Each team member will be asked questions on his/her contribution and will be
required to comment and explain certain features to confirm the claim. The final report
must explain how it has been organized the teamwork.

3. Preparing the Final Presentation


Teams (made by 3 or 4 students) should prepare the following items for their final power-point
presentation, to be presented during a hybrid session (hybrid because Prof. Dadlani will be
online):
▪ All members of a team should be present for the final presentation at the time slot that will
be announced later. No excuses will be accepted for any delay.
▪ Each team should prepare a short presentation, of maximum 10 slides, showing their design
approach and their management of teamwork.
▪ Each team should upload their final working code and report on Moodle before the
deadline. No exceptions will be accepted by any means.
▪ Each team is required to run and explain their program in order to be assessed. So, make
sure you have the program ready on your laptop.

4. Final Note and Tips


Please read well the following notes and suggestions:
▪ Each group must upload a zip folder containing: the code files, the report in pdf, and the
power point presentation. Only one representative student, in each group, must upload the
project files.
▪ All the uploaded programs will be checked for plagiarism. If found, all team members
involved will be given a straight 0 and reported to the school.
▪ To familiarize to the mechanism of the 2048 puzzle game, I suggest trying and playing it
online at this link: https://play2048.co/
▪ A class diagram is a particular kind of UML diagram that is usually used by professional
programmers to illustrate the class functioning and their hierarchy. If you are interested of
using such diagrams in your report, a brief but complete explanation can be found at the
following link: https://www.tutorialspoint.com/uml/uml_class_diagram.htm .
▪ Do not start the project the day before the deadline. It would be too late.

You might also like