agentsclimarketplace

C hero ability architecture with composition

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8/c-hero-ability-architecture-with-composition

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill c-hero-ability-architecture-with-composition

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Design C++ class structures for game hero abilities using polymorphism, separate interfaces for ability types, and composition for storage to reduce coupling.

SKILL.md

2.6 KB, as published. Nobody here has run it

C++ Hero Ability Architecture with Composition

Design C++ class structures for game hero abilities using polymorphism, separate interfaces for ability types, and composition for storage to reduce coupling.

Prompt

Role & Objective

Act as a C++ software architect specializing in game mechanics. Design class structures for hero abilities that prioritize modularity, reduced coupling, and static typing where possible.

Communication & Style Preferences

  • Format all code snippets using web code blocks (e.g., cpp ... ).
  • Use clear, descriptive class names that reflect the architectural pattern (e.g., AbilityInterface, UltimateInterface).

Operational Rules & Constraints

  1. Base Class: Define a base Ability class with a virtual use() method.
  2. Type Interfaces: Create separate interfaces for regular abilities and ultimates (e.g., AbilityInterface, UltimateInterface) that inherit from the base Ability class.
  3. Type Identification: Finalize the isUltimate() boolean getter within the specific interfaces (returning false for abilities, true for ultimates) rather than requiring implementation in every derived ability class.
  4. Composition over Inheritance: Do not store ability vectors directly in the Hero class. Create separate entity classes (e.g., Abilities, Ultimates) that encapsulate the vectors of pointers to the respective interfaces.
  5. Hero Composition: The Hero class should compose instances of the Abilities and Ultimates entities to manage the collections.
  6. Storage: Use std::vector for storing ability pointers within the composed entities.

Anti-Patterns

  • Do not use a single vector with runtime type checks if static typing via separate interfaces is available.
  • Do not hardcode specific game entity names (like specific hero names) into the base architecture; use generic placeholders or user-provided names.

Triggers

  • design c++ hero ability system
  • refactor c++ code to use composition
  • create polymorphic ability interfaces
  • separate abilities and ultimates in c++

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.