Snooker Scoreboard prototype ver1.0, for the Psion Series 3a, by: Ken Peters Copyright 1995. This application is Shareware and may be freely distributed as long as all the files are passed on in their initial state and no fee is accepted for doing so. If you are still using the package after 30 days you are obliged to register as noted below, else the appropriate files should be removed and no longer utilised. This application was written as a programming exercise as well as for pratical use for myself. Primarily this is meant for a 2 player situation but could be used for 2 teams playing each other. There are minor limitations in the unregistered version as noted below. All comments welcomed by various communication methods as you so desire. e-mail... kenny.peters@dundee.attgis.com phone.... (44) 01382 592281 voicemail available if I am not their or on the phone. post..... Ken Peters 38, Invergowrie Drive Ninewells Dundee Tayside Scotland DD2 1RE Registration is a mere 5 pounds sterling and will entitle you to a 'nag free' version, which will also have some extra functionality and less limitations. Please include an email address for me to send the software to. For the hackers out there, rather than trying to remove the nags etc... why not spend time generating worthy software for the Psion and let us benefit from your superior skills. To install the Snooker Scoreboard you will have to unzip the snooker.zip file (if you haven't done so already). Files included README.TXT the file that you are reading now SNOOKER.OPA the file which will enable the Snooker Scoreboard copy SNOOKER.OPA into the \APP\ directory and install using Psion+I when at system level (refer to user guide for instaling 'New Applications') Run the Snooker application by highlighting 'Snooker' and press enter. Input players names - max 10 characters each Enter the number of frames you intend to play (best of X frames) valid range is 1 to 5 for unregistered version and 1 to 999 for the registered version. Choose how many reds will be on the table at the start of the frame, valid numbers 1,3,6,10,15 (triangular step) - the start of each frame will ask this again (just in case you are going to have a short frame and use less reds than previous frames!) You will then see the main layout of the Scoreboard, information contained on screen are as follows: Current break - when you start to score points this will increase until the end of your break Balls in break - how many 'strokes of the cue' you have made to obtain you current break (see multiple red pot) Pts on table for you - the amount of points remaining on the table that you could score (if taking blacks with reds) and all the colours in sequence (handy for working out when opponent will need snookers) Max pts for opponent - the most points remaining on the table for your opponent Highest break so far - (initially 'grey') highest break during the GAME, this changes to 'black' writing when during the FRAME you exceed your previous highest break of the GAME so far Score - your current score (this includes you current break value) Frames - the amount of frames you have won so far Above the snooker table you will see a message, this message lets you know what ball you should be going for with your next shot, RED, COLOUR or YELLOW, GREEN, BROWN, BLUE, PINK, BLACK - COLOUR merely indicates that you have potted a RED and the computer isn't quite clever enough to know what you will go for next! A nice little snooker table showing the colours on their spots (handy reminder of the way the balls are setup at the beginning!) and a triangle indicating that reds are on the table and a number to the right of the triangle showing exactly how many reds remain on the table. As the reds are potted the number will decrease. Multiple red pots and fouled red pots, and freeball reds are catered for! A 'snooker cue' pointing to the current player at the table. Player names A key window - this indicates the valid KEYS (or shifted KEYS) to press for a desired functionality. (This window will move from player to player and so reveal information underneath which the relates to the current player...press * a few times and you will see what I mean) (see later for leadthrough on the KEYS and functions) [for the unregistered version] At this time the cue will always point to player one for the first frame, player two for the second frame and keep swapping for each frame start. (one of the areas which may be automated for later versions). If you have decided that player 2 will break for the first frame either restart the application and change the players around or at the start of each frame you will have to indicate end-of-break to swap the cue to point to the correct player (I would suggest restart the application, much easier!!!!) [the registered version using the random number generator to select a player to break in the first frame!] Through playing the frame you will notice other information coming on the screen such as you need snookers to value X, your opponent needs snookers to value Y use this information to your advantage any feedback on this function would be appreciated as I want to enhance this bit to peoples need! USING THE SCOREBOARD At the start of the game of snooker ensure that the cue on screen is pointing to the current player at the table. When a players break is over press the * key without any other key and this will swap the current scoring to the next player. During a break the ball potted (without a foul condition) should be input by pressing the appropriate KEY indicated in the KEY window........CAPS LOCK MUST BE ON (I have not masked key presses yet!) ie for a RED just press the R key and a score of 1 will be added to current player's break, balls in break will increase by 1, reds on table will decrease by 1, score will increase by 1, max pts on table for opponent will reduce by 8 (as a red and black opportunity for the opponent has been removed red + black = 1+7 = 8) however your pts on the table will only decrease by 1 as you still have an opportunity to pot the black after the red. Once you have potted a red you can pot any colour that you are going for (nominated) the message COLOUR will appear above the snooker table on the screen, to let the computer know which ball you have potted use the KEY window to help you (you will get used to the KEYS through use) yellow - Y green - G brown - N blue - E pink - P black - B Once all reds are potted and the final colour with the red has been potted or missed the colours name will come up on screen in the correct sequence to let you know which ball is next. The ball marker on the table will disappear when the colour has been potted and the next colour name will appear. The appropriate scoring will continue. Potting or fouling on the black when it is the only ball left on the table will result in end of frame and the appropriate action will decide the winner (most points!). [For the registered version only, a message will appear when only the black is left on the table and the difference in scores is more than seven points - either you cat't win now, or, you can't lose now.] If it is a draw after potting the black, respotting will occur and sudden death rules will apply again, thus the winner will be decided. You can chose to end the FRAME at any time by pressing '^' (SHIFT + 6) this will work out the highest score, if the scores are level the suggestion will be to respot the black! Once the end of frame has been selected there is no turning back (you did press to keys at once to do this remember!) You can chose to end the GAME at any time by pressing '!' (SHIFT + 1) this will work out the winner or if it is a draw. There is no turning back once this selection has been made. FOULS If a player fouls enter this condition by pressing '?' (SHIFT + 8), this will bring in a dialog screen which will ask you for the foul value minimum calculated from balls on the table, maximum 7. Input the value by pressing the appropriate number key or by using the '<' and '>' keys. The foul value input will be added on to the opponent and the break will end and thus the cue pointer will swap to the other player. MULTIPLE RED POT It is sometimes possible to pot more than one red at a time (this is not a foul) if this happens the 'M' key may be used, not the R key. The 'M' key will signal that a multiple red pot has occurred. You will be asked to input the number of reds potted a zero value can be input here (just in case you hit 'M' in error) this will cause no problems. Enter the number of reds potted and the scores etc will be catered for with ease! SPECIAL (potted red but foul at the same time) If a red (or more than one red) is potted but at the same time a foul is committed then the red stays off the table and the foul value is given to the other player and the break ends there. To indicate this option press the 'S' key. A dialog similar to the Multiple Red Pot situation will appear, again, an entry of zero will cause no problems. If a foul has occurred with a red pot firstly use this 'S' special routine to let the computer know to decrease the red ball count and then after this stage enter the foul routine by pressing '?'. This will handle the foul value input. (I have written the program in this way to allow removal of reds from the table without foul associated as sometimes if a game is dragging on and you want to speed things up a little you may choose to take some reds off the table, thus you can do this without upsetting the scoreline or who is at the table!) FREEBALL After a foul the next player may be left with a freeball situation. If, and only if, the freeball is POTTED the '=' (SHIFT + '+') key should be pressed. A 'FREEBALL' message will appear on the screen and the next ball required by the current player will be indicated on the screen. All scores etc will be catered for correctly. The freeball nominated and potted returns to the table on its correct spot. Future enhancements if this is wanted by you out there ........... things I am thinking about doing o Break history for each player for each game, with separate graphics representation of the history. o Working out the number of reds/colours and/or points required to leave you opponent needing snookers. o Change to snooker table to tidy it up a bit to make it look more like a real snooker table (ie put the pockets and cushions in place!) o Make the player's score in the format of a snooker scoreboard? o Introduce a Psion-X quit option o Time limited option rather than frame limited - and use break history with timestamp! o Calculate cost of you game if you input the cost per hour! o General tidy up of program paramters etc... If you have any suggestions that I think are very worthwhile I will send you a free 'registered' copy version. Any bugs you find will be dealt with at great speed and a free 'registered' version could come your way (assuming I fix the bug and place the upgrade into the 'registered' version!) Hope you enjoy using this as much as I enjoyed writing it.