In tandem with the "Object Definitions" thread, I thought I'd start a thread for "operations" -- what do we want these objects to do?
Some ideas:
Move piece: You could click on a piece that you want to move, then click a destination spot for it.
Nice embellishments: "Shift-clicking", where you could select multiple pieces to move (for games where this was appropriate).
Associate cards with a deck Before "shuffling" or "dealing" can happen, the program must know which games are in the deck to be handled, and must have the flexibility to use subsets of the full deck. I like RookieDesign's "card pile" object. It seems like dragging a card onto the pile should associate it with that pile.
Shuffle cards Obvious.
Draw a card. Obvious.
Nice embellishments Handle the difference between "draw private" and "draw public". Particularly useful for games that have an element of "draw X, keep Y of those, put the others back". But with "reveal card" and "associate card with a deck", these things could be handled.
Reveal card "Flip" a previously private card over.
Rotate object Appropriate for tiles or "tapped" cards.
Nice embellishment Align objects -- for a tile-laying game, e.g., being able to have the tiles snap to a "grid" would be cute.
Roll die. Obvious.
Nice embellishment With shift-clicking, roll several dice at once.
Just a few ideas, I'm sure others can be added. A model I'd encourage others to adopt is to maintain the distinction between core functionalities without which games cannot be played, and "embellishments" that, while not essential, would make game-playing more user-friendly.
-Jeff