Giter VIP home page Giter VIP logo

openpegs's People

Contributors

0xd4n10 avatar lightcc avatar

Watchers

 avatar  avatar

openpegs's Issues

Tests for PyPyramid

Missing unit/system tests for the final commit or two on the initial release - the PegPyramid class and pegs.py file.

  • PegBoard and PegPyramid with 90% coverage
  • pegs.py deferred - it's top-level system testing, not unit

Need to figure out how to do coverage analysis and get additional reporting from pytest as well.

  • added pytest-cov python package to workspace for coverage, and Coverage Gutters vs code extension.
    • Usage:
      • Run pytest ./texts --cov=src.pegs --cov-report=xml:cov.xml to run coverage with basic settings so the extension will pick it up.
      • Can't get it to use the .coveragerc file, and if I add the command-line options to the pytest settings in vs code, it will not stop on breakpoints for the debugger for tests.

Provide help for users (command line and other?)

At minimum, provide some kind of guidance on how to use/run the file at the command line (i.e. --help argument) or similar, but maybe also a file or some command to pull up help during the game.

Preferably stored in a common file that is stored in the exe through pyinstaller, or similar. Could be a section of the README.md file for a single source of truth.

Add solution analyzers

Major feature is to provide analyzers that can solve the game.

Need to work out the details. i.e. solve from scratch, for any starting position? Solve the best solutions from the current board? Etc.

Improve console hmi

Go through the console input/output and tweak it:

  • Improve the key feedback so it takes single keypresses rather than requiring enter
  • Analyze the full process of printing and entry and optimize
  • reevaluate whether to use the node + pegs side-by-side format for showing the game board
  • consider adding color and/or other ASCII art/emphasis
  • consider clearing/updating the screen rather than just scrolling

Provide version at command line

Need to create the right command or hook file (and command) to get PyInstaller to include the .egg-info directory and metadata. This is the link to get the released version from Git into the final exe so it can report the version.

Then add sys.argv arguments from the command line and spit out the version when asked for (i.e. something like '--version'.

PBR and setuptools not working properly

I'm getting errors trying to update the metadata.

i.e. py setup.py xxx fails out with various errors.

  • Fix the setup.py problems, including getting pbr to pull the version from the git tags

  • Write a process to release, something like:

    1. push to git on feature branch, review tests and code, etc.
    2. create prerelease exe with version updates
    3. merge to dev/master
    4. create tag on dev/master
    5. update metadata with setup.py
    6. run pyinstaller to create exe with latest metadata
    7. create github release and attach exe

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.