Giter Club home page Giter Club logo

farkle's Introduction

Farkle

Simulation of a Farkle variant.

Modules

  • Core - Game engine and interfaces
  • Rules - Scoring rules and players
  • Driver - Runs the Farkle simulation in various ways

Getting Started

Run FarkleDriver. Modify the source to add or remove players.

Implementing a Player

Create a class that extends AbstractPlayer.

Submitting a Player

Submit a pull request if you would like your Player contributed to the project. Open source players should be put in Rules/src/main/java/org/thedoug/farkle/player. Closed source players may be jar'd and put in Driver/compiled.

Rules

See Wikipedia's Play and Standard Scoring sections.

Specific to this version:

  • Winning score is 10,000.
  • Only 5 dice are used.
  • All players get the same number of turns as the winning player. Players can tie.

farkle's People

Contributors

gauthierbl avatar htmldoug avatar

Watchers

 avatar  avatar

farkle's Issues

Improve driver feedback

Driver should:

  • Tell me when it starts instead of waiting for periodic updates.
  • Tell me when it finishes and how long everything took.
  • How many ties there were (especially for 2 players).
  • How much better one player is than another.

Add sample project files to the repo

Include a means of generating a .idea/.imls for quick setup (batch file, shell script), or just check them in in-place, and then add to git-ignore, if that's possible.

Refactor GameEngine

Code smells:

  • Players shouldn't have to dig to get the relevant turn info.
  • GameEngine should represent the game state better.
  • Rules should be centralized and available to the client.

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.