Skip to content

Instantly share code, notes, and snippets.

@wallabra
Last active September 25, 2018 01:13
Show Gist options
  • Save wallabra/21c1ea4504ab06f35fe77e56c43e3535 to your computer and use it in GitHub Desktop.
Save wallabra/21c1ea4504ab06f35fe77e56c43e3535 to your computer and use it in GitHub Desktop.
Plans for Betman

Betman plans

What we want for Betman (previously known as betsys.py): Classes: Competitor, Better, Game, System, Matchmaker, Outlet, Team, SystemInterface.

  • Each Competitor holds at least an ID, a human readable name, and subclasses may hold a tier, like in an ELO system.
  • Each Better holds an ID, a human readable name and a balance.
  • Each Team class holds an ID, a human readable name, and the involved competitors.
  • Each Game class (and its subclasses) holds the involved Competitors, and what Teams they pertain to.
  • The Matchmaker subclasses will find two competitors, create a Game subclass with them, and return the game.
  • Each System class contains all of the Betters and all of the Games. It will interact with SystemInterface objects.
  • The SystemInterface class is something like a Discord bot, or an IRC bot, or a web server, which will interact with the System to fetch information and send events and other things. NetSystemInterface is a SystemInterface subclass that opens a listen socket, effectively exposing the interfaced System to the network.

What we want for the Discord MUGEN bot:

  • Being able to print out the general (and better) status when requested.
  • Automatic print match events. (win, bet lock, current competitors)
  • Automatically lock bets when the match starts, and unlock them after it ends.
  • Provide a way for admins to know whether it's locked, and toggling the lock.
  • Announce the Competitors before a Game.
  • Find the winner of the match, from the game. (hard)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment