Igor Chess Clock v.01 November 4, 2003 Download from: http://igor.qiguang.net INTRODUCTION This program was written because the user often played chess after a long day of electrophyiology experiments in lab, but did not have a chess clock. Thus, in order to prevent games that would drag on and on, the user made this little program. The purpose is to function as a chess clock. If you don't play chess, or if you play chess but don't use a chess clock, then you can stop reading and forget all about this program now. Otherwise, enjoy. NOTES ON USAGE This clock incorporates the use of an anime character (Ayu from Kanon) in order to enhance(?) the pleasure of the game. Images of the character used in this program are included in the zipfile. In order for the program to automatically load the images, you MUST extract the .JPG files into the folder "C:\iig" because that is where the program looks for the image files. You can turn off the character display option so the character doesn't appear during gameplay, but the image files must still be loaded. This is beacuse checking for and loading the image files at the start of each game, rather than at the start of the program, would be annoying. If you want to edit the program so it doesn't try to load the image files every time, be my guest. Otherwise, just make sure all the .JPGs are in "C:\iig" and you'll be fine. The user on the "left" of the keyboard hits the clock by pressing , while the player on the right presses the right arrow button. The rest is pretty simple. You can set the amount of time for each person. Uncheck "Symmetrical times" if you want the players to have different time controls. Uncheck "Show character" if you don't want Ayu to appear on the screen. Check "Audio notice" if you want a sound to be played when a player's time runs out. (The sound is a function of sin waves generated by Igor.) During gameplay, press to pause the clock. Once paused, you can click "Resume" to resume, or "Reset" to reset the clock. Ayu changes her expression based on the percentage of total initial time left on the clock. There are five expressions. You can substitute your own images by overwriting the default image files with your own files. At this time there is no way to add additional time to the clock once it has started, or to have a time control with a certain number of moves within a given amount of time. These two options are very doable; I just don't have the time or energy to implement them. If you want these features, send me an e-mail and we'll talk. SYSTEM REQUIREMENTS Igor Chess Clock maintains time based on the Igor datetime() function and gets input from the user with the keyboardstate() function. These two functions are sensitive to the speed of your computer. The faster your computer, the more accurate the timing will be and the less the delay during keybaordstate aquisition will be. Thus, on slow computers, you may have to hold down the keys for "hitting the clock" for a little bit (i.e. a couple tenths of a second) before it registers to Igor. The key by design is required to be held down for at least two-tenths of a second in order to pause the clock. This is partly because of an intrinsic characteristic of the keyboardstate() function, and partly because it helps prevent sly players from secretly pausing the clock on their turn... That is all for now, Steve stevec@qiguang.net http://igor.qiguang.net