Login Form






Lost Password?
No account yet? Register
Freelancer Jobs arrow Freelancer Jobs - Archive 2007
JobId: #1401578

iPod Roulette Program

Categories: C++ / C,Software Related (Includes Websites),IPhone
Posted By: joedotkaz  (0 ratings)
Source: Rent-a-coder
Job viewed: 279 times
Bids Placed: 2
Start Date: 2010-05-01 13:19:08
End Date: 2010-05-15 13:07:52
Time Remaining:
Deadline: Please estimate in your bid
Current Phase: Bidding open
Max Accepted Bid: Open to fair suggestions
Project Type:
Bid Type: Open Auction
Brief Summary:

Roulette Program for iPod Touch

I need a program to run on a jailbroken Apple iPod Touch G1 using Cydia. The program will randomly display files depicting results from a roulette wheel and then, after 50 tries, it will display an ending statistics screen.  I will supply all the necessary files.






Requirements Interview Answers:
To help you bid more accurately, the buyer was interviewed about the requirements for this bid request. Below are their answers. Untitled Page
Bid request Type: What kind of work do you need done?
Software related (Includes desktop applications and internet websites)
Bid request Parts: What do you want the worker to do on this bid request?
Programming: The worker will take the requirements and translate them into the language of the computer (and test it).
Program Type: What kind of software should the worker create (and/or install)?
  • Other:an Apple IPod Touch application in Objective C
Legal: 1) I require complete and fully-functional working program(s) in executable form as well as complete source code of all work done (so that I may modify it in the future).
2) Deliverables must be in both ready-to-install and ready-to-run condition as follows:
2a) Application must be in ready-to-install and ready-to-run form for a jailbroken Apple iPod Touch G1 running Cydia.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased.
3b) No part of the deliverable may contain any copyright restricted 3rd party components (including GPL, GNU, Copyleft, etc.) unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the worker's Worker Legal Agreement.
Other Requirements:
Roulette Program for iPod Touch

I need a program to run on a jailbroken Apple iPod Touch G1 using Cydia. The program will randomly display files depicting results from a roulette wheel and then, after 50 tries, it will display an ending statistics screen.  I will supply all the necessary files.


Description of Usage:

Here is a description of the use case for the program:  

When the user first activates the program they will see an intro jpg file displayed initially on the screen.  It will depict a roulette table scene in a gambling casino.  

The user will then pause to mentally guess whether an upcoming jpg file about to be randomly displayed will depict a red or black or green roulette wheel result. (The file about to be randomly displayed will be one of the jpg graphics files I will supply representing the 38 possible results on a roulette wheel. I can convert all these to another more Apple-friendly format if necessary.)   

The user, having satisfied themself that they have completed making a mental guess as to the color which might be represented in the upcoming file display, will then shake the screen.  At this shake, a completely random result will appear in the form of the display of one of the 0, 00, or 1 to 36 graphics files. The user will then know whether they have made a correct guess or not.  The user will then tap a "Correct" or an "Incorrect" button on the bottom of that same screen to record their accuracy in predicting.  After they do so to record their success (or lack of it), by pressing either the Correct or Incorrect button, the original intro jpg graphic file will again reappear automatically.  

This process will be repeated 50 times.  After 50 such uses the program will automatically display some statistics about the 50 attempts. 

Detailed actions of the program and the required statistics gathering are described in these steps 1 to 7 below:

A statistics history function is also required which is described in step 8.


1. Files

The program will store 39 jpg graphics files supplied by me.  They will have names with numbers like 0, 00, 1, 2, 3, up to 36, plus an intro file. See the complete filename list below.  Size: 8K each, 300 x 150 pixels.  The ones numbered 0, 00, and 01 to 36 will depict the 38 possible result positions on an American roulette wheel.  Thus each graphic file will have a characteristic of either green, red, or black.  To indicate this, files below with filenames beginning with B represent black.  Files beginning with R represent red. Files beginning with G represent green.  

This program will not be concerned with the individual roulette numbers.  It will not record or gather statistics about numbers.  It only cares about the result colors of red, black, or green.

B02.jpg
B04.jpg
B06.jpg
B08.jpg
B10.jpg
B11.jpg
B13.jpg
B15.jpg
B17.jpg
B20.jpg
B22.jpg
B24.jpg
B26.jpg
B28.jpg
B29.jpg
B31.jpg
B33.jpg
B35.jpg
R01.jpg
R03.jpg
R05.jpg
R07.jpg
R09.jpg
R12.jpg
R14.jpg
R16.jpg
R18.jpg
R19.jpg
R21.jpg
R23.jpg
R25.jpg
R27.jpg
R30.jpg
R32.jpg
R34.jpg
R36.jpg
G0.jpg
G00.jpg
intro.jpg


2. Startup

Upon being invoked as an application on the iPod, the program will display the intro jpg file on the iPod held vertically.  At this time the program will wipe out any previous totals from previous usage.  

The screen's background color for this and all ensuing screens, except for the white final summary screen, will be black.

It will then do steps 3 through 5, 50 times.  After 50 repetitions, it will jump to Step 6 below and display statistics.

Also, at the bottom of this intro jpg screen, for the very first time the program is activated (not during all 50 uses of it, in other words) a HISTORY button must appear which can be tapped to display a history list of all the past statistics displays sorted by date and time.  This is described in step 8 below.




3. User Shake Action and Random File Display

While the intro jpg file is being displayed, when the program detects a screen shake user action, it will immediately and randomly display one of the 0, 00, or 1 to 36 graphics files instead of displaying the intro jpg graphic. 

True randomness among the 38 possible results is important here.  The file displays must be completely unpredictable across repeated runnings of the program.  Each invocation of the program must produce a new completely random choice of files.  Nor can the program begin by displaying the same file every time when it starts up.


4. User Use of "Correct" or "Incorrect" Buttons

So now a results file is being displayed, selected randomly by the program from among the thirty-eight 0, 00, or 1 to 36 graphics files.  Also displayed in the two bottom corners of the screen below that jpg file will be two small user action buttons.  The two buttons will represent "Correct Guess" and "Incorrect guess."  These small buttons will show no text, but just a check mark (to signify "Correct") and an X (to signify "Incorrect").   

At this point the user will already know whether they have guessed correctly or not.  The user will thus tap one button or the other to indicate the success of their guess or the lack of it.  When they do so and the program recogizes the use of one or the other of these buttons, the program will then immediately return to the display of the intro jpg file as in Step 2 above.  However, before doing so, the program will first record and total up the statistics (a) to (k) shown in step 5 below regarding the file just displayed and the button just pressed.  

Also on this screen, at the bottom, in the middle between the "Correct" and "Incorrect" buttons, will be displayed an "End" button which will enable the user to immediately end the program, at any time, without producing or receiving any ending-statistics page.

The randomly selected file will stay displayed on the screen permanently, until the user presses either the "Correct" or "Incorrect" button. It will not go away by itself nor time out.  All screens displayed by the program will always stay on the screen permanently, and the program will stay active indefinitely, without timing out or going away on its own.

This sequence of a display and then a user button action will happen 50 times.  After the program has counted 50 times, the program will automatically jump to display the summary screen as described in steps 6 and 7 below.


5. Required Statistics Gathering

Here are the statistics for actions that must be recorded after every press of a "Correct" or "Incorrect" button:

(a) If the "Correct" button was pressed, the program will add one to the "Correct" total for the colors of either green, red, or black, depending on the color characteristic of the file which was just randomly displayed.  For example, if the "Correct" button was just pressed and the last randomly displayed file was B02.jpg, which represents black, then a count of one would be added into the "Correct" total for black. 

(b) Similarly, if the "Incorrect" button was pressed, the program will add one to the "Incorrect" total for either green, red, or black.

(c) The program will maintain a count of the longest consecutive number of "Correct"s which were pressed in an uninterrupted series during the entire run of 50.  This means the longest number of "Corrects" in a row which was achieved.

(d) Similarly, it will maintain a count of the longest consecutive number of "Incorrect"s entered in a row during the run of 50.

(e) The program will maintain a count of the total number of "Correct"s which were pressed during the run of 50. This is not "in a row," it is just the total of all the "Corrects."

(f) Similarly, it will maintain a count of the total number of "Incorrect"s pressed during the run of 50.

(g) The program will maintain a count of the number of "Incorrect"s which occurred for graphics with red characteristics during the run of 50.  Meaning the "Incorrect" button was pressed and the graphic file result was red.

(h) Similarly, it will maintain a count of the number of "Incorrect"s for black which occurred during the run of 50.

(i) Similarly, it will maintain a count of the number of "Incorrect"s for green which occurred during the run of 50.

(j) The program will maintain a count of the total number of greens displayed during the run of 50.  This is simply the total number of times either G0.jpg or G00.jpg was displayed during the 50 random file displays.

(k) The program will maintain a count of the total number of times an "Incorrect" was pressed during the run of 50 up to and just before the first occurrence of five or more consecutive "Correct"s being achieved.  At that point, if five or more consecutive "Correct"s are achieved, this count will stop.  If five or more consecutive "Correct"s are never achieved during the run of 50, then this number will actually represent the total of all "Incorrects" from that run.  Again, this total of "Incorrects" stops the first time that five "Corrects" in a row are achieved.  We ignore the fact that five or more "Corrects" may indeed be achieved again and again, later in the series of 50.


6. Ending Statistics Summary Screen

After the 50th entry by the user, the program will not automatically return to step 2 as usual to display the intro jpg file again.  Instead, it will display horizontally on the iPod a text black text-on-white summary screen.  This will show totals and statistics derived from (a) to (k) above.  See step 7 for the details of these statistics.  The summary will also be saved and its date and time of creation entered into a history list as described in step 8.

This statistics summary screen will have two buttons at its bottom: "End" and "Restart."  "End" will simply end the program.  "Restart" will wipe out all totals and go back to step 2 to begin a new sequence of 50 uses.  If it goes back, then vertical use of the iPod will resume, as in step 2.  

The statistics display will remain on the screen until either the "End" or "Restart" button is pressed.  

The text of the statistics will be all capital letters, in a sans-serif font, such as Arial, in bold, and will be as large as possible to utilize the entire span of the now-horizontal iPod.  Easy reading without reading glasses is essential here.


7. Ending Summary Layout

The ending statistics summary page display must show these 10 items, in this order, using this exact text.  The numbers themselves should form a neat column, as shown below.  The entire horizontal width of the iPod screen should be utilized.

Longest Corrects in a row:    nn
Longest Incorrects in a row:  nn 
Total Corrects:               nn
Total Incorrects:             nn
Incorrects on Reds:           nn
Incorrects on Blacks:         nn
Incorrects on Greens:         nn
Number of Greens shown:       nn
Overall Percent Correct:      nn%
Incorrects before 5 in a Row: nn


8. Ending Summaries History

When the program is first started, before the first shake by the user, below the intro jpg file display, the screen must also display a HISTORY button at the bottom center.

Tapping that button must display a scrollable list of black-on-white text lines, in descending date and time order, from most recent down to oldest, showing the Dates and Times of all previous statistics summaries generated and saved by the program.

Tapping an individual line in that scrollable list must bring up on the screen its summary as it originally appeared according to its original layout as described in step 7.  Each individual summary display, when it then appears, must also have two buttons below it.  They are buttons which do not appear during the regular usage described in steps 6 and 7.  They are buttons which replace the "End" and "Restart" buttons normally appearing below a summary during normal use.  They are: a BACK button which returns the user to the list, and a DELETE button which deletes that particular entry from the list and then also returns the user to the list.

If necessary, the amount of storable and listable summaries here can be limited due to storage considerations, as long as I am informed of, and approve of, the limit.  The limit should be in excess of at least 500 however.


Summary:  Program deliverables will be a Cydia-installable and executable application package plus all source code.  

  • All deliverables must be uploaded to Rent A Coder before the deadline(s) for this bid request...with no exceptions. If this contract makes it impossible for a competent person to do this, then do not start this bid request...but instead alert Rent A Coder of an un-arbitratable, illegal bid request.
  • Remember that contacting the other party outside of the site (by email, phone, etc.) on all business bid requests <$500 (before the buyer's money is escrowed) is a violation of both the software buyer and worker agreements. Rent A Coder monitors all site activity for such violations and can instantly expel transgressors on the spot, so we thank you in advance for your cooperation. If you notice a violation please help out the site and report it. Thanks for your help.
Categories:
(Note: Like everything else on this page, these categories are part of the original contract for this bid request.)
C++ / C, Software related (includes websites), IPhone