Advertisement
dllbridge

Minesweeper Game (Logic)

Jul 15th, 2021
839
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.45 KB | None | 0 0
  1.  
  2.  
  3.  
  4. extern __int8  anField[102][102],         //  Игровое поле (массив игровых клеток)
  5.                           nSizeX,         //  Размер поля  по горизонтали (клеток)
  6.                           nSizeY,         //  Размер поля  по   вертикали          
  7.                              WIN;         //  WIN = -1 это проигрыш
  8.                                           //  WIN =  0 Игровой режим
  9.                                           //  WIN =  1 Победа !
  10.                                           //  WIN =  2 Тестовый режим                               
  11. extern   int            freeCell;         //  Сколько осталось неоткрытых клеток
  12.  
  13.  
  14. //===============  закрытые (ещё не открытые) клетки  ===========================
  15.  
  16. //119   -  закрытое поле. бомба
  17. //118   -  закрытое поле. Содержит 8 (118 - 110 = 8)   8 рядом стоящих бомб
  18. //117   -  закрытое поле. Содержит 7 (117 - 110 = 7)
  19. //116   -  закрытое поле. Содержит 6 (116 - 110 = 6)
  20. //115   -  закрытое поле. Содержит 5 (115 - 110 = 5)
  21. //114   -  закрытое поле. Содержит 4 (114 - 110 = 4)
  22. //113   -  закрытое поле. Содержит 3 (113 - 110 = 3)
  23. //112   -  закрытое поле. Содержит 2 (112 - 110 = 2)
  24. //111   -  закрытое поле. Содержит 1 (111 - 110 = 1)
  25. //110   -  закрытое поле. Содержит 0 (110 - 110 = 0)
  26.  
  27. //===============  спрятанные под флажком клетки  ===============================
  28.  
  29. //109   -  спрятанное под флажком поле. бомба
  30. //108   -  спрятанное под флажком поле. Содержит 8 (108 - 100 = 8) 8 рядом стоящих бомб
  31. //107   -  спрятанное под флажком Содержит 7       (107 - 100 = 7)
  32. //106   -  спрятанное под флажком Содержит 6       (106 - 100 = 6)
  33. //105   -  спрятанное под флажком Содержит 5       (105 - 100 = 5)
  34. //104   -  спрятанное под флажком Содержит 4       (104 - 100 = 4)
  35. //103   -  спрятанное под флажком Содержит 3       (103 - 100 = 3)
  36. //102   -  спрятанное под флажком Содержит 2       (102 - 100 = 2)
  37. //101   -  спрятанное под флажком Содержит 1       (101 - 100 = 1)
  38. //100   -  спрятанное под флажком Содержит 0       (100 - 100 = 0)          
  39.  
  40.  
  41.  
  42. //===============  открытые (уже показанные на экране) клетки  (отображается их содержимое) =================
  43.  
  44. //   31 - бомба, которая в конце игры была под флажком (разминирована)
  45. //   30 - бомба, на которой подорвался игрок (может быть выделена не таким цветом, как остальные)
  46. //   29 - открытая бомба  
  47. //   28 - 8 рядом стоящих бомб
  48. //   27 - 7 рядом стоящих бомб  
  49. //   26 - 6 рядом стоящих бомб  
  50. //   25 - 5 рядом стоящих бомб  
  51. //   24 - 4 рядом стоящих бомб
  52. //   23 - 3 рядом стоящих бомб
  53. //   22 - 2 рядом стоящих бомб
  54. //   21 - 1 рядом стоящих бомб
  55. //   20 - 0 рядом стоящих бомб
  56.  
  57.  
  58. //===============  открытые клетки  (отображается их содержимое) =================
  59.  
  60. //   11 - бомба, которая в момент выигрыша (победы) была под флажком (разминирована)
  61. //   10 - бомба, на которой подорвался игрок (может быть выделена не таким цветом, как остальные)
  62. //    9 - открытая бомба  
  63. //    8 - 8 рядом стоящих бомб
  64. //    7 - 7 рядом стоящих бомб  
  65. //    6 - 6 рядом стоящих бомб  
  66. //    5 - 5 рядом стоящих бомб  
  67. //    4 - 4 рядом стоящих бомб
  68. //    3 - 3 рядом стоящих бомб
  69. //    2 - 2 рядом стоящих бомб
  70. //    1 - 1 рядом стоящих бомб
  71. //    0 - 0 рядом стоящих бомб
  72.  
  73. /////////////////////////////////////////////////////////////////////////////////////////////////
  74. //  Функция принимает размер поля по X и Y  (x - клеток по горизонтали, y - клеток по вертикали
  75. //  расставляет бомбы и отмечает в каждой клетке число, расположенных рядом с этой клеткой бомб
  76. int sap_SetSize(int x, int y);                                   //  Возвращает кол-во фактически установленных бомб
  77.  
  78.  
  79. //  Функция вызывается при нажатии ЛКМ (левой кнопки мыши)
  80. /////////////////////////////////////////////////////////////////////////////////////////////////
  81.                                                                           //  return -1               Вы проиграли !
  82.                                                                           //  return  1  Успешно открыли ОДНУ клетку
  83.                                                                           //  return  2     Открыто несколько клеток  
  84. int sap_LeftClick(int x, int y);                                          //  return  3         Неизвестная ситуация
  85.  
  86.  
  87. //  Функция вызывается при нажатии ПКМ (правой кнопки мыши)
  88. /////////////////////////////////////////////////////////////////////////////////////////////////
  89. int sap_RightClick(int x, int y);                                         //  return  1            Установлен флажок
  90.                                                                           //  return  2                  Снят флажок
  91.                                                                           //  return  3      Непредвиденная ситуация
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement