{"id":18052548,"url":"https://github.com/cypri1-dev/42_cpp03","last_synced_at":"2025-07-06T07:08:01.306Z","repository":{"id":260108803,"uuid":"880277991","full_name":"cypri1-dev/42_CPP03","owner":"cypri1-dev","description":"This project involves creating a robot hierarchy in C++ starting with the ClapTrap class, with basic attributes (name, hit points, energy, damage) and methods for attacking, repairing, and taking damage. The derived classes ScavTrap, FragTrap, and DiamondTrap add unique abilities, showcasing inheritance and composition in C++.","archived":false,"fork":false,"pushed_at":"2024-11-08T16:06:24.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T07:26:44.403Z","etag":null,"topics":["42","42projects","cpp","cpp03"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cypri1-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-29T12:49:12.000Z","updated_at":"2024-11-08T16:06:27.000Z","dependencies_parsed_at":"2025-04-05T07:36:28.562Z","dependency_job_id":null,"html_url":"https://github.com/cypri1-dev/42_CPP03","commit_stats":null,"previous_names":["cypri1-dev/42_cpp03"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cypri1-dev/42_CPP03","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypri1-dev%2F42_CPP03","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypri1-dev%2F42_CPP03/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypri1-dev%2F42_CPP03/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypri1-dev%2F42_CPP03/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cypri1-dev","download_url":"https://codeload.github.com/cypri1-dev/42_CPP03/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypri1-dev%2F42_CPP03/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263861947,"owners_count":23521355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42projects","cpp","cpp03"],"created_at":"2024-10-30T23:12:11.822Z","updated_at":"2025-07-06T07:08:01.284Z","avatar_url":"https://github.com/cypri1-dev.png","language":"C++","readme":"## \n\u003ch1\u003e\u003cimg src=\"https://raw.githubusercontent.com/ayogun/42-project-badges/refs/heads/main/covers/cover-cpp-bonus.png\"\u003c/h1\u003e\n\n## Description\nThis project involves creating a robot hierarchy in C++ starting with the `ClapTrap` class, with basic attributes (name, hit points, energy, damage) and methods for attacking, repairing, and taking damage. The derived classes `ScavTrap`, `FragTrap`, and `DiamondTrap` add unique abilities, showcasing inheritance and composition in C++.\n\n## Exercise 00\nObjectives 🚀:\n- Implement the foundational `ClapTrap` class.\n\nRequirements:\n- Create `ClapTrap` with attributes: `Name` (from constructor), `Hit Points` (10), `Energy Points` (10), and `Attack Damage` (0).\n- Methods: `attack(const std::string\u0026 target)`, `takeDamage(unsigned int amount)`, and `beRepaired(unsigned int amount)`.\n\n## Exercise 01\nObjectives 🚀:\n- Introduce a derived class `ScavTrap` with unique attributes and behaviors.\n\nRequirements:\n- Inherit `ClapTrap`, updating initial values to `Hit Points` (100), `Energy Points` (50), `Attack Damage` (20).\n- Add `guardGate()` for Gate Keeper mode.\n\n## Exercise 02\nObjectives 🚀:\n- Introduce a derived class `FragTrap` with unique attributes and behaviors.\n\nRequirements:\n- Inherit `ClapTrap`, updating initial values to `Hit Points` (100), `Energy Points` (100), `Attack Damage` (30).\n- Add `guardGate()` for Gate Keeper mode.\n\n## Exercise 03\nObjectives 🚀:\n- Create a hybrid `DiamondTrap` class combining `ScavTrap` and `FragTrap` traits.\n\nRequirements:\n- Inherit both `FragTrap` and `ScavTrap`, setting `Name`, `Hit Points`, `Energy Points`, and `Attack Damage` accordingly.\n- Add a `whoAmI()` method to display `DiamondTrap’s` identity and `ClapTrap`-style name.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypri1-dev%2F42_cpp03","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcypri1-dev%2F42_cpp03","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypri1-dev%2F42_cpp03/lists"}