Giter Site home page Giter Site logo

dndapp's People

Contributors

jkesselring avatar russloewe avatar sbordeyne avatar sinderella avatar solumos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dndapp's Issues

Host connections

  • Give IP so that host can give it to his friends
  • Number of maximum connections field
  • Port field
  • Host button that launches the server

Heavy refactoring needed

Before going any further down the development, the code will need some heavy refactoring, as pointed out by /u/Durinthal.

Eventually, two classes should be made : one for monsters, one for characters (the second one should be heavier).

/u/equationsofmotion also proposed a party manager that is written in python and available on github : https://github.com/Yurlungur/pyparty_manager This could be cool to add to the play interface ( and character class)

At last, the code will now be slit into different files, one for each generator, while keeping the functions.py file for other non related functions (read_config, log, dice_roll...)

Someone also suggested to use JSON for the config file. It definively could be a good idea, but to be more user friendly, maybe use YAML instead, I'm not sure.

Menu "tools" to add options for the generators.

-[ ] Monster list, with a quick add monster feature to dump it inside the xml file.
-[ ] Treasure editor to add jewels, magic items etc
-[ ] NPC editor to add names, belongings, motivations

-[ ] Add a select RPG option to select the tabletop RPG being used ( OD&D, D&D 3.5, 4, 5, pathfinder, vampires and mascarades, forgotten chronicles etc...) with options to add a RPG to the list.

-[ ] Option menu.

Refactor the code

Code needs to be adapted to PEP8 and PEP20. Use pylint to check the score.

  • Overall score > 8.5/10
  • functions.py
  • launch.py
  • setup.py
  • tabs/character.py
  • tabs/dice.py
  • tabs/encounters.py
  • tabs/map.py
  • tabs/disease.py
  • tabs/treasure.py

Convention used :

CONVENTION : module_name, package_name, ClassName, method_name,
ExceptionName, function_name, GLOBAL_CONSTANT_NAME, global_var_name,
instance_var_name, function_parameter_name, local_var_name

Design of the map tab

A big canvas, and a toolbox on the side, a bit like GIMP or photoshop you know, in the toolbox there will be tiles to use ex : http://imgur.com/04JsCZX

in the tool box, 2 radio buttons for the choice of the grid : hexagonal or square.

Needs a zoom/dezoom functionnality, as well as infinite map size. Save file : .dndmap

Update window

There's a problem i can't fix.

In the treasure tab generator as well as the random encounter generator, the functions are called right but nothing is displayed. I tried to fiddle with the update() method from a QMainWindow object, that didn't do anything.

Play interface design

The app needs a play interface, and although the UI is made, it needs bindings.

  • Dice rolling transmission
  • procedural generation of character sheet tabs
  • map viewer to discover step by step the map the DM did. With arrows and a party token to move.
  • there is a toolButton on the character sheet, when clicked, it should bring a contextual menu that shows : save, load, roll characteristics, freeze characteristics

Map tab ideas and needed work

Map tab needs some work.

-[ ] display widget should show a grid either squared or hexagonal

  • option stick to grid should be on by default
  • if unchecked, stick to grid turns the tool into a free line drawer, maybe later be able to choose from a toolbox some different tools.
    -[ ] if squared grid is selected, toolbox should be of squared tileset
    -[ ] if hexagonal is selected, hexagonal tileset shown.
    -[ ] pics and radiobuttons have to be added to tabs.
    -[ ] Save map file with links to other map

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.