# The message file of the application, where language dependent information # is stored. # Remark : # Messages bellow number 1'000 and above 2'000'000'000 are reserved for the library # See COMMENTS in the StandardEn.msg file. # To include the StandardEn.Msg file 11 StandardEn.msg 0 ...END # end of adjuctions of messages. # To have a little menu # In case of errors in the menu description, they will be written in # the error window 10000 AutoCreate # This tells that the menu is automatically created. 0 1 &File; >; file menu info line # This opens the following popup menu 0 2 Open the &Debug window; 65501; This will open the text debugging window. It's used to developp the application. 0 2 -----------; -; ---------- To have a separator 0 2 E&xit; 65500; Quit the application # this menu number is standard in the library, it will be useless to add any coding to it. It's done in the library. # 0 1 S&tarting; >; Starting actions to initialise the solver 0 2 &1 Select game version...; 506; Select which version of minesweeper game you have 0 2 -----------; -; ---------- To have a separator 0 2 &2 Get a Window Handle...; 201; To get the handle of another window. # 0 1 Solver H&ints; >; Use the solver to give some hints 0 2 &1 Are the flags well set; 301; Indicate if the flags are set correctly 0 2 &2 How many cells can be flagged; 303; Indicate the number of cells with a bomb, not marked by a flag 0 2 &3 How many cells without bombs can easilly be found; 304; Indicate the number of cells without bombs which can be found with simple reasoning 0 2 &4 How many cells without bombs can be found by deduction; 305; Indicate the number of cells without bombs which can be found by logical deduction 0 2 &5 How many cells without bombs can be found by deep search; 306; Indicate the exact number of cells having no bombs for sure. 0 2 -----------; -; ---------- To have a separator 0 2 &A Mark the cells which can be easilly Flagged; 311; Mark all cells which can be easilly found to have a bomb 0 2 &B Mark the cells which can be Flagged by deduction; 312; Mark all cells which can be found by deduction to have a bomb 0 2 &C Mark the cells without bombs which can be easilly found; 313; Mark all cells without bombs which can be easilly found 0 2 &D Mark the cells without bombs which can be found by deduction; 314; Mark all cells without bombs which can be found by deduction 0 2 &E Mark the cells without bombs which can be found by deep search; 315; Mark all cells without bombs which can be found by deep search 0 2 &F Mark cell(s) where the program would play; 316; 0 2 -----------; -; ---------- To have a separator 0 2 &H Show bomb probabilities...; 331; Show the probability that a cell has a bomb # 0 1 &Solver; >; Use the solver to solve minesweeper problems 0 2 &1 Set easy Flags; 401; Set flags where bombs are for sure, found easilly 0 2 &2 Set deduction Flags; 402; Set flags where bombs are for sure, found by deduction 0 2 &3 Explore simple; 403; Click on cells having no bombs for sure 0 2 &4 Explore with more deductions; 404; Explore more to see if a cell has no bomb 0 2 &5 Probability explore; 405; Explore cells havig lower probabilities of having a bomb 0 2 -----------; -; ---------- To have a separator 0 2 &A Solve MineSweeper; 411; Solve the mineSweeper 0 2 -----------; -; ---------- To have a separator 0 2 &B Plays to get statistics; 421; Plays games until SHIFT is pressed, to get statistic on games # 0 1 &Options; >; Set minesweeper parameters 0 2 &1 Set mouse speed...; 504; Sets the mouse cursor speed when playing automatically 0 2 &2 Select game version...; 506; Select which version of minesweeper game you have 0 2 &3 Set number of Bombs...; 508; In custom mode, the number of bombs must be set here 0 2 &4 Display Options...; 510; Define some info to display and where 0 2 -----------; -; ---------- To have a separator 0 2 &A Stopping conditions...; 521; Give condition to stop solving the game 0 2 -----------; -; ---------- To have a separator 0 2 &Get mine square sizes; 551; Get the sizes and positions of the mine squares 0 2 -----------; -; ---------- To have a separator 0 2 &Set cells dimensions...; 561; Set cells dimensions and window margins # 0 1 &Developping Test; >; Some test during developpment 0 2 &1 Simulate a Left click; 601; Does a left click where the mouse is. Normally over the minesweeper window 0 2 &2 Simulate a Right click; 602; Does a right click where the mouse is. Normally over the minesweeper window 0 2 &3 Get MineSweeper content; 603; Get the content of the full MineSweeper 0 2 &4 Debugging display parameters; 604; Defines what to show, to give debugging information 0 2 -----------; -; ---------- To have a separator 0 2 &4 New minwsweeper game; 611; Sets New Game for the minesweeper field # 0 1 &Help; >; Information about this program # More help menu lines can be added which correspond to dialog boxes : MenuNr*100 + 99 # For example menu 901 correspond to the dialog box defined at number 90199, menu 902 correspond to dialog number 90299, etc. 0 2 &1 About...; 901; What is this program about 0 2 &2 How to start...; 902; What shell be done to start using this program 0 2 &3 What are the hints...; 903; Indicate the signification of the hints 0 2 &4 What can be solved...; 904; Indicate what the solver can automatically solve 0 2 &5 What are the options...; 905; Indicate what options you have. 0 2 &6 What are the developping test...; 906; Indicate the signification of the developping tests # 0 ...END # must tell where the end of the menu description is. ####################################################################### #10100 AutoCreate # Create the accelerator table. # ^ = CTRL % = SHIFT & = ALT ~ = not a virtual key, but an ascii value # F1 .. F24 are the functions keys # N0 .. N9 N+ N- N* N/ N. are the num pad keys # Vnumber = the number is the value of the virtual key. (used for very special accelerators) #0 A=111; B=112; 8=108; #0 ...END # must tell where the end of the menu description is. ####################################################################### 10481 Bad Luck, ... 10501 = Screen Position 10502 = Window Size X,Y 10503 = Client Size X,Y 10504 = Number of Cells X,Y 10505 = Number of bombs 10506 !!! IF it is WRONG, you must set the right value !!! 10507 !!! UNKNOWN NUMBER OF BOMBS. You must set the right number from the menu !!! # Error messages in the detection of the symbols in GetMineContentCol 10551 Error in the symboles colors, none found 10552 = nLoop 10553 = Color 10554 = Cell # 10561 Error, more than two symboles selected. 10562 Colors selection was not good enough. 10563 = Color 10564 = Cell # To display minesweeper content, in GetMineSweeperContent 10601 = Bombs left, Unvisited 10651 Game = \ 10652 Tryed on : \ 10653 With bomb probability = 10654 Nb_Explored = \ 10700 NbGames Frequ Nb_Bomb_Left 10701 Prob= 10710 # To skip a line 10711 Statistic of number of bombs at the end of the games 10712 = Total number of games played 10713 Nb bombs Nb games frequency Sum #---------------------------------------------------- 12010 All Flags are well placed and none are missing 12011 No Flags are missing. 12012 No Flags are badly placed 12013 Flags are missing and could be placed. 12014 Flags are set without being sure. 12015 Flags has been found by harder deduction. 12021 = Number of cells having a bomb for sure and not marked. 12022 bombs has been found by harder deduction. 12031 = Number of cells easily found having NO bombs for sure. 12032 = Number of cells found by deduction having NO bombs for sure 12033 = Exact number of cells having NO bombs for sure 12111 No cells found easilly HAVING a bomb. 12112 No cells found HAVING a bomb. 12121 No cells found easilly NOT having a bomb. 12122 No cells found by deduction NOT having a bomb. 12123 No cells found by deep search NOT having a bomb. 12124 = Probability of having a bomb. Cell : \ 20199 Indicate that a window must be activated #********************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 20199") 0 @$NOOK # # Definitions : None # ----------- # # Dialog Title # ------------ 0 Activate a window by clicking on it # ----------------------------------- # # Instructions # ------------ 0 Activate the Minesweeper window by clicking on it. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 20299 Informe that no other window has been selected #*************************************************** # Directives # ---------- 0 @$DLGNAME("Dialog 20299") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 No second window selected # ------------------------- # # Instructions # ------------ 0 No second window selected. 0 You must execute Menu : "Starting", 0 Sub-Menu : "Get a Window Handle" 0 # 0 First you should start minesweeper to be 0 able to click on it. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 20399 To get a color #******************* # Directives # ---------- 0 @$DLGNAME("Dialog 20399") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 Get a color from anywhere on the screen # --------------------------------------- # # Instructions # ------------ 0 This is just a test, useless for the rest of the program 0 Set the mouse cursor over any color on the screen, then 0 press return to accept. 0 The color of the pixel under the mouse cursor will be 0 shown in a window. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 20499 Informe that window size and cells number do not match #*********************************************************** # Directives # ---------- 0 @$DLGNAME("Dialog 20499") 0 @$InterLine(100) 0 @$TABINVISIBLE(|) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 Window size and cells number do not match # ----------------------------------------- # # Instructions # ------------ 0 The window size do not correspond to the number of cells. 0 This is usually because you changed the mode "Beginner", 0 "Intermediate", "Advanced" or "Expert", but 0 can also be because the margines of cells sizes are not correct. 0 # 0 You can : 0 1) |Use the Menu : "Starting", 0 |Sub-Menu : "Get a Window Handle" 0 |To define again the minesweeper window 0 2) |Use the Menu : "Options", 0 |Sub-Menu : "Select game version" 0 |To define the game version. Then use option 1. 0 3) |Set a NEW Game, then 0 |Use the Menu : "Options", 0 |Sub-Menu : "Get mine square sizes" 0 |To let the program determine the game sizes 0 4) |Use the Menu : "Options", 0 |Sub-Menu : "Set cells dimensions" 0 |To define manually the cells dimensions 0 # 0 You must also set the right number of bombs if you are in custom mode 0 Use the Menu : "Options", Sub-Menu : "Set cells dimensions" 0 to do that. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 21199 To show the probabilities of the cells having a bomb #**************************** # Directives # ---------- 0 @$DLGNAME("Dialog 21199") 0 @$NOCANCEL 0 @$NOOK # # Definitions : # ----------- 0 @S = Static(0, 0,255) 0 @Sr = Static(0, 0,255) + right() # # Dialog Title # ------------ 0 Cells probability of having a bomb # ---------------------------------- # # Instructions # ------------ 0 Total number of configuration = @1020S_________________._ 0 Number of unvisited cells = @1021S____, number of cells with info = @1022S___@!DELTAHEIGHT(-70) 0 Bomb Prob(@1051Sr___, @1052Sr___) = @1053S_.______ @!DELTAHEIGHT(-70) 0 @!Btn(21101, " Update ") @!Btn(1, " OK ") @!DELTAHEIGHT( -50) # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 30199 Changes the sizes of the minesweeper cells and margins #*********************************************************** # Directives # ---------- 0 @$DLGNAME("Dialog 30199") 0 @$TABAFTER(:) # # Definitions : None # ----------- # # Dialog Title # ------------ 0 Set some sizes of the Minesweeper game. # --------------------------------------- # # Instructions # ------------ 0 You can set automatically the sizes from an empty game, 0 with the menu "Get mine square siszes" @!DELTAHEIGHT(-90) 0 &1 Total number of Bombs : @1010(4 ( In custum mode, this must be given by the user ) 0 &2 Cells width : @1005(4 0 &3 Cells height : @1006(4 0 &4 Cells left margin : @1001(4 0 &5 Cells top margin : @1002(4 0 &6 Cells right margin : @1003(4 0 &7 Cells bottom margin : @1004(4 0 &8 Number of cells horizontally : @1007(4 0 &9 Number of cells vertically : @1008(4 # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 30210 # Choosing the speed 0 0 = very very slow (10 waits) 0 1 = very slow ( 8 waits) 0 2 = still slow ( 5 waits) 0 3 = slow ( 2 waits) 0 4 = medium ( 1 waits) 0 5 = little faster (3/4 waits) 0 6 = 1/2 waits 0 7 = 1/4 waits 0 8 = 1/10 waits 0 9 = 1/20 waits 0 10 = the fastest possible 0 ...END 30299 Speed of the mouse cursor #****************************** # Directives # ---------- 0 @$DLGNAME("Dialog 30299") 0 @$TABINVISIBLE(|) # # Definitions : # ----------- 0 @C=ComboDropDownList(30210) # # Dialog Title # ------------ 0 Set the mouse cursor speed # -------------------------- # # Instructions # ------------ 0 Mouse cursor speed : 0 @1009C(40 0 # 0 While playing, 0 pressing f |will increase the mouse speed @!DELTAHEIGHT(-80) 0 pressing s |will decrease the mouse speed @!DELTAHEIGHT(-80) 0 pressing shift |will stop solving @!DELTAHEIGHT(-80) 0 pressing ctrl |will stop the continuous play to get statistics. @!DELTAHEIGHT(-80) # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 30310 # game versions 0 951 = windows 95 game version 0 981 = windows 98 game version 0 982 = windows 98, another cells recognition 0 0 = unknown version. Bad luck !!! 0 ...END 30399 Selecting the game version #******************************* # Directives # ---------- 0 @$DLGNAME("Dialog 30399") #0 @$TABAFTER(:) # # Definitions : # ----------- 0 @C=ComboDropDownList(30310) # # Dialog Title # ------------ 0 Select the game version # -------------------------- # # Instructions # ------------ 0 Minesweeper game version : 0 @1012C(40 0 # 0 If the game size is not correct, this can be changed @!DELTAHEIGHT(-80) 0 in the Options... # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 50899 Set the number of bombs #**************************** # Directives # ---------- 0 @$DLGNAME("Dialog 50899") #0 @$TABAFTER(:) # # Definitions : # ----------- # # Dialog Title # ------------ 0 Set the number of bombs # ----------------------- # # Instructions # ------------ 0 In custom mode, the total number of bombs in the field must be given by the user. 0 &1 Total number of Bombs : @1010(4 # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 51099 Set display options #************************ # Directives # ---------- 0 @$DLGNAME("Dialog 51099") 0 @$TABAFTER(:) # # Definitions : # ----------- # # Dialog Title # ------------ 0 Set some display options # ------------------------ # ##################################################################### # Instructions # ------------ 0 Give some display options. Negative number or number > 15 means no display 0 Event number display Courier Font, Odd number display standard Fond. @!DELTAHEIGHT( -100) 0 &1 When click with probability to boom, display it in : @1121____ (-1=default, i.e. no display) 0 &2 While get statistics window of number of games played : @1131____ (2=default) 0 &3 While get statistics frequence of display : @1132____ (100=default) 0 &4 At the end of "get statistics", bombs statistics : @1133____ (0=default) 0 -------------------------------------- 0 What follows is used for developpment or special cases. @!DELTAHEIGHT( -100) 0 &A Window of MineSweeper content : @1101____ (10=default, used for developpment) 0 &B To display color selection errors in GetMineContentCol : @1111____ (0=default) 0 &C To display bad selection errors in GetMineContentCol : @1112____ (0=default) # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 52110 # game versions 0 0 => No stopping conditions 0 1 => Stop if no cells without bombs found easilly 0 101 => Stop if no cells without bombs found easilly, 0 101 but cells found by deduction 0 2 => Stop if no cells without bombs found by deduction 0 102 => Stop if no cells without bombs found by deduction 0 102 but cells found to be without bombs by probabilistic search 0 3 => Stop if no cells found without bombs by the 100% sure detection methode 0 4 => 3 & less than 1'000 possible configurations, but more than 6 0 5 => 3 & less than 100 possible configurations, but more than 6 0 ...END 52199 Set stopping conditions #**************************** # Directives # ---------- 0 @$DLGNAME("Dialog 52199") #0 @$TABAFTER(:) # # Definitions : # ----------- 0 @C=ComboDropDownList(52110) # # Dialog Title # ------------ 0 Set stopping conditions # ----------------------- # # Instructions # ------------ 0 Set conditions to stop solving the game : 0 @1013C(80 # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 60410 # Yes, No answer 0 1 = YES 0 0 = NO 0 ...END 60499 Some debugging variables #******************************* # Directives # ---------- 0 @$DLGNAME("Dialog 60499") #0 @$TABAFTER(:) # # Definitions : # ----------- 0 @C=ComboDropDownList(60410) # # Dialog Title # ------------ 0 Set some debugging variables # ---------------------------- # # Instructions # ------------ 0 Show origine pixels of each cell : @2001C(9 # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90199 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90199") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 What is this program about # -------------------------- # # Instructions # ------------ 0 This program solves the Minesweeper game. 0 Run the Minesweeper game, execute the menu : "Get a Window Handle" 0 Then you can ask to solve the game, with the menu : "Solve MineSweeper" 0 If the Minesweeper dimensions are not correct, you can modify them. 0 # 0 While solving, pressing the ESCAPE key will stop the solver. 0 # 0 Created By Bernard Gisin, February 2002. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90299 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90299") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 How to start # ------------ # # Instructions # ------------ 0 This program can detect the content of Windows 95 and Windows 98 Minesweeper games. 0 1) Run one of theese versions of MineSweeper. 0 2) In the "Starting" menu, select the MineSweeper game version you have. Win95 or Win98 0 3) In the "Starting" menu, select "Get a window handle", then click on the MineSweeper window. 0 If you are in custom mode, from an empty game, you should use the menu "Options", "Get Mine square sizes" 0 The number of bombs must be given also from the "Options" menu. 0 If you are in "begginer", "intermediate" or "expert" mode, you don't need to do anything more. 0 You can either play and ask hints to this solver, or ask it to play. 0 Mouse speed can be changed. 0 Stopping conditions can be set. 0 Continus playing can be set, either to reach a stopping condition, or to get statistics. 0 # 0 While solving, pressing the SHIFT key will stop the solver. 0 While in continus play, pressing CTRL will stop the continus play after actual game is finished. 0 To stop immediatly, press both SHIFT and CTRL. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90399 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90399") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 What are the hints # ------------------ # # Instructions # ------------ 0 If you started as described on "Help, How to start", you can play the minesweeper game. 0 At any moment, you can ask this solver program to give you some indications. 0 The menu "Solver Hints" will give you some possible hints. 0 The first group give you just information on how many cells with or without bombs can be found. 0 The second group give you information where the cells with (in RED) or without (in BLACK) are. 0 There are three levels of searching. 0 The first one is the easiest. 0 If the number of unvisited neighbour cells equals the number of bombs ... flags can be set 0 If the number of neighbour cells with flags equals the number of bombs, the other cells have no bombs. 0 The second level of search works using hypothesis and deductions. 0 If this cell would have a bomb, if this would lead to an impossible case, then it has no bomb. 0 The same begining with "If this cell would have no bomb.." 0 The third level counts the number of configuration with a bomb in a cell among all possible configurations. 0 This gives the probability that a cell has a bomb. 0 Sometimes cells without bombs are found only by this method. 0 This method will always find all cells having no bombs. 0 It will also find for each cell the probability of having a bomb. 0 Clicking on a cell with lower probability of having a bomb is the strategy used by the automatic program, 0 but it is not the optimal one, which is too complicate to compute. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90499 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90499") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 What can be solved # ------------------ # # Instructions # ------------ 0 If you started as described on "Help, How to start", you can play the minesweeper game. 0 At any moment, you can ask this solver program to solve part of the game. 0 The menu "Solver" will give you some possibilities to do partial solving. 0 You can ask to put flags on cells which can easilly be found having a flag. 0 You can ask to put flags on cells which can be found having a flag by deduction, 0 as described in the previous help. (level 2) 0 You can ask to click on cells detected by an easy way (level 1) to have no bombs. 0 You can ask to click on cells detected by a deductive way (level 2) to have no bombs. 0 or you can ask to click on all cells having no bombs for sure (level 3). 0 You can ask to click on the cell having the lowest probability to have a bomb. 0 You can ask to solve to complete game, or to run and solve many games. 0 In the options you can set some stopping conditions. 0 \ 0 While solving, pressing the SHIFT key will stop the solver. 0 While in continus play, pressing CTRL will stop the continus play after actual game is finished. 0 To stop immediatly, press both SHIFT and CTRL. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90599 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90599") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 What are the options # -------------------- # # Instructions # ------------ 0 In the options, you can set the mouse speed, used while solving the game. 0 You can select the minesweeper game version. Only two versions are implemented 0 for the moment. Versions Windows 95 and Windows 98. 0 If you are in custom mode, you have to set the total number of bombs. 0 In the standard mode, the number of bombs is set automatically, depending on the game size. 0 You can set stopping conditions. For example 0 You can ask to stop when no cells without bombs have been found easily (condition 1). 0 You can ask to stop if condition 1 is reached and bombs can be found by deduction (condition 101) 0 You can ask to stop when a choice with chances to click on a bomb exist (condition 3) 0 In "Get mine square sizes" you must have a new game, and the number and sizes of the cells 0 will be counted. But not the number of bombs, indicated in red. 0 You can set the sizes, number of cells, etc., but it is not often usefull. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 90699 # Information about this program #************************************* # Directives # ---------- 0 @$DLGNAME("Dialog 90699") 0 @$InterLine(100) 0 @$NOCANCEL # # Definitions : None # ----------- # # Dialog Title # ------------ 0 What are the developping test # ----------------------------- # # Instructions # ------------ 0 Developping tests are used while developping the program. 0 Normally you will not use them. # 0 ...END # must specify where the end of the dialog box is. ##################################################################### 0 ...END # a security in case a '...END' is missed somwhere.