Git Product home page Git Product logo

catan-tracker's Introduction

Catan-tracker

Referred to as "command line application" or "application".

About

This command line application was created to provide a simple method of tracking the progress of each player in a game of "Catan" by Klaus Teuber.

Currently, the base game and "Catan: 5-6 Player Extension" are supported.

Benefits

  • Quickly retrieve everyone's victory points
  • Visualize distribution and test normality of dice rolls
  • Remind yourself of the last roll if you forget
  • Save everyone's modus operandi at the end of the game

Prerequisites

You will need access to the following to run this application.

  • Unix-like command line
  • gcc
  • Make

Compatibility

Compiled using gcc Version 4.2.1. Tested on x86_64-apple-darwin19.3.0 (macOS Catalina Version 10.15.3).

How to Run

  1. Download this repository to your preferred directory (e.g. Desktop)
  2. Go to your preferred directory on your command line (e.g. cd ~/Desktop/Catan-tracker)
  3. Run make to compile the application
  4. Run ./tracker to open the application

Updating

Run make update to update your Catan-tracker local repository and doxygen submodule. This requires command-line git.

Documentation

The source code is commented with descriptions of each function. Also, check out the HTML interface.

The HTML interface is generated through Doxygen. bison version 2.7 or later and cmake are required in addition to other pre-installed packages to use Doxygen.

Run make generate to generate documentation from the source code.

catan-tracker's People

Contributors

rpatelpj avatar

Watchers

 avatar

catan-tracker's Issues

Add warnings that command was truncated

  1. If the command has all of the necessary components, it will discard the rest of the command. Print whatever is discarded.

  2. If the command is longer than the allowed length, either print that only a certain number of characters can be taken and try again or discard and print whatever is discarded.

Determine player's potential VPs

At line 172, display function

Combine information of number of development cards and victory points left to win to determine maximum potential VPs player has in possession

Internally calculate VPs

At line 118, record function

  • Split development cards into knights and unflipped development cards
  • Remove ability to enter VPs
  • Add calculation based on profile numbers

Record function takes any string with integer as valid input

For example, "random5tring1" would be accepted as a valid input and interpreted as the integer 5.

Result of how the atoi function operates on line 77.

Needs to instead reject any string that is not a pure integer before continuing operation. Else print "Invalid input, {rejected string}."

Add development card constraints

At line 117, record function

  • Limit number of development cards across all players based on total development cards possible
  • Change limit depending on number of players (Base Game vs 5-6 Player Extension)

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.