CSCI 235 Fall 2023 Term Project

Algorithmic Adventures II: Exponential Creature Odyssey

Project 7 - Binary Skill Tree

 

 

 

While our Creatures know how to fight, our wizard boss wants to know how their skills may progress over time. To do this, we will implement a Binary Skill Tree that will allow us to track the skills of our Creatures!
SkillTree

 

The link to accept the GitHub Classroom assignment can be found on Blackboard

 

You are given the BinaryNode and BinarySearchTree classses. You will implement the SkillTree class as a subclass of BinarySearchTree that stores Skills.

 


Implementation

 

Work through the tasks sequentially (implement and test). Only move on to a task when you are positive that the previous one has been completed correctly. Remember that the names of classes and methods must exactly match those in this specification (FUNCTION NAMES, PARAMETER TYPES, RETURNS, PRE AND POST CONDITIONS MUST MATCH EXACTLY).

Remember, you must thoroughly document your code!!!



Task 1: Implement the Skill struct

Skill

The Skill struct must be defined in SkillTree.hpp but outside the SkillTree class definition, and holds the following public members:

 

Data members

Constructors

Methods

 

Task 2: Implement the SkillTree class as a subclass of BinarySearchTree that stores Skills

####

The SkillTree class must define the following public members.

 

SkillTree

Constructors

SkillTree
Skill

Methods

 

SkillTree

Testing

How to compile with your Makefile:
In terminal, in the same directory as your Makefile and your source files, use the following command

This assumes you did not rename the Makefile and that it is the only one in the current directory.

You must always implement and test your programs INCREMENTALLY!!! What does this mean? Implement and TEST one method at a time. For each class:

Grading Rubric

Correctness 100% (distributed across unit testing of your submission)
No style and documentation points for this last project.


Important: You must start working on the projects as soon as they are assigned to detect any problems with submitting your code and to address them with us well before the deadline so that we have time to get back to you before the deadline.

There will be no negotiation about project grades after the submission deadline.


Submission:

We will grade the following :

SkillTree.hpp SkillTree.cpp

 

Although Gradescope allows multiple submissions, it is not a platform for testing and/or debugging and it should not be used for that. You MUST test and debug your program locally. To help you not rely too much on Gradescope for testing, we will only allow 5 submissions per day. Before submitting to Gradescope you MUST ensure that your program compiles using the provided Makefile and runs correctly on the Linux machines in the labs at Hunter (see detailed instructions on how to upload, compile and run your files in the “Programming Guidelines” document). That is your baseline, if it runs correctly there it will run correctly on Gradescope, and if it does not, you will have the necessary feedback (compiler error messages, debugger or program output) to guide you in debugging, which you don’t have through Gradescope. “But it ran on my machine!” is not a valid argument for a submission that does not compile. Once you have done all the above you submit it to Gradescope.

Due date:

This project is due on May 14 No late submissions will be accepted.

Important

You must start working on the projects as soon as they are assigned to detect any problems and to address them with us well before the deadline so that we have time to get back to you before the deadline. There will be no extensions and no negotiation about project grades after the submission deadline.

 


Help

Help is available via drop-in tutoring in Lab 1001B (see website for schedule). You will be able to get help if you start early and go to the lab early. We only have 3 UTAs in the lab, the days leading up to the due date will be crowded and you will not be able to get much help then.**

 

Authors: Georgina Woo, Tiziana Ligorio