The client app should be a game interacting with the server via socket connections using a simple text based protocol (which will be described later).
All the logic and data management is done on server side so the client will basically send and request data to/from the server and provide with nice GUI to the user.
The game is a two player card game where each player tries to make a match of 3 cards based on some criteria according to the game rules. Depending on some events (correct/incorrect match, no moves and etc. new cards are opened randomly selected by the server). As mentioned above, all the data is retrieved from the server using the specific protocol.
The app/game should have 2 main screens: the Lobby and the Table.
In the Lobby screen, there should be visible the list of all active tables and next to it the number showing how many players are there joined to that table. In this screen there should also be 2 buttons ("Refresh" and "New Table") and player Ranking.
The "Refresh" button will refresh the list of the tables and the player ranking from the server.
We are seeking for an individual highly experienced iOS developer who can deliver a simple client card game for iOS in 1 or 2 days. The game should use latest iOS (GUI) developer guidelines to provide multi support and great user experience.
The game is a simple card game with all logic on server-side and very simple images on client-side.
The "New Table" button will send a message to the server to create a new table (or maybe later open a popup to let the table creator set the table name and some rules which will be discussed later on).
In the Table screen, there should be visible the list of open cards on the table (images will be provided) retrieved from the server, the number of points player has get for the current game (will be retrieved from the server as well), the "Pass" button, a Message-Line (dynamic text message) and a Back button to get the user back to the Lobby screen.
The cards will be sent to the client once all the players have joined to the table and card selection will be enabled by the player.
By pressing the "Pass" button, the client will send this event message to the server and wait for the update from it. Meanwhile, disabling card selection. While card selection is enabled, the client will send a message requesting a turn from the server and update the server with every selection of a new cards (3 cards total). If a reject is received from the server then unselect all the cards and lock/disable card selection with the message. If the turn granted by the server and the third (last) card is selected the client should send a Check message to the server. Based on the server replies the list of open cards (with another request to the server) as well as the status Message-Line and the points should be updated. There will be no card unselect feature.
This is a fixed price, unlimited revisions type of assignment. We will pay USD 100,- after we accept the final code. There will be NO escrow and we will expect delivery of almost final code after 1 DAY. So only if you feel comfortable with these T&C's and trust us reply to this assignement. In that case please mention clearly that you are OK with the T&C's we mention.