UNO is a simple card game. The object of the game is to be the first to get rid of all your cards. To do this, you take turns discarding a card of the same colour, number or action as the last card played (the up-card).
Each player receives seven cards drawn from the deck as their starting hand. These are to be kept hidden from the other players. Then, the dealer reveals the top card of the deck to start the discard pile. On your turn, you may play one card, provided it matches the up-card as above or is wild, or draw another card from the deck. Should you draw, you may immediately play the card you drew if it is playable, or end your turn there. This is not checkers; you may decline to play a playable card and draw instead, but if you do draw a card, you can't play a different card that turn.
Normally, once you have played and/or drawn, the player to your left takes their turn.
Remember, the aim is to 'go out' by playing all of your cards first. If you are down to one card after you play, you must announce this by calling 'UNO!'. If you fail to do this, and another player calls you on it before the next player goes, you must draw two cards as a penalty.
There are 108 cards altogether in UNO, though some special packs add extras. Most cards come in four colours: red, yellow, green and blue. In each colour, there is a single zero card, two each of the numbers 1-9, and two Reverse, Skip and Draw Two cards. There are also four Wild cards, and four Wild Draw Four cards.
If the deck runs out at any time, which isn't uncommon, the discard pile is shuffled and turned over to create a new deck.
As you may notice, there are many more cards of a certain colour (25) than of a given rank (up to 8). So it's common for one's hand to consist of one or two colours.
These cards, when you play them, have special effects on the gameplay. If one of these appears as the initial up-card, the player to the left of the dealer, who would normally go first, cops it.
- Reverse: Reverses the turn order. The player before you goes next. This would be pointless in a two-player game, so in that case, it acts like a Skip instead.
- Skip: Simply skips the next player's turn.
- Draw Two: The next player must draw two cards from the deck in addition to being skipped.
- Wild: This card can be played no matter what the up-card is. When you play this, you must choose a colour for it. Then the next player must play that colour, or another Wild card. If this appears as the initial up-card, the starting player gets to choose the colour.
- Wild Draw Four: This is the most powerful card. Not only is it a wild card, but it forces the next player to draw four cards and be skipped. However, there's a catch: you can't play this if you have a card of the same colour as the up-card. It also can't appear as the initial up-card.
The Wild Draw Four
You may be wondering how this is enforced when no one sees your cards. Well, it's simple. If someone plays a Wild Draw Four against you, you have the option to challenge it. If you do so, your attacker must show you their hand. If they do indeed have a card matching the colour of the previous up-card, they have to take four cards instead of you, and you play as normal. If their Draw Four was legal, though, you take two penalty cards in addition to the normal four.
How the bot works
The UNO plugin should be assigned to one or more channels. To start a game of UNO, say !ujoin in the channel. Anyone who wants to join in should then follow suit. You can also challenge the bot with !aijoin, or start the game with !ustart. When the preset entry period ends, the bot will deal everyone seven cards and reveal the initial up-card. Play now begins.
When it's your turn, you will receive a NOTICE from the bot showing you your hand cards. Then, you may say !play card name to discard something. If you can't discard, or choose not to, say !draw to draw a card. If you can't play the card you drew, say !pass. To call UNO, say 'UNO' in the channel, or use the command !call. To challenge someone for not calling UNO, use !challenge.
Should you be on the business end of a Wild Draw Four, you may use the normal !draw command to take the hit, or say !challenge to challenge it. If you're the one playing a Wild card, you can choose the colour by simply announcing it in the channel (red, yellow, green or blue), or with the command !colour colour.
If you lose track of the game, you can get up to speed using the command !cards to show you your hand, !upcard, !count to count everyone's hand cards, !turn and !time.
Nearly all the commands from Marky's color UNO script work here, too. I prefer to use these, as they're easier to type. ;-) They are listed in the command reference.
There is a time limit for your turn. If you don't play within the timeout, which is 90 seconds by default, the bot will assume you're away. If this happens, the next player will be given the option to jump in. If they don't do so, you may still play. If everyone times out, the game ends.
See the full command reference here.
UNO is designed with 'set play' in mind. The set normally ends when someone reaches 500 points. When you go out, you gain points for the cards your opponents are still holding:
- Number cards: face value
- Reverse, Skip, Draw Two: 20 points
- Wild, Wild Draw Four: 50 points
Here, this scoring is used only for the leaderboard. Here, the first player to go out in each game gains a bonus 30 points, to counter the possibility of taking only a few (or no!) points.
The official rules suggest a challenge game, where players instead start with 500 points and lose points for the cards they are caught with when someone goes out. There is an experimental 'challenge' column on the leaderboard here, but it is their normal score minus the points they have had taken from them this way.
You can also see the leaderboard in the channel with the commands !utop [period] [sort value]. You can check the current, last or alltime leaderboard, and you can sort it by points, plays, wins, challenge, record, streak, periodscore, periodchallenge. If there are many players, you can also specify nearme to show the leaderboard around your own position.
You can see a player's statistics with !uscore player and !ustats player [period].
The leaderboard currently resets every two weeks.
See this page for some house rules.
We play mainly in #game on the IRCHighway network.