.topic About=0 YahWho Ü Yet Another Yahtzee(tm) Game ßßßßßßßß YahWho was written in Borland Pascal version 7 using the Turbo Vision 2.0 event-driven development environment. The author is Keith Greer, with thanks to Tom and Guy Hunter for some of the original concepts and algorithms. YahWho is a dying breed of program, designed to run nicely on nearly any IBM compatible machine however lowly, under plain old DOS. Although a CGA card would be nice, this game even supports Monochrome mode or LCD! Using this Help System: You may access help at any time by pressing F1 or clicking the help command on the status line. Highlighted text are key words or phrases which can take you to more help on that subject. Each keyword can be selected by using the Tab or Shift-Tab key. When the keyword you want is selected, press Enter. Using the mouse, just double-click the keyword you want. You may zoom the Help Window to full-screen by pressing F5 or clicking the Zoom icon in the upper right corner. Press ESC or click the help window close icon in the upper left corner to close the help window and return to the game. {Contents} {Using Turbo Vision:TVision} .topic Contents Contents Ü ßßßßßßßßßß {About} {Using Turbo Vision:TVision} {Starting the Game:GStart} {Rolling the Dice:Roll} {Scoring:Score} {Ending the Game:GQuit} The Menu Bar: {Game} {Dice} {Scores} {Options} {Windows} .topic TVision Using Turbo Vision Ü ßßßßßßßßßßßßßßßßßßßß In case you've never used a Turbo Vision program before, here are a few things about operating the program that will come in handy. First, notice that when YahWho is started, the screen has a command line (menu) at the top, a status line with some commands at the bottom, and a background in the middle with an "About" box containing program information and memory availability. Commands may be issued to the program either through the keyboard or mouse. The menu may be activated by pressing F10 and then using the arrow keys to highlight an item. Press Enter to select it. Using the mouse just point to the desired menu item and click. Clicking on items on the status line or pressing the indicated key will perform those commands. Letters or keys on the menu or status line which are highlighted indicate that item's "hot-key". Press and hold Alt in conjunction with that key to activate the command. For example, Alt-X will terminate the program and return you to DOS or whatever was running when you started YahWho. Some items may be "grayed out" at times, indicating that command is disabled. For example, the "Roll" command is disabled unless there are dice visible and at least one of them is selected for rolling. At times, you will see a "dialog box" similar to the "About" box at the beginning which demands your attention. It may be simply a message with information or a warning, or it may require you to type in some information. There will be at least one button for you to click to respond to the box and put it away. You will not be able to do anything else until you do. If more than one item is available for selection, pressing Tab will rotate through each one, highlighting it in some way. When the item you want is highlighted, press Enter to select it. Of course, with a mouse things are a lot simpler - just point to it and click! Feel free to experiment. You can't hurt your machine, and YahWho can't write over any information on your drive. Try clicking on anything on the screen. Try "dragging" with the mouse. Dragging means to point to an item, hold down the primary button, and move the mouse. Have Fun! {About} {Starting the Game:GStart} {Contents} .topic GStart Starting the Game Ü ßßßßßßßßßßßßßßßßßßß YahWho is a standard variation of the Milton-Bradley Yahtzee(tm) game. Any number of players can participate. To begin, put the "About" box away by pressing ESC or clicking it's green close icon in the upper left corner. Click on {Game} on the Menu Bar, then {New Game:GNewGame} on the pull-down menu. A dialog box will prompt you for the player name, not to exceed 10 characters. Type it in. You may use the arrow keys and Ins/Del to correct any typing mistakes. Click Ok or press Enter to open the new Game Window. The player's Window is identified with their name at the top. Each new player is added to the current game using F2. A player may join a game in progress at any time, and receives his or her own Game Window. Each player's game proceeds completely separate from other players. (The advantage of Event-Driven programming!) No particular playing order need be followed. The F3 (Next Player) key rotates forwards through each player in the game in a circular fashion. Shift-F3 rotates backwards through the player order. Each player's window is identified by a number in the upper right corner. If a player knows their window number, they can bring their window up immediately by holding down Alt and pressing the window number. {Contents} {Rolling Dice:Roll} .topic Roll Rolling the Dice Ü ßßßßßßßßßßßßßßßßßß The game scoreboard is on the left, and the space for the dice is on the right. The Roll command is active on the status line indicating you are ready for the first roll. Click the Roll command or press Enter (Ù). Your first roll appears. Notice that with each roll, the score items light up on the scoreboard indicating that you will receive at least some score (i.e. not 0) for those items for this roll. If you want to reroll certain dice, point to the desired dice with the mouse and click. They will be highlighted indicating they are selected for rerolling. If you change your mind, simply click them again to deselect them. Using the keyboard, you may press the number of the desired dice (1-5) to select/deselect them. When all desired dice are selected, activate the Roll command again. Hint: All the dice may be selected by double-clicking the frame surrounding them or by pressing F4. Clicking the frame once will deselect them all, as will pressing Shift-F4. {Contents} {Scoring:Score} .topic Score Scoring a Roll Ü ßßßßßßßßßßßßßßßß Per Yahtzee rules, you are allowed 3 rolls before you must score. After your third roll, the Roll command is deactivated until you select a score on the scoreboard. You may place a score at any time before the third roll. Just point and click on a score. Using the keyboard, first make sure the scoreboard is "active" (has a double line box around it). If not, press Tab to deactivate the dice and activate the scoreboard, and then select the number or letter hot-key for the score you want. After scoring, you may select the Roll command again, or allow another player to take a turn by pressing F3 or clicking on "Next Player" on the status line. If you have previously scored a Yahtzee and roll another one, you must have a valid open score position to receive the 100 point bonus. For example, if you had a Yahtzee scored, and then roll another Yahtzee of say 2's, you must have either 2's, 3 of a Kind, 4 of a Kind, or Chance open and score the new Yahtzee in one of these. If you do, the Yahtzee score will be incremented by 100 each time this occurs. When all scores have been filled in, this player's window is deactivated. When all other players participating in this game have their scores filled in, the Game is over and YahWho will report the winner. Players whose score exceeds the minimum score in the Top 10 list will have their score recorded there for posterity even if they didn't win the game. Players whose score exceeds 300 will enter the Hall of Fame. {Contents} {Ending the Game:GQuit} .topic GQuit Ending the Game Ü ßßßßßßßßßßßßßßßßß A player may leave the game in progress at any time by clicking the green close icon at the top left of their own Game Window. A confirmation will be requested. Remaining players in the Game may play the game to completion. Selecting {Game/New Game:GNewGame} from the menu will abort ALL PLAYERS' games and begin a fresh game. Selecting {Game/Exit:GExit} will abort ALL PLAYERS' games and exit the program. {Contents} .topic MAbout=256 About Ü ßßßßßßß The "About Window" displays at program start-up and shows the program version and other miscellaneous information. You may display it at any time by clicking on the ð icon on the menu bar, or by hitting Alt-Spacebar, then selecting About. .topic Game Game Ü ßßßßßß This menu provides the following items: {New Game:GNewGame} {New Player:GNewPlayer} {Save:GSave} {Load:GLoad} {Exit:GExit} {Contents} .topic GNewGame Game³New Game Ü ßßßßßßßßßßßßßßß This item will start a new game of Yahtzee. If an unfinished game is underway, you will be asked to confirm that you want to quit the current game before a new one is started. If there was a previous game, you will be asked if the same players will be playing the new game. Clicking Yes will cause YahWho to start new game windows for each of the previous players. Clicking No will close the old game windows and prompt for each player's name. {Starting the Game:GStart} {Game} {Contents} .topic GNewPlayer Game³New Player Ü ßßßßßßßßßßßßßßßßß This item adds a new player to an existing game, and creates a new Game Window. A new player may be added to a game in progress at any time before the game ends. {Contents} {Game} .topic DNewPlayer Enter New Player Ü ßßßßßßßßßßßßßßßßßß Type in the name of the new player. You may enter any text, up to 10 characters. The first letter of each word will be automatically capitalized. You may use the arrow keys and Ins/Del to correct any typing mistakes. Click on Ok or press Enter to create a new Game Window with this player's name, or click Cancel or hit ESC to abort entering the new player. {Contents} .topic GSave Game³Save Ü ßßßßßßßßßßß This item will open a {Game File Dialog:FOFileOpenDBox} in which you may enter the name of file you want the current game saved to. This file may be retrieved using the {Load:GLoad} command, and you may begin play exactly where you left off. {Contents} {Game} .topic GLoad Game³Load Ü ßßßßßßßßßßß This item will open a {Game File Dialog:FOFileOpenDBox} with which you can specify the name of the game file you want to retrieve. You may then begin playing the game exactly where it was when it was saved using the {Save:GSave} command. {Contents} {Game} .topic GExit Game³Exit Ü ßßßßßßßßßßß Use this item or its Alt-X hot key to terminate the game. If an unfinished game is in progress, you must confirm that you want to exit the program. Selecting Alt-X on the status line performs this same function. {Contents} {Game} .topic Dice Dice Ü ßßßßßß This menu provides items for selecting or deselecting all dice for rolling. The items are: {Select All:DiceSel} {DeSelect All:DiceDeSel} {Contents} .topic DiceSel Dice³Select All Ü (F4) ßßßßßßßßßßßßßßßßß This item selects all dice for rerolling. Using the mouse, you may also double-click the frame surrounding the dice. {Contents} {Dice} .topic DiceDeSel Dice³DeSelect All Ü (Shift-F4) ßßßßßßßßßßßßßßßßßßß This item removes all dice from selection for rerolling. Using the mouse, you may also click the frame surrounding the dice once. {Contents} {Dice} .topic Scores Scores Ü ßßßßßßßß This menu provides items for displaying the score history, and for resetting the scores. The items are: {Top 10:STop10} {Hall of Fame:SHall} {Reset Scores:SReset} {Contents} .topic STop10 Scores³Top 10 Ü ßßßßßßßßßßßßßßß This item displays the highest 10 scores since the last time they were {reset:SReset}. {Contents} {Scores} .topic DTop10 Top 10 Ü ßßßßßßßß This dialog shows the 10 highest scores since the last time the scores were {reset:SReset}. Click Ok or press ESC or Enter to put the dialog away. {Contents} .topic SHall Scores³Hall of Fame Ü ßßßßßßßßßßßßßßßßßßßßß Members of the Hall of Fame had scores of 300 or higher. You may not erase or reset these scores from within the program. They are recorded here for posterity. {Contents} {Scores} .topic DHall Hall of Fame Ü ßßßßßßßßßßßßßß This dialog shows players whose scores were 300 or higher. These scores may not be erased from within the program. Click the scroll bar or use the arrow keys to scroll the list within the window. Click Ok or press ESC or Enter to put the dialog away. .topic SReset Scores³Reset Scores Ü ßßßßßßßßßßßßßßßßßßßßß Select this item to erase the Top 10 scores if you get discouraged about not being able to join the elite. Note that this does not erase the Hall of Fame scores. A confirmation will be requested. {Contents} {Scores} .topic Options Options Ü ßßßßßßßß This submenu allows you to change any user {preferences:OPrefs} and {colors:OColors}. You may make these settings permanent using the {Save Config:OConfig} option. .topic OColors Options³Colors... Ü ßßßßßßßßßßßßßßßßßß The Colors item brings up the {Colors dialog:OCColorsDBox} box, where you can customize the colors of the display. {Contents} .topic OCColorsDBox Help on the Colors dialog box Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß The Colors dialog box consists of two list boxes, a text display area, the standard OK, Cancel, and Help buttons, and one of the following: þ On color and black-and-white systems, it also contains two color palettes. þ On monochrome systems, it contains a set of radio buttons instead of the palettes. This dialog box is where you can change the colors of different parts of this program. ÚÄ Group ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Desktop ³ ³ Menus þ³ ³ Dialogs ±³ ³ Game Window ±³ ³ Help System ±³ ³ ±³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The Group list box contains the names of the different regions of the program that you can customize. ÚÄ Item ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Color ³ ³ þ³ When you select a group from the Group list, the Item list box displays the names of the different views in that region. Ú Foreground ¿ Ú Background ¿ ³ °±²°±²°±²° ³ ³ ²°±²°±²°±² ³ ³ ²°±²°±²°±² ³ ³ °±²°±²°±²° ³ ³ ±²°±²°±²°± ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ On color and black-and-white systems, you use the Foreground and Background palettes to modify colors. Ú Colors ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ (ù) Mono low ³ ³ ( ) Mono high ³ ³ ( ) Mono underscore ³ ³ ( ) Mono inverse ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ On monochrome systems, you use the Colors set of radio buttons systems to modify the character attributes. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Text Text Text ³ ³ Text Text Text ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ On all systems, the display text (above the Help button) shows the current color or attribute settings. If you wish to reset your colors to the "factory" defaults, select the Reset button. Changes do not take effect on the desktop until you close the Colors dialog box by choosing OK. Remember to save your settings with the {Save Config:OConfig} option on the {Options} menu. {Contents} .topic OPrefs Setting Preferences Ü ßßßßßßßßßßßßßßßßßßßß You may select a mode suitable for your display in this dialog, or set snow checking off for much faster screen writing on newer CGA cards. You may also turn sounds on or off. Be sure to save your preferences using {Save Config:OConfig} on the {Options} menu. {Contents} .topic OConfig Save Config Ü ßßßßßßßßßßßß Use this item to make your colors and preferences remain permanent. {Contents} .topic Windows Window Ü (Alt-W) ßßßßßßß The Window menu contains commands to close, move and perform other window-management commands. Most of the windows in this program have all the standard window elements, including scroll bars, a close box, and zoom icons. For more about windows and their elements, refer to windows. Window-management commands ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  {Tile:WTile}  {Cascade:WCascade} ÄÄÄÄÄÄÄÄÄÄÄ  {Size/Move:WResize}  {Zoom:WZoom}  {Next:WNext}  {Previous:WPrev}  {Close:WClose} {Contents} .topic WTile Window³Tile Ü ßßßßßßßßßßßß Choose Window³Tile to tile all file viewers on the desktop. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÉÍÍÍÍÍÍÍÍÍÍÍÍ1ÍÍ»ÚÄÄÄÄÄÄÄÄÄÄÄÄ2ÄÄ¿ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ3ÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄ4ÄÄ¿ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Tiled Windows {Windows} {Contents} .topic WCascade Window³Cascade Ü ßßßßßßßßßßßßßßß Choose Window³Cascade to stack all file viewers on the desktop. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ1Ä¿ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ2Ä¿ ³³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ3Ä¿ ³³³ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ4Í» ³³³º º ³³³º º ³³³º º ³³³º º ³³³º º ÀÀÀÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Cascaded Windows {Windows} {Contents} .topic WResize Window³Size/Move Ü (Ctrl-F5) ßßßßßßßßßßßßßßßßß Choose this command to change the size or position of the active window. ÜÜÜÜÜÜ Size ßßßßßß If you press Shift while you use the arrow keys, you can change the size of the active window. Once you've adjusted its size or position, press Enter. If a window has a Resize corner, you can drag that corner to resize the window. ÜÜÜÜÜÜ Move ßßßßßß When you choose Window³Size/Move, the active window moves in response to the arrow keys. Once you've moved the window to where you want it, press Enter. You can also move a window by dragging its title bar with the mouse. {Windows} {Contents} .topic WZoom Window³Zoom Ü (F5) ßßßßßßßßßßßß Choose Zoom to resize the active window to the maximum size. If the window is already zoomed, you can choose this command to restore it to its previous size. You can also click the zoom icon in the upper right corner or double-click anywhere on the window's title bar (except where an icon appears) to zoom or unzoom the window. {Windows} {Contents} .topic WNext (F3) Window³Next Ü ßßßßßßßßßßßß Choose Next to cycle forwards through the windows on the desktop. This is the same as the Next Player command on the status line. {Windows} {Contents} .topic WPrev (Shift-F3) Window³Previous Ü ßßßßßßßßßßßßßßßß Choose Previous to cycle backwards through the windows on the desktop. {Windows} {Contents} .topic WClose Window³Close Ü (Alt-F3) ßßßßßßßßßßßßß Choose Close to close the active window. You can also click the Close box in the upper left corner to close a window. {Windows} {Contents} .topic FOFileOpenDBox Help on Game File Dialog Box Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßßßß The Game File dialog box contains an input box, a {file list:FOFiles}, a file information panel, a history list that's attached to the {Name inputbox:FOName}, and the following buttons: {Cancel:CancelBtn} {Open:FOOpenBtn} {Ok:FOOkBtn} {Clear:FOClrBtn} {Game} {Contents} .topic FOName ÚÄ Name ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The Name input box is where you enter the name of the file to load, or the file-name mask to use as a filter for the Files list box (for example, *.*). {Game File Dialog:FOFileOpenDBox} {Game} {Contents} .topic FOFiles Ú Files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ FILENM01.PAS ³ FILENM09.PAS ³ ³ FILENM02.PAS ³ FILENM10.PAS ³ ³ FILENM03.PAS ³ FILENM11.PAS ³ ³ FILENM04.PAS ³ FILENM12.PAS ³ ³ FILENM05.PAS ³ .. ³ ³ FILENM06.PAS ³ \MOREXAMP ³ ³ FILENM07.PAS ³ \TOURS ³ ³ FILENM08.PAS ³ \ANSWERS.DIR ³ ³ ±±±þ±±±±±±±±±±±±±±±±±±±±±± ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The Files list box lists the names of files in the current directory that match the file-name mask in the Name input box, plus the parent directory and all subdirectories. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ C:\TP\EXAMPLES\*.PAS ³ ³ HELLO.PAS 52 Jul 14,1990 12:00pm ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The File information panel shows the path name, file name, date, time, and size of the selected file. None of the items on this information panel are selectable. {Game File Dialog:FOFileOpenDBox} {Game} {Contents} .topic FOOpenBtn ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Open ] ³ ÀÄÄÄÄÄÄÄÄÄÄÙ The Open button opens the specified file into a game window precisely where you left it when the game was saved. You may also double-click a file name from the {File List:FOFiles} to open it. {Game File Dialog:FOFileOpenDBox} {Game} {Contents} .topic FOOkBtn ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Ok ] ³ ÀÄÄÄÄÄÄÄÄÄÄÙ The Ok button saves the current game to the specified file. You may also double-click a file name in the {File List:FOFiles} to overwrite it with the current game. {Game File Dialog:FOFileOpenDBox} {Game} {Contents} .topic CancelBtn ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Cancel ] ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ If you choose Cancel, nothing changes and no action occurs, and the dialog box is put away. (Esc always cancels a dialog box, even if a Cancel button does not appear.) {Game File Dialog:FOFileOpenDBox} {Game} {Contents} .topic FOClrBtn ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Clear ] ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ The Clear button will pop up a dialog asking you to confirm if you want to delete the specified game file. {Game File Dialog:FOFileOpenDBox} {Game} {Contents}