Category: All-In-One (Games)
Overview of Application
MarbleStash is a strategy game. The objective of the game is to capture more marbles than your opponent. You can play with either another person or the computer.
The MarbleStash board has six small pits along the top and bottom of the board. The pits along the top belong to player one and the bottom pits belong to player two. On both sides of the board, there is a big pit, called a store. The one on the left belongs to player one and the one on the right belongs to player two.
At the beginning of the game, choose how many marbles are placed in each of the 12 smaller pits: 3, 4, 5, or 6.
The 3 and 6 marbles in each of 12 pits
The game begins when Player One selects a pit on the top of the board. All of the marbles in that pit are redistributed, one-by-one, in a counter-clockwise pattern, in each subsequent pit, until the marbles run out. When the marbles are redistributed, if they make it to your store, a marble will be added there, too, but if they make it to your opponent's store, no marble will be added.
If the last marble distributed in your turn lands in your own store, you get an extra turn.
If the last marble distributed in your turn lands in an empty pit on your side, that marble and any marbles in the pit directly opposite go directly to your store.
The game ends when someone runs out of marbles in the pits on their side. All of the other player's remaining marbles move to his store. The winner is the player with the most marbles in their store.
Approach for Development
The MarbleStash uses the multitouch and multiuser capabilities of All-In-One tablet PC.
You can find the following in MarbleStash:
Creation of elements using HTML5 Handling style and positioning in CSS, for example, using
-webkit-gradient and CSS centering tricks.
Animations using CSS
-webkit-keyframes, for example, to generate the bead movement around the board.
Dynamic manipulation of id and class names to generate alternate states.
Use of JQuery UI for the game dialogs.
I will be updating if any changes are made in the above part. I'll be trying to add as many features as possible in a given time.