Giter Site home page Giter Site logo

macr0nerd / libeztp Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 315 KB

A C++ library that has functionality for a multitude of tabletop games. Has D&D 5e SRND content built in by default.

License: GNU General Public License v3.0

CMake 9.60% C++ 88.50% Python 1.90%
cmake cpp dnd5e dungeons-and-dragons game-development gaming gpl gplv3 library open-source opensource tabletop tabletop-gaming

libeztp's Introduction

Macr0Nerd's GitHub

@Macr0Nerd's Holopin board

AWS Solutions Architect Badge

My name is Gabe, and I'm a cybersecurity student looking to go into ethical hacking. In my free time, I enjoy tinkering with tech and programming a lot, and this GitHub is where I put a lot of that. I had my own Gitea server, but I use GitHub more anyways so it was more practical to just maintain this Github.

libeztp's People

Contributors

macr0nerd avatar

Stargazers

 avatar

Watchers

 avatar  avatar

libeztp's Issues

[IDEA] Write more thorough tests

Is your feature request related to a problem? Please describe.
I got kinda lazy when writing the tests for #2

Describe the solution you'd like
Test the add and remove functions, and if you're brave test the rest of the functions in Character.

Additional context
This is low priority until it's not :)

[IDEA] Add data serialization and assignment

Is your feature request related to a problem? Please describe.
This will allow users to load information for the classes from files, and assign from the same class.

Describe the solution you'd like

  • File serialization
  • File deserialization
  • Class assignment operators (operator=)

[IDEA] Make CMakeLists.txt cleaner and more efficient

Is your feature request related to a problem? Please describe.
The CMakeLists.txt is very... basic and could be streamlined.

Describe the solution you'd like
I would like a more efficient CMakeLists.txt that will follow safe coding practices. I will be looking into this so I may do it, but I don't know exactly when I'll get to it.

[ASK] Should we use the class adders within load?

Describe the question you'd like to ask
Currently, in all of the load functions for the classes, what we do is we add the functions such as

weaps[mapper[0]] = {
        mapper[1],
        eztp::dice[std::stoi(mapper[2])],
        static_cast<short>(std::stoi(mapper[3])),
        static_cast<short>(std::stoi(mapper[4])),
        static_cast<short>(std::stoi(mapper[5])),
        static_cast<bool>(std::stoi(mapper[6])),
        static_cast<short>(std::stoi(mapper[7])),
        {
                std::stoi(mapper[8]),
                std::stoi(mapper[9])
        }
};

with manual adding to the class maps. Should we instead be using the actual adders like weapons::addWeapon(const std::string &name, Weapon &stats);?

[IDEA] Implement unit testing

Is your feature request related to a problem? Please describe.
Add a way to test the code quickly and concisely.

Describe the solution you'd like
Just use plain old Catch2 to implement the tests.

[IDEA] Create single include header

Is your feature request related to a problem? Please describe.
This will be a single include header that will take all the source files and plop the code into one nice .hpp file for easy use.

Describe the solution you'd like
Just a single include file.

Describe alternatives you've considered
I'm looking into some options, mainly:

Additional context
Quom - Seems useful... but it isn't liking the CMake paths.

Amalgamate - 8 years old and no updates.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.