============================================================================ Yacht-Zee!, v1.50 README! by Dotoran of Frontiers BBS ============================================================================ If you've ever played the dice game Yahtzee, then you'll know this game. This is a dice game played with five dice. Complete rules are included within the game itself, so I won't rehash the rules again here. To install the game, simply place the "Yacht-Zee" Arexx Command file somewhere on your system, like in your DOORS: directory. You should set it to run as an ARexx Pfile/Door. NOTE: This door uses 24 ROWS to create the Game Display, instead of 23, which is used by most other "stationary" types of games. Ken Pletzer made a change in the way he calculated the raster display used for the LOCAL MODE display for SysOps using 640x200 displays. In order to play this game CORRECTLY, you will have to slightly increase the value of your vertical dot rows using the "ScreenMode" preferences utility of your WorkBench. It will most probably be set to 200. You'll need to increase this value to 203 or 205 dots in order to correctly view the game screen. This is NOT a bug in Yacht-Zee, but in CNet Amiga itself. Once run, a second file "Yacht-Zee.Highs" will be created in the SAME path you chose to store the Yacht-Zee command file. This file contains the Top 6 Highest Scores for the game. NEW: Newer error handling is now in place. v1.10: There was an error in the BONUS AWARD coding that would NOT give the : player their bonus if they exceeded 63 points. Now fixed! :-) : The random statement is now seeded ONCE at the start of the game, so : you should see a slightly different angle to the randomization. I'm : referring to the FIRST method of rolling the dice. : I didn't include the High Scores file this time, so your users can get : a chance to become the "masters of the game", instead of trying to : beat my scores(or scores from my users). NEW: Smart Path & Even Newer Error Handling now in place. v1.50: There is now a "R"eDraw command, which will redraw the entire screen : in the event of line noise or some other screen corruption! : Since adding the "R"eDraw command completely filled the little window : used to display the available commands, I decided to up the number : of High Scores from 5 to 6 to balance out that window as well. ;-) : The game now begins using those other two columns! ;-) Well, not in : a way I describe below, but I'm getting there! Now, when you opt : to play another game, the scores for the next game will appear NEXT : to the scores you received from the last game. When you complete : playing your third game, if you opt to continue to a 4th game, the : scores for your 1st game are erased, keeping the last 2 game's scores : available for comparison during your 4th game! ;-) Presently, v1.50 only uses the Top 6 Scores as a way of beating another player, although you'll notice columns for two additional players. In a future version of this game, I would like to see two additions: - One or Two Computer Opponents to play against. - Ability to play Yacht-Zee! "head to head" against another port. These additions will take awhile to complete, so I decided to release this version as a "stand alone", single player game. I believe it to be the best game of it's kind written for CNet Amiga, but if you know of a better one, please let me know as I'd be interested in taking a look at. ;-) Lastly, I'd like to talk about the dice for a minute. There are two dice routines in this game. The game is set to use the second of these two routines, but you may wish to use the first... Generally, to "roll" a die, the computer simply needs to select a number between 1 and 6. This game uses a string of numbers: "123456" to accomplish this task. The first randomization method(the one NOT set by default), simply takes a random number out of this string to use as the dice value. This is ok, until you begin to look at the "big picture" of dice throws way down the line. If you're familiar with the "bell curve" basis in statistics, then you'll begin to understand what happens. The computer has a better chance of choosing a number in the MIDDLE of the range 1-6 than it does picking from one extreme or the other, so lets say you rolled 1 die 100 times, the results might look like this: 33x 34x # # 12x # # 11x # # # # 4x # # # # 6x # # # # # # 1 2 3 4 5 6 It's easy to see in this diagram that you have a better chance of rolling 3's and 4's than you do 2's and 5's, while it's almost impossible to roll a 1 or a 6. That's what makes the first method not very effective for a good dice routine. The second method(the one used by DEFAULT) is similar to the first, but something happens BEFORE the random number is chosen. We still start with the "123456" string, but we toss in the random possibility that the string may not follow the same ORDER all of the time. Here's what I do for this new method of "rolling" the dice: - First, choose a random number from 1 to 6. (Remember this number. We'll call it "A".) - Now, using the "123456" string, take the LEFTMOST "A" numbers, and MOVE them to the RIGHT side of the string. - NOW, choose a random number from this string, just as above. So, lets say 2 was the random number chosen, the string would look like this: "345612" before the first random number was chosen. I do this at the beginning of every FIRST THROW, so the ORDER of this string CHANGES at the beginning of every turn. "BELL CURVES" are still being created, but NOW the High's and Low's will be different for each curve. If anyone knows of a BETTER way to write a DICE routine, PLEASE let me know! This was the best I could come up with, but who knows! - Dotoran ============================================================================ Surf Much? If so, try out my waves: http://www.bluemoon.net/~dotoran ============================================================================