-------------------------------------------------------------------------- NEW! in version 3.7 -------------------------------------------------------------------------- Version 3.7 fixes a small bug that seemingly appeared at random, and in only a small number of cases. This bug did not appear to occur in normal die rolls, but only in a small number of calculations that attempted to add a single pair of numbers, in which one of the numbers was negative. DICE! now has a spiffy new evaluation routine that seems to be working very well without any bugs. -------------------------------------------------------------------------- DICE! -------------------------------------------------------------------------- DICE! is a die rolling program for Windows 3.1 that is probably unlike any other die rolling program that you have ever tried. There are no artificial restraints on the number and type of dice you can roll, no unnecessary pointing and clicking all over the screen just to roll 3d6 one time and 3d4+3 the next. If you want to roll 3d6 + 3d4 + 2d8, you can. How about 2d20 - 1d30? You can roll that too. 99d3? 11d9 + 14d13+5? Yes, these too. Unlike most die rolling programs, you are not limited to the types, numbers, and combinations of dice and bonuses/penalties that *I* decided you will probably be needing. You can roll the types, numbers, and combinations of dice, along with the bonuses/penalties for each, that you *actually* need. Better yet, you can also define custom types of dice, so that you can make up dice to roll any range or arbitrary sequence of numbers. DICE! does not consider custom dice to be anything as ridiculously mundane as a simple range of one to the number of sides the die has, since this is handled automatically as a normal die. So, a die written like d9 would be considered a normal die with 9 sides, and a die written like d33 would be considered a normal die with 33 sides. Custom dice are reserved for dice that should return results from ranges outside of 1 to something, or that should return results that use a set of numbers that isn't a consecutive sequence. See below for more info on custom dice. Read on for more details. -------------------------------------------------------------------------- How It Works -------------------------------------------------------------------------- The way it works is very straight forward: you just type in the roll you want to make, just the way it appears in most game books. Those example rolls from a couple paragraphs up show you exactly what you'd type into the program to get just those rolls. No need to click around for a few minutes just to change your roll parameters; just type it in. Also, unlike some of the other die rollers that I tested before creating this one, DICE! actually generates a number for every single die rolled; it does not just roll a random number in the possible range of results. This means that any bell curve results are retained when using DICE!, just as if you had actually rolled real dice. By checking the See All check box, you can see a text box which contains the sequence of rolls that gives the final result. NOTE: This additional information is only available for rolls that were made while See All was turned on. Each part of the sequence is shown totaled on a separate line of the text box, so you can see the total for each individual part of the roll. This means that a roll of 3d6-1d6 would appear in the text box something like this: 3d6= +3+2+4= 9 1d6= +3= 3 Calc: 9-3= 6 The total result of each die roll is shown on at the end of the line, and the total of the whole sequence is shown at the end of the Calc: line at the bottom of the text box. The Calc: line at the end of the text box shows how the results of the rolls are put together, along with any other calculations, to get the final result. You may also do simple calculations from the Die Value combo box, including calculations that involve one or more die rolls. To perform a calculation, just type it into the Die Value combo box, and hit the Roll button, just like you would roll some dice. This will find the result of your calculation. You can combine calculations with die rolls, so you can now have a die sequence like this one: (2d6-2)*2+2*d6 DICE! will roll all dice first, before anything else, putting the results back into the calculation, and will then perform any other calculations following the standard order of operations, which is: parenthesis: () multiplication and division: */\ addition and subtraction: +- If you use parenthesis, they will be evaluated from the innermost set to the outermost set. When more than one set of operators of the same level of importance are involved, they are evaluated left to right. In previous versions of DICE!, you could not roll a random number of dice because it did not understand two die types put together. Now, if you want to roll a random number of dice, you can, by using a die value similar to this: 1d6d6 This will give you 1d6 rolls of a d6. The See All results from this roll might look something like this: 1d6= +3= 3 3d6= +1+6+4= 11 Calc: 11= 11 From this you can see that the program first rolled 1d6, came up with a result of 3, and then used the 3 to roll 3d6. This will not work if either of the die types is enclosed in parenthesis. You can now also roll each digit of a multi-digit number if you wish to do so. However, because DICE! will roll a random number of the die type if you just put the die types side by side, you need to put every other die type (at least) in parenthesis; this will cause DICE! to see each result as a separate digit. For example, if you wish to generate a three digit number that has a range of 1-4 for the first digit, 1-6 for the second digit, and 1-10 for the last digit, you would enter: d4(d6)d10 This would give you a See All result that might look like this: d4= +2= 2 d6= +5= 5 d10= +7= 7 Calc: 2(5)7= 257 Using this same method, you could put any digit you wish at the front of a result just by putting it at the front of the Die Value text, with the rest of the Die Value text in parenthesis, which might look like this: 2(2d6) with a possible See All result of: 2d6= +4+5= 9 Calc: 2(9)= 29 NOTE: As you may notice, you must use a multiplication sign (*) to get DICE! to multiply. Unlike standard math, DICE! does not see a number before a set of parenthesis as meaning multiply that number by the number inside the parenthesis. If there is some reason DICE! can not complete a calculation, such as an unbalanced set of parenthesis (you must have the same number of left and right parenthesis), then DICE! will give a result of . Custom Dice ----------- You can define custom dice, with each die type being defined as an arbitrary range or list of numbers. For example, you could define a die called 'd00' as being a range from 0 to 99, a die called 'dSwing' as being a range from -49 to 49, or a die called 'dBit' as a list of possible numbers like '0,1,2,4,8,16,32,64,128'. While the range can be simulated in many cases by using the calculation ability of DICE!, it is often more convenient to define a new die type than constantly typing in the calculation to get the range or list of numbers that you want. You create a defined die by using the Define Die Types dialog, accessible from within the Preferences dialog, as discussed below. -------------------------------------------------------------------------- Preferences Dialog -------------------------------------------------------------------------- The Preferences dialog is broken down into two main frames, with a couple of items that don't fall into either frame. When you click on the Okay button, all changes will be saved and you will be returned to DICE! If you change your mind, you can click on the Cancel button to return to DICE! with no changes of any kind saved or used by the program. The first frame is where you add, edit, and remove custom die definitions. To add a new die definition, click on the Add button and the Define Die Types dialog will come up with a blank name and sample entries for Range and Number List definitions. Enter a Die Name, then click on Range to define a range of numbers, or click on Number List to define a list of possible results. Enter the Low end and High end of the range for a range, or enter a list of numbers separated by commas for a number list. Then click on the Okay button to accept the new die definition. If you change your mind, click on the Cancel button to return without changing anything. Only the values in the section that is active will be used for the definition of the new die, so don't worry if there is something in the Range section if you are entering a Number List definition; it will be ignored. To edit a current die definition, click on the definition to edit, then click on the Edit button. The Define Die Types dialog will come up, with the information for the die definition you selected filled in the appropriate areas. Change what you need to, then click on Okay to save the changes and return to the Preferences dialog. If you change your mind, click on the Cancel button to return without changing anything. To remove a current die definition, click on the definition to remove, then click on the Remove button. Please note that the die definitions are displayed in a list box, so they can not be edited without using one of the editing buttons. The second frame is where you control how DICE! handles adding items to the Die Value drop down list. If you check the Auto add Die Value entries check box, entries that you enter in the Die Value box will be added to the drop down list. If you check the List new entries first check box, newly added entries in the drop down list will be added to the top of the list of items, otherwise they will be added to the bottom of the list. The scrollbar allows you to change how many items DICE! should keep in the drop down list. Setting this value to 0 will make DICE! not bother to add new items to the list, but it will not affect any items that may have been added from the Always Add on startup box. The Always Add on startup text box allows you to enter values that you always want to add into the drop down list when the program starts. The first item in this box is the one that will automatically be rolled when the program starts. Since this is a text box, you can edit the text in the box as you see fit, and cut and paste bits of text within the box. If you check the Keep Always Add items in list check box, then DICE! will try to keep all of the Always Add items in the drop down list box all the time. The order in the drop down list will be the same as the order they are entered in the Always Add on startup box. If the List new entries first check box is also checked, the Always Add items will stay in the bottom positions of the drop down list, otherwise they will stay in the top positions of the list. In the lower left corner of the Preferences dialog is the Stay on Top check box that used to live on the main window. Checking this box will have DICE! stay on top of any other windows you may have open, except other DICE! windows (so you can see what you are changing, of course). Also, this option used to turn itself off when you minimized DICE!, but that has now been corrected, and it will send itself to the top once again when you restore it from its minimized state. Below the Stay on Top check box is the Current default die type box. Enter a valid die type here to change the default die type (what DICE! uses if you only enter a 'd' with no type). Any valid die type can be used. Be aware that entering an invalid type may not crash the program, but will probably cause some unusual and potentially irritating problems. Previous Versions ----------------- If you have a DICE!.DAT data file from previous versions of DICE!, you will be able to delete it now and use the Preferences dialog to maintain everything from within the program instead. Before deleting the DICE!.DAT file, though, run DICE! once first, so that it can read the entries from your data file and integrate them into the new structure (a combination of the .INI file and a .DEF file). Once the entries from your DICE!.DAT data file have been integrated, you can safely delete the file. Nothing bad will happen if you don't delete it, but it may slow down how fast DICE! loads. -------------------------------------------------------------------------- About... -------------------------------------------------------------------------- You can get to the About dialog (for version and other information) inside DICE! by clicking on the icon or copyright information at the bottom of the main window. -------------------------------------------------------------------------- VBRUN300.DLL -------------------------------------------------------------------------- This program requires VBRUN300.DLL, which is not included in the .ZIP file that you downloaded. VBRUN300.DLL is required by a large number of free and shareware Windows programs, so chances are good that you already have a copy. If you don't, it is freely available from many BBSes and all the major online services. -------------------------------------------------------------------------- That's All! -------------------------------------------------------------------------- That's everything there is, so thank you for looking at DICE!. If you have comments, problems, or suggestions, please feel free to drop me a line at the e-mail address listed below. Armin D. Sykes armin@misersoft.com