Giter Site home page Giter Site logo

figgiebot's Introduction

FiggieBot

Screenshot 2024-02-15 at 6 07 29 PM

A statistics display for the Jane Street trading game, Figgie. A Python script/server records the screen and uses Pytesseract OCR to retrieve data from a Figgie.com game and send it to the Frontend UI which is based on Processing.org.
This repo is configured to work specifically with an M2 Macbook Air 13" display with Figgie.com opened in Chrome at 90% Zoom and an external display. Configurations can be set up for different devices (see Configuration for more details)

Description

The first row of bar charts shows how many of each suit each player has bought (in green) and sold (in red). The middle number is the net gain/loss of cards in each suit. The second row of bar charts shows how many bids/offers each player has put on each suit. The numbers correspond to the average bid/offer price and not the actual number of bids/offers placed. The Card Counter adds up all of the negative deltas in a suit for each player. For example, if a player buys 1 Club and then sells 2 Clubs, we know that they had at least 1 Club in their starting hand. A red border around the display indicates that the screen is out of sync and therefore the OCR recognition will not work.

Installation

  1. Download this repo
  2. Install all dependencies for the Python Server (found in requirements.txt)
  3. Download the Processing UI Executable from here

Usage

  1. Run Server.py
  2. Run the Processing.org executable
  3. Join or host a game of Figgie.com
  4. Once all players have joined, but before the game begins, click on the "Load Players" button. If any player names are incorrect, click on it to edit it.
  5. Once the game begins, click "Count Cards". This will include the cards in your starting hand in the Card Counter.
  6. If the player colors on Figgie.com do not match the player colors on the display, click "Swap Colors"
  7. For a new round, click "New Round".

Configuration

  1. Open up the Server.py in an IDE
  2. Modify the frames (such as redFrame, tradeFrame) to crop the corresponding section of the screen on your device
  3. For more help, feel free to open an issue

figgiebot's People

Contributors

bananapeel202 avatar

Watchers

 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.