Giter VIP home page Giter VIP logo

rummikub's Introduction

Rummikub Bot Tournament

Rummikub is a tile based startegy game. The purpose of this tournament is to create a bot that will defeat all others in a 1000 game Rummikub championship. For the purposes of this competition the rules have been simplified. For further information on the rules, refer to the rules section below.

Setup

To play, clone this repository and create a new bot by inheriting from the BaseBot class. Within your subclass, implement the "secret_strategy" method. Refer to the SampleBot subclass in the bots folder as an example. When your bot is ready it will be pitted against the other bots in the tournament. In the end, their can be only one!

Rules

For the purposes of this tournament, the rules of this game have been simplified. The object of the game is to get rid of all your tiles. In each round, there is only one winner and the losers will not be penalized for the tiles they hold after someone wins. The rules this tournament will follow are implemented in the RulesEngine class.

  • Play order is randomly assigned.
  • Each bot is dealt 14 tiles.
  • The first bot to get rid of all their tiles wins.
  • Players get rid of tiles by playing groups or runs and putting them into the public space.
  • A group is a collection of three or more tiles of differing colors, but the same numerical value.
  • A run is a collection of three or more tiles of the same color and in sequential order. For example, an all red 2,3,4 would be valid, but an all red 2,3,3,4 would be invalid. Similarly, an all blue 4,5,6 would be valid, but an all blue 3,5,6 would be invalid.
  • A bot may rearrange tiles in the public space or take tiles out of the public space into their hand as long as all collections in the public space are valid at the end of the bot's turn.
  • If a bot does not end up with few tiles in its hand than when it began, it must draw a tile.

These rules may change as bugs are discovered in the rules engine, but the general idea will stay the same.

rummikub's People

Contributors

jonathanmann avatar

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.