Romi for Android

Documentation of Romi.

Romi lets you play Rummy Tile (RummyCube, Rummikub, Rami) games against the computer at three different levels.
The game is played with two sets of 52 cards and with
two wild cards. The purpose of this game is to form groups of
three or more cards, which contain either consecutive cards of the
same suit or cards of the same number value but of differing suits.

The general rules of the game are:

When you begin a new game, 14 cards are drawn randomly for
Romi and 14 for the player. Those cards are placed on the rack
in sequential order.

The player opens his game by playing at least one group of
3 cards or more, using only the cards on his rack. The sum
of those cards values must be 30 or more.

After the player has opened the game, he can use the cards
on the board to complete groups with cards on his rack. The
player can move or reorganize all the cards on the board, but
the new groups must be valid and be groups of 3 and more.

The particulars rules of Romi are:

The window of Romi is divided into two principal elements:
the board, with 8 rows of 24 cells where you put the cards that
you play, and the rack where the player's cards are stored.
The groups of cards placed on the board must be separated by one
or more empty cells. The player's cards can be placed anywhere
on the rack.

To place a card on the board, you can click the card and it will move automatically on the board.

You can also select a card and move it manually to the destination of your choice.

You can form groups of cards on the board by clicking
sequentially on each card from your rack or from the board.

Romi does not allow you to place a card before or after a card
on the board, if the group formed with this card is not valid.

If you can't or don't want to play a card, you must
draw one by clicking on the icon.

When you have finished your turn, you click on the sand-glass .
Romi checks that the game is valid and Romi plays his turn.
When Romi plays, the sand-glass icon is replaced by a computer icon.

Shortcuts

You can form groups of cards on the board by clicking sequentially
on each card from your rack or from the board.

You can add a card to the end or
to the beginning of a group of cards, by dragging the card respectively
on the first or the last card of the group. If the space before
or after the group is not sufficient, Romi moves the new group
of cards where there is enough space.

Romi also allows you to make two groups of cards with one group
of 5 cards or more, and another card which is identical to one
of this group. The two new groups must each form groups of 3 cards
or more. For example if there is a group of cards like (4,5,6,7,8,9)
and if you have an other 6, you can make the following two groups
(4,5,6) and (6,7,8,9). The shortcut works by selecting your 6
and by dragging it on any card of the group (4,5,6,7,8,9).

Utilities buttons

Draw a card: Draw a card randomly and allow Romi to play his turn.

Sort by suit: Rearranges the player's cards on the
rack by suit.

Preferences: Allows you to change and save your preferences for Romi.

Cards played: Shows you the cards played by Romi on
his last turn or the cards played by you during your turn.

Validate: Check that the groups of cards played on
the board are valid.

Information: You can see the documentation for Romi, see your scores, or begin a new game.

Clean Up the board: Rearranges the cards on the board
in a special order like below:

THANKS

I would address special thanks to my son Charles and Bryan Pietrzak
for their help in programming this game and to Pierre
Lachance and Jurjen N.E. Bos from Netherlands for their many suggestions
and their help in debugging and translating this program in English.
I want to thank Marcella Chiovaro, Amalie Rothschild and Claudio Jacomelli for translating this
program in Italian, Henrik Huber and Rolf Schindler for the German translation,
Adrien Dion, Raúl Padilla Alonso and Ricardo Trenard for the Spanish translation, Harold Bouwmeester and Fred Kelder
for the Dutch translation, Gustavo S. Duarte Garcia and Stephen Fleming for the Portuguese translation,
Benkt Steentoft, Anna Ekman, Dieter Mitternacht for the Swedish translation,
Jon Gunnar Nesse and May Lis Ruus for the Norwegian translation.

DISCLAIMER OF WARRANTY:

IN USING THIS SOFTWARE, YOU UNDERSTAND AND AGREE THAT THIS
SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND. THE AUTHOR DOES NOT MAKE ANY WARRANTIES, EITHER EXPRESSED
OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT
TO THIS SOFTWARE.

IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CONSEQUENTIAL,
INCIDENTAL, OR SPECIAL DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION
DAMAGES FOR LOSS OF CRITICAL DATA, LOSS OF PROFITS, INTERRUPTION
OF BUSINESS, AND THE LIKE) ARISING OUT OF THE USE OR INABILITY
TO USE THIS SOFTWARE.