-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathButton.py
More file actions
546 lines (540 loc) · 43 KB
/
Copy pathButton.py
File metadata and controls
546 lines (540 loc) · 43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
from PySide2.QtCore import *
from Constants import Constants
from Board import Board
class Button(Board):
def __init__(self):
"""
Constructor
"""
Board.__init__(self)
self.function_click_buttons = []
self.buttons_flagged = 0
def process_button(self, x: int, y: int, mouse_button='l'):
"""
Process the event to click button
:param x: Position of the button in the axis X
:param y: Position of the button in the axis Y
:param mouse_button: Mouse button that the button was clicked
"""
# Check if the button is checkable
if not self.board[y][x].isCheckable():
return
# Check the button flag status
if self.pushButtonFlag.status or mouse_button == 'r':
if self.board[y][x].is_flag:
icon = self.get_icon('g')
self.board[y][x].is_flag = False
self.buttons_flagged -= 1
else:
icon = self.get_icon('ff')
self.board[y][x].is_flag = True
self.buttons_flagged += 1
self.board[y][x].setIcon(icon)
self.board[y][x].setIconSize(QSize(28, 28))
self.bombs_label.setText(f"{self.buttons_flagged}/{Constants.QUANTITY_BOMBS}")
return
# Check if the field is a flag
if self.board[y][x].is_flag:
return
self.board[y][x].setCheckable(False)
self.board[y][x].setIconSize(QSize(28, 28))
if self.board[y][x].value == 'b':
self.board[y][x].setIcon(self.get_icon('B'))
self.end_game(Constants.DEFEAT)
elif self.board[y][x].value == '0':
self.board[y][x].setIcon(self.get_icon(self.board[y][x].value))
self.process_neighbour_buttons(x, y)
else:
self.board[y][x].setIcon(self.get_icon(self.board[y][x].value))
if self.count_fields_checkable() == Constants.QUANTITY_FIELDS:
self.end_game(Constants.VICTORY)
def create_button_functions(self):
# First line
self.pushButtonA1.clicked.connect(lambda: self.process_button(0, 0))
self.pushButtonA1.customContextMenuRequested.connect(lambda: self.process_button(0, 0, 'r'))
self.pushButtonA2.clicked.connect(lambda: self.process_button(1, 0))
self.pushButtonA2.customContextMenuRequested.connect(lambda: self.process_button(1, 0, 'r'))
self.pushButtonA3.clicked.connect(lambda: self.process_button(2, 0))
self.pushButtonA3.customContextMenuRequested.connect(lambda: self.process_button(2, 0, 'r'))
self.pushButtonA4.clicked.connect(lambda: self.process_button(3, 0))
self.pushButtonA4.customContextMenuRequested.connect(lambda: self.process_button(3, 0, 'r'))
self.pushButtonA5.clicked.connect(lambda: self.process_button(4, 0))
self.pushButtonA5.customContextMenuRequested.connect(lambda: self.process_button(4, 0, 'r'))
self.pushButtonA6.clicked.connect(lambda: self.process_button(5, 0))
self.pushButtonA6.customContextMenuRequested.connect(lambda: self.process_button(5, 0, 'r'))
self.pushButtonA7.clicked.connect(lambda: self.process_button(6, 0))
self.pushButtonA7.customContextMenuRequested.connect(lambda: self.process_button(6, 0, 'r'))
self.pushButtonA8.clicked.connect(lambda: self.process_button(7, 0))
self.pushButtonA8.customContextMenuRequested.connect(lambda: self.process_button(7, 0, 'r'))
self.pushButtonA9.clicked.connect(lambda: self.process_button(8, 0))
self.pushButtonA9.customContextMenuRequested.connect(lambda: self.process_button(8, 0, 'r'))
self.pushButtonA10.clicked.connect(lambda: self.process_button(9, 0))
self.pushButtonA10.customContextMenuRequested.connect(lambda: self.process_button(9, 0, 'r'))
self.pushButtonA11.clicked.connect(lambda: self.process_button(10, 0))
self.pushButtonA11.customContextMenuRequested.connect(lambda: self.process_button(10, 0, 'r'))
self.pushButtonA12.clicked.connect(lambda: self.process_button(11, 0))
self.pushButtonA12.customContextMenuRequested.connect(lambda: self.process_button(11, 0, 'r'))
self.pushButtonA13.clicked.connect(lambda: self.process_button(12, 0))
self.pushButtonA13.customContextMenuRequested.connect(lambda: self.process_button(12, 0, 'r'))
self.pushButtonA14.clicked.connect(lambda: self.process_button(13, 0))
self.pushButtonA14.customContextMenuRequested.connect(lambda: self.process_button(13, 0, 'r'))
self.pushButtonA15.clicked.connect(lambda: self.process_button(14, 0))
self.pushButtonA15.customContextMenuRequested.connect(lambda: self.process_button(14, 0, 'r'))
# Second line
self.pushButtonB1.clicked.connect(lambda: self.process_button(0, 1))
self.pushButtonB1.customContextMenuRequested.connect(lambda: self.process_button(0, 1, 'r'))
self.pushButtonB2.clicked.connect(lambda: self.process_button(1, 1))
self.pushButtonB2.customContextMenuRequested.connect(lambda: self.process_button(1, 1, 'r'))
self.pushButtonB3.clicked.connect(lambda: self.process_button(2, 1))
self.pushButtonB3.customContextMenuRequested.connect(lambda: self.process_button(2, 1, 'r'))
self.pushButtonB4.clicked.connect(lambda: self.process_button(3, 1))
self.pushButtonB4.customContextMenuRequested.connect(lambda: self.process_button(3, 1, 'r'))
self.pushButtonB5.clicked.connect(lambda: self.process_button(4, 1))
self.pushButtonB5.customContextMenuRequested.connect(lambda: self.process_button(4, 1, 'r'))
self.pushButtonB6.clicked.connect(lambda: self.process_button(5, 1))
self.pushButtonB6.customContextMenuRequested.connect(lambda: self.process_button(5, 1, 'r'))
self.pushButtonB7.clicked.connect(lambda: self.process_button(6, 1))
self.pushButtonB7.customContextMenuRequested.connect(lambda: self.process_button(6, 1, 'r'))
self.pushButtonB8.clicked.connect(lambda: self.process_button(7, 1))
self.pushButtonB8.customContextMenuRequested.connect(lambda: self.process_button(7, 1, 'r'))
self.pushButtonB9.clicked.connect(lambda: self.process_button(8, 1))
self.pushButtonB9.customContextMenuRequested.connect(lambda: self.process_button(8, 1, 'r'))
self.pushButtonB10.clicked.connect(lambda: self.process_button(9, 1))
self.pushButtonB10.customContextMenuRequested.connect(lambda: self.process_button(9, 1, 'r'))
self.pushButtonB11.clicked.connect(lambda: self.process_button(10, 1))
self.pushButtonB11.customContextMenuRequested.connect(lambda: self.process_button(10, 1, 'r'))
self.pushButtonB12.clicked.connect(lambda: self.process_button(11, 1))
self.pushButtonB12.customContextMenuRequested.connect(lambda: self.process_button(11, 1, 'r'))
self.pushButtonB13.clicked.connect(lambda: self.process_button(12, 1))
self.pushButtonB13.customContextMenuRequested.connect(lambda: self.process_button(12, 1, 'r'))
self.pushButtonB14.clicked.connect(lambda: self.process_button(13, 1))
self.pushButtonB14.customContextMenuRequested.connect(lambda: self.process_button(13, 1, 'r'))
self.pushButtonB15.clicked.connect(lambda: self.process_button(14, 1))
self.pushButtonB15.customContextMenuRequested.connect(lambda: self.process_button(14, 1, 'r'))
# Third line
self.pushButtonC1.clicked.connect(lambda: self.process_button(0, 2))
self.pushButtonC1.customContextMenuRequested.connect(lambda: self.process_button(0, 2, 'r'))
self.pushButtonC2.clicked.connect(lambda: self.process_button(1, 2))
self.pushButtonC2.customContextMenuRequested.connect(lambda: self.process_button(1, 2, 'r'))
self.pushButtonC3.clicked.connect(lambda: self.process_button(2, 2))
self.pushButtonC3.customContextMenuRequested.connect(lambda: self.process_button(2, 2, 'r'))
self.pushButtonC4.clicked.connect(lambda: self.process_button(3, 2))
self.pushButtonC4.customContextMenuRequested.connect(lambda: self.process_button(3, 2, 'r'))
self.pushButtonC5.clicked.connect(lambda: self.process_button(4, 2))
self.pushButtonC5.customContextMenuRequested.connect(lambda: self.process_button(4, 2, 'r'))
self.pushButtonC6.clicked.connect(lambda: self.process_button(5, 2))
self.pushButtonC6.customContextMenuRequested.connect(lambda: self.process_button(5, 2, 'r'))
self.pushButtonC7.clicked.connect(lambda: self.process_button(6, 2))
self.pushButtonC7.customContextMenuRequested.connect(lambda: self.process_button(6, 2, 'r'))
self.pushButtonC8.clicked.connect(lambda: self.process_button(7, 2))
self.pushButtonC8.customContextMenuRequested.connect(lambda: self.process_button(7, 2, 'r'))
self.pushButtonC9.clicked.connect(lambda: self.process_button(8, 2))
self.pushButtonC9.customContextMenuRequested.connect(lambda: self.process_button(8, 2, 'r'))
self.pushButtonC10.clicked.connect(lambda: self.process_button(9, 2))
self.pushButtonC10.customContextMenuRequested.connect(lambda: self.process_button(9, 2, 'r'))
self.pushButtonC11.clicked.connect(lambda: self.process_button(10, 2))
self.pushButtonC11.customContextMenuRequested.connect(lambda: self.process_button(10, 2, 'r'))
self.pushButtonC12.clicked.connect(lambda: self.process_button(11, 2))
self.pushButtonC12.customContextMenuRequested.connect(lambda: self.process_button(11, 2, 'r'))
self.pushButtonC13.clicked.connect(lambda: self.process_button(12, 2))
self.pushButtonC13.customContextMenuRequested.connect(lambda: self.process_button(12, 2, 'r'))
self.pushButtonC14.clicked.connect(lambda: self.process_button(13, 2))
self.pushButtonC14.customContextMenuRequested.connect(lambda: self.process_button(13, 2, 'r'))
self.pushButtonC15.clicked.connect(lambda: self.process_button(14, 2))
self.pushButtonC15.customContextMenuRequested.connect(lambda: self.process_button(14, 2, 'r'))
# Fourth line
self.pushButtonD1.clicked.connect(lambda: self.process_button(0, 3))
self.pushButtonD1.customContextMenuRequested.connect(lambda: self.process_button(0, 3, 'r'))
self.pushButtonD2.clicked.connect(lambda: self.process_button(1, 3))
self.pushButtonD2.customContextMenuRequested.connect(lambda: self.process_button(1, 3, 'r'))
self.pushButtonD3.clicked.connect(lambda: self.process_button(2, 3))
self.pushButtonD3.customContextMenuRequested.connect(lambda: self.process_button(2, 3, 'r'))
self.pushButtonD4.clicked.connect(lambda: self.process_button(3, 3))
self.pushButtonD4.customContextMenuRequested.connect(lambda: self.process_button(3, 3, 'r'))
self.pushButtonD5.clicked.connect(lambda: self.process_button(4, 3))
self.pushButtonD5.customContextMenuRequested.connect(lambda: self.process_button(4, 3, 'r'))
self.pushButtonD6.clicked.connect(lambda: self.process_button(5, 3))
self.pushButtonD6.customContextMenuRequested.connect(lambda: self.process_button(5, 3, 'r'))
self.pushButtonD7.clicked.connect(lambda: self.process_button(6, 3))
self.pushButtonD7.customContextMenuRequested.connect(lambda: self.process_button(6, 3, 'r'))
self.pushButtonD8.clicked.connect(lambda: self.process_button(7, 3))
self.pushButtonD8.customContextMenuRequested.connect(lambda: self.process_button(7, 3, 'r'))
self.pushButtonD9.clicked.connect(lambda: self.process_button(8, 3))
self.pushButtonD9.customContextMenuRequested.connect(lambda: self.process_button(8, 3, 'r'))
self.pushButtonD10.clicked.connect(lambda: self.process_button(9, 3))
self.pushButtonD10.customContextMenuRequested.connect(lambda: self.process_button(9, 3, 'r'))
self.pushButtonD11.clicked.connect(lambda: self.process_button(10, 3))
self.pushButtonD11.customContextMenuRequested.connect(lambda: self.process_button(10, 3, 'r'))
self.pushButtonD12.clicked.connect(lambda: self.process_button(11, 3))
self.pushButtonD12.customContextMenuRequested.connect(lambda: self.process_button(11, 3, 'r'))
self.pushButtonD13.clicked.connect(lambda: self.process_button(12, 3))
self.pushButtonD13.customContextMenuRequested.connect(lambda: self.process_button(12, 3, 'r'))
self.pushButtonD14.clicked.connect(lambda: self.process_button(13, 3))
self.pushButtonD14.customContextMenuRequested.connect(lambda: self.process_button(13, 3, 'r'))
self.pushButtonD15.clicked.connect(lambda: self.process_button(14, 3))
self.pushButtonD15.customContextMenuRequested.connect(lambda: self.process_button(14, 3, 'r'))
# Fiveth line
self.pushButtonE1.clicked.connect(lambda: self.process_button(0, 4))
self.pushButtonE1.customContextMenuRequested.connect(lambda: self.process_button(0, 4, 'r'))
self.pushButtonE2.clicked.connect(lambda: self.process_button(1, 4))
self.pushButtonE2.customContextMenuRequested.connect(lambda: self.process_button(1, 4, 'r'))
self.pushButtonE3.clicked.connect(lambda: self.process_button(2, 4))
self.pushButtonE3.customContextMenuRequested.connect(lambda: self.process_button(2, 4, 'r'))
self.pushButtonE4.clicked.connect(lambda: self.process_button(3, 4))
self.pushButtonE4.customContextMenuRequested.connect(lambda: self.process_button(3, 4, 'r'))
self.pushButtonE5.clicked.connect(lambda: self.process_button(4, 4))
self.pushButtonE5.customContextMenuRequested.connect(lambda: self.process_button(4, 4, 'r'))
self.pushButtonE6.clicked.connect(lambda: self.process_button(5, 4))
self.pushButtonE6.customContextMenuRequested.connect(lambda: self.process_button(5, 4, 'r'))
self.pushButtonE7.clicked.connect(lambda: self.process_button(6, 4))
self.pushButtonE7.customContextMenuRequested.connect(lambda: self.process_button(6, 4, 'r'))
self.pushButtonE8.clicked.connect(lambda: self.process_button(7, 4))
self.pushButtonE8.customContextMenuRequested.connect(lambda: self.process_button(7, 4, 'r'))
self.pushButtonE9.clicked.connect(lambda: self.process_button(8, 4))
self.pushButtonE9.customContextMenuRequested.connect(lambda: self.process_button(8, 4, 'r'))
self.pushButtonE10.clicked.connect(lambda: self.process_button(9, 4))
self.pushButtonE10.customContextMenuRequested.connect(lambda: self.process_button(9, 4, 'r'))
self.pushButtonE11.clicked.connect(lambda: self.process_button(10, 4))
self.pushButtonE11.customContextMenuRequested.connect(lambda: self.process_button(10, 4, 'r'))
self.pushButtonE12.clicked.connect(lambda: self.process_button(11, 4))
self.pushButtonE12.customContextMenuRequested.connect(lambda: self.process_button(11, 4, 'r'))
self.pushButtonE13.clicked.connect(lambda: self.process_button(12, 4))
self.pushButtonE13.customContextMenuRequested.connect(lambda: self.process_button(12, 4, 'r'))
self.pushButtonE14.clicked.connect(lambda: self.process_button(13, 4))
self.pushButtonE14.customContextMenuRequested.connect(lambda: self.process_button(13, 4, 'r'))
self.pushButtonE15.clicked.connect(lambda: self.process_button(14, 4))
self.pushButtonE15.customContextMenuRequested.connect(lambda: self.process_button(14, 4, 'r'))
# Sixth line
self.pushButtonF1.clicked.connect(lambda: self.process_button(0, 5))
self.pushButtonF1.customContextMenuRequested.connect(lambda: self.process_button(0, 5, 'r'))
self.pushButtonF2.clicked.connect(lambda: self.process_button(1, 5))
self.pushButtonF2.customContextMenuRequested.connect(lambda: self.process_button(1, 5, 'r'))
self.pushButtonF3.clicked.connect(lambda: self.process_button(2, 5))
self.pushButtonF3.customContextMenuRequested.connect(lambda: self.process_button(2, 5, 'r'))
self.pushButtonF4.clicked.connect(lambda: self.process_button(3, 5))
self.pushButtonF4.customContextMenuRequested.connect(lambda: self.process_button(3, 5, 'r'))
self.pushButtonF5.clicked.connect(lambda: self.process_button(4, 5))
self.pushButtonF5.customContextMenuRequested.connect(lambda: self.process_button(4, 5, 'r'))
self.pushButtonF6.clicked.connect(lambda: self.process_button(5, 5))
self.pushButtonF6.customContextMenuRequested.connect(lambda: self.process_button(5, 5, 'r'))
self.pushButtonF7.clicked.connect(lambda: self.process_button(6, 5))
self.pushButtonF7.customContextMenuRequested.connect(lambda: self.process_button(6, 5, 'r'))
self.pushButtonF8.clicked.connect(lambda: self.process_button(7, 5))
self.pushButtonF8.customContextMenuRequested.connect(lambda: self.process_button(7, 5, 'r'))
self.pushButtonF9.clicked.connect(lambda: self.process_button(8, 5))
self.pushButtonF9.customContextMenuRequested.connect(lambda: self.process_button(8, 5, 'r'))
self.pushButtonF10.clicked.connect(lambda: self.process_button(9, 5))
self.pushButtonF10.customContextMenuRequested.connect(lambda: self.process_button(9, 5, 'r'))
self.pushButtonF11.clicked.connect(lambda: self.process_button(10, 5))
self.pushButtonF11.customContextMenuRequested.connect(lambda: self.process_button(10, 5, 'r'))
self.pushButtonF12.clicked.connect(lambda: self.process_button(11, 5))
self.pushButtonF12.customContextMenuRequested.connect(lambda: self.process_button(11, 5, 'r'))
self.pushButtonF13.clicked.connect(lambda: self.process_button(12, 5))
self.pushButtonF13.customContextMenuRequested.connect(lambda: self.process_button(12, 5, 'r'))
self.pushButtonF14.clicked.connect(lambda: self.process_button(13, 5))
self.pushButtonF14.customContextMenuRequested.connect(lambda: self.process_button(13, 5, 'r'))
self.pushButtonF15.clicked.connect(lambda: self.process_button(14, 5))
self.pushButtonF15.customContextMenuRequested.connect(lambda: self.process_button(14, 5, 'r'))
# Seventh line
self.pushButtonG1.clicked.connect(lambda: self.process_button(0, 6))
self.pushButtonG1.customContextMenuRequested.connect(lambda: self.process_button(0, 6, 'r'))
self.pushButtonG2.clicked.connect(lambda: self.process_button(1, 6))
self.pushButtonG2.customContextMenuRequested.connect(lambda: self.process_button(1, 6, 'r'))
self.pushButtonG3.clicked.connect(lambda: self.process_button(2, 6))
self.pushButtonG3.customContextMenuRequested.connect(lambda: self.process_button(2, 6, 'r'))
self.pushButtonG4.clicked.connect(lambda: self.process_button(3, 6))
self.pushButtonG4.customContextMenuRequested.connect(lambda: self.process_button(3, 6, 'r'))
self.pushButtonG5.clicked.connect(lambda: self.process_button(4, 6))
self.pushButtonG5.customContextMenuRequested.connect(lambda: self.process_button(4, 6, 'r'))
self.pushButtonG6.clicked.connect(lambda: self.process_button(5, 6))
self.pushButtonG6.customContextMenuRequested.connect(lambda: self.process_button(5, 6, 'r'))
self.pushButtonG7.clicked.connect(lambda: self.process_button(6, 6))
self.pushButtonG7.customContextMenuRequested.connect(lambda: self.process_button(6, 6, 'r'))
self.pushButtonG8.clicked.connect(lambda: self.process_button(7, 6))
self.pushButtonG8.customContextMenuRequested.connect(lambda: self.process_button(7, 6, 'r'))
self.pushButtonG9.clicked.connect(lambda: self.process_button(8, 6))
self.pushButtonG9.customContextMenuRequested.connect(lambda: self.process_button(8, 6, 'r'))
self.pushButtonG10.clicked.connect(lambda: self.process_button(9, 6))
self.pushButtonG10.customContextMenuRequested.connect(lambda: self.process_button(9, 6, 'r'))
self.pushButtonG11.clicked.connect(lambda: self.process_button(10, 6))
self.pushButtonG11.customContextMenuRequested.connect(lambda: self.process_button(10, 6, 'r'))
self.pushButtonG12.clicked.connect(lambda: self.process_button(11, 6))
self.pushButtonG12.customContextMenuRequested.connect(lambda: self.process_button(11, 6, 'r'))
self.pushButtonG13.clicked.connect(lambda: self.process_button(12, 6))
self.pushButtonG13.customContextMenuRequested.connect(lambda: self.process_button(12, 6, 'r'))
self.pushButtonG14.clicked.connect(lambda: self.process_button(13, 6))
self.pushButtonG14.customContextMenuRequested.connect(lambda: self.process_button(13, 6, 'r'))
self.pushButtonG15.clicked.connect(lambda: self.process_button(14, 6))
self.pushButtonG15.customContextMenuRequested.connect(lambda: self.process_button(14, 6, 'r'))
# Eighth line
self.pushButtonH1.clicked.connect(lambda: self.process_button(0, 7))
self.pushButtonH1.customContextMenuRequested.connect(lambda: self.process_button(0, 7, 'r'))
self.pushButtonH2.clicked.connect(lambda: self.process_button(1, 7))
self.pushButtonH2.customContextMenuRequested.connect(lambda: self.process_button(1, 7, 'r'))
self.pushButtonH3.clicked.connect(lambda: self.process_button(2, 7))
self.pushButtonH3.customContextMenuRequested.connect(lambda: self.process_button(2, 7, 'r'))
self.pushButtonH4.clicked.connect(lambda: self.process_button(3, 7))
self.pushButtonH4.customContextMenuRequested.connect(lambda: self.process_button(3, 7, 'r'))
self.pushButtonH5.clicked.connect(lambda: self.process_button(4, 7))
self.pushButtonH5.customContextMenuRequested.connect(lambda: self.process_button(4, 7, 'r'))
self.pushButtonH6.clicked.connect(lambda: self.process_button(5, 7))
self.pushButtonH6.customContextMenuRequested.connect(lambda: self.process_button(5, 7, 'r'))
self.pushButtonH7.clicked.connect(lambda: self.process_button(6, 7))
self.pushButtonH7.customContextMenuRequested.connect(lambda: self.process_button(6, 7, 'r'))
self.pushButtonH8.clicked.connect(lambda: self.process_button(7, 7))
self.pushButtonH8.customContextMenuRequested.connect(lambda: self.process_button(7, 7, 'r'))
self.pushButtonH9.clicked.connect(lambda: self.process_button(8, 7))
self.pushButtonH9.customContextMenuRequested.connect(lambda: self.process_button(8, 7, 'r'))
self.pushButtonH10.clicked.connect(lambda: self.process_button(9, 7))
self.pushButtonH10.customContextMenuRequested.connect(lambda: self.process_button(9, 7, 'r'))
self.pushButtonH11.clicked.connect(lambda: self.process_button(10, 7))
self.pushButtonH11.customContextMenuRequested.connect(lambda: self.process_button(10, 7, 'r'))
self.pushButtonH12.clicked.connect(lambda: self.process_button(11, 7))
self.pushButtonH12.customContextMenuRequested.connect(lambda: self.process_button(11, 7, 'r'))
self.pushButtonH13.clicked.connect(lambda: self.process_button(12, 7))
self.pushButtonH13.customContextMenuRequested.connect(lambda: self.process_button(12, 7, 'r'))
self.pushButtonH14.clicked.connect(lambda: self.process_button(13, 7))
self.pushButtonH14.customContextMenuRequested.connect(lambda: self.process_button(13, 7, 'r'))
self.pushButtonH15.clicked.connect(lambda: self.process_button(14, 7))
self.pushButtonH15.customContextMenuRequested.connect(lambda: self.process_button(14, 7, 'r'))
# Nineth line
self.pushButtonI1.clicked.connect(lambda: self.process_button(0, 8))
self.pushButtonI1.customContextMenuRequested.connect(lambda: self.process_button(0, 8, 'r'))
self.pushButtonI2.clicked.connect(lambda: self.process_button(1, 8))
self.pushButtonI2.customContextMenuRequested.connect(lambda: self.process_button(1, 8, 'r'))
self.pushButtonI3.clicked.connect(lambda: self.process_button(2, 8))
self.pushButtonI3.customContextMenuRequested.connect(lambda: self.process_button(2, 8, 'r'))
self.pushButtonI4.clicked.connect(lambda: self.process_button(3, 8))
self.pushButtonI4.customContextMenuRequested.connect(lambda: self.process_button(3, 8, 'r'))
self.pushButtonI5.clicked.connect(lambda: self.process_button(4, 8))
self.pushButtonI5.customContextMenuRequested.connect(lambda: self.process_button(4, 8, 'r'))
self.pushButtonI6.clicked.connect(lambda: self.process_button(5, 8))
self.pushButtonI6.customContextMenuRequested.connect(lambda: self.process_button(5, 8, 'r'))
self.pushButtonI7.clicked.connect(lambda: self.process_button(6, 8))
self.pushButtonI7.customContextMenuRequested.connect(lambda: self.process_button(6, 8, 'r'))
self.pushButtonI8.clicked.connect(lambda: self.process_button(7, 8))
self.pushButtonI8.customContextMenuRequested.connect(lambda: self.process_button(7, 8, 'r'))
self.pushButtonI9.clicked.connect(lambda: self.process_button(8, 8))
self.pushButtonI9.customContextMenuRequested.connect(lambda: self.process_button(8, 8, 'r'))
self.pushButtonI10.clicked.connect(lambda: self.process_button(9, 8))
self.pushButtonI10.customContextMenuRequested.connect(lambda: self.process_button(9, 8, 'r'))
self.pushButtonI11.clicked.connect(lambda: self.process_button(10, 8))
self.pushButtonI11.customContextMenuRequested.connect(lambda: self.process_button(10, 8, 'r'))
self.pushButtonI12.clicked.connect(lambda: self.process_button(11, 8))
self.pushButtonI12.customContextMenuRequested.connect(lambda: self.process_button(11, 8, 'r'))
self.pushButtonI13.clicked.connect(lambda: self.process_button(12, 8))
self.pushButtonI13.customContextMenuRequested.connect(lambda: self.process_button(12, 8, 'r'))
self.pushButtonI14.clicked.connect(lambda: self.process_button(13, 8))
self.pushButtonI14.customContextMenuRequested.connect(lambda: self.process_button(13, 8, 'r'))
self.pushButtonI15.clicked.connect(lambda: self.process_button(14, 8))
self.pushButtonI15.customContextMenuRequested.connect(lambda: self.process_button(14, 8, 'r'))
# Tenth line
self.pushButtonJ1.clicked.connect(lambda: self.process_button(0, 9))
self.pushButtonJ1.customContextMenuRequested.connect(lambda: self.process_button(0, 9, 'r'))
self.pushButtonJ2.clicked.connect(lambda: self.process_button(1, 9))
self.pushButtonJ2.customContextMenuRequested.connect(lambda: self.process_button(1, 9, 'r'))
self.pushButtonJ3.clicked.connect(lambda: self.process_button(2, 9))
self.pushButtonJ3.customContextMenuRequested.connect(lambda: self.process_button(2, 9, 'r'))
self.pushButtonJ4.clicked.connect(lambda: self.process_button(3, 9))
self.pushButtonJ4.customContextMenuRequested.connect(lambda: self.process_button(3, 9, 'r'))
self.pushButtonJ5.clicked.connect(lambda: self.process_button(4, 9))
self.pushButtonJ5.customContextMenuRequested.connect(lambda: self.process_button(4, 9, 'r'))
self.pushButtonJ6.clicked.connect(lambda: self.process_button(5, 9))
self.pushButtonJ6.customContextMenuRequested.connect(lambda: self.process_button(5, 9, 'r'))
self.pushButtonJ7.clicked.connect(lambda: self.process_button(6, 9))
self.pushButtonJ7.customContextMenuRequested.connect(lambda: self.process_button(6, 9, 'r'))
self.pushButtonJ8.clicked.connect(lambda: self.process_button(7, 9))
self.pushButtonJ8.customContextMenuRequested.connect(lambda: self.process_button(7, 9, 'r'))
self.pushButtonJ9.clicked.connect(lambda: self.process_button(8, 9))
self.pushButtonJ9.customContextMenuRequested.connect(lambda: self.process_button(8, 9, 'r'))
self.pushButtonJ10.clicked.connect(lambda: self.process_button(9, 9))
self.pushButtonJ10.customContextMenuRequested.connect(lambda: self.process_button(9, 9, 'r'))
self.pushButtonJ11.clicked.connect(lambda: self.process_button(10, 9))
self.pushButtonJ11.customContextMenuRequested.connect(lambda: self.process_button(10, 9, 'r'))
self.pushButtonJ12.clicked.connect(lambda: self.process_button(11, 9))
self.pushButtonJ12.customContextMenuRequested.connect(lambda: self.process_button(11, 9, 'r'))
self.pushButtonJ13.clicked.connect(lambda: self.process_button(12, 9))
self.pushButtonJ13.customContextMenuRequested.connect(lambda: self.process_button(12, 9, 'r'))
self.pushButtonJ14.clicked.connect(lambda: self.process_button(13, 9))
self.pushButtonJ14.customContextMenuRequested.connect(lambda: self.process_button(13, 9, 'r'))
self.pushButtonJ15.clicked.connect(lambda: self.process_button(14, 9))
self.pushButtonJ15.customContextMenuRequested.connect(lambda: self.process_button(14, 9, 'r'))
# Eleventh line
self.pushButtonK1.clicked.connect(lambda: self.process_button(0, 10))
self.pushButtonK1.customContextMenuRequested.connect(lambda: self.process_button(0, 10, 'r'))
self.pushButtonK2.clicked.connect(lambda: self.process_button(1, 10))
self.pushButtonK2.customContextMenuRequested.connect(lambda: self.process_button(1, 10, 'r'))
self.pushButtonK3.clicked.connect(lambda: self.process_button(2, 10))
self.pushButtonK3.customContextMenuRequested.connect(lambda: self.process_button(2, 10, 'r'))
self.pushButtonK4.clicked.connect(lambda: self.process_button(3, 10))
self.pushButtonK4.customContextMenuRequested.connect(lambda: self.process_button(3, 10, 'r'))
self.pushButtonK5.clicked.connect(lambda: self.process_button(4, 10))
self.pushButtonK5.customContextMenuRequested.connect(lambda: self.process_button(4, 10, 'r'))
self.pushButtonK6.clicked.connect(lambda: self.process_button(5, 10))
self.pushButtonK6.customContextMenuRequested.connect(lambda: self.process_button(5, 10, 'r'))
self.pushButtonK7.clicked.connect(lambda: self.process_button(6, 10))
self.pushButtonK7.customContextMenuRequested.connect(lambda: self.process_button(6, 10, 'r'))
self.pushButtonK8.clicked.connect(lambda: self.process_button(7, 10))
self.pushButtonK8.customContextMenuRequested.connect(lambda: self.process_button(7, 10, 'r'))
self.pushButtonK9.clicked.connect(lambda: self.process_button(8, 10))
self.pushButtonK9.customContextMenuRequested.connect(lambda: self.process_button(8, 10, 'r'))
self.pushButtonK10.clicked.connect(lambda: self.process_button(9, 10))
self.pushButtonK10.customContextMenuRequested.connect(lambda: self.process_button(9, 10, 'r'))
self.pushButtonK11.clicked.connect(lambda: self.process_button(10, 10))
self.pushButtonK11.customContextMenuRequested.connect(lambda: self.process_button(10, 10, 'r'))
self.pushButtonK12.clicked.connect(lambda: self.process_button(11, 10))
self.pushButtonK12.customContextMenuRequested.connect(lambda: self.process_button(11, 10, 'r'))
self.pushButtonK13.clicked.connect(lambda: self.process_button(12, 10))
self.pushButtonK13.customContextMenuRequested.connect(lambda: self.process_button(12, 10, 'r'))
self.pushButtonK14.clicked.connect(lambda: self.process_button(13, 10))
self.pushButtonK14.customContextMenuRequested.connect(lambda: self.process_button(13, 10, 'r'))
self.pushButtonK15.clicked.connect(lambda: self.process_button(14, 10))
self.pushButtonK15.customContextMenuRequested.connect(lambda: self.process_button(14, 10, 'r'))
# Twelveth line
self.pushButtonL1.clicked.connect(lambda: self.process_button(0, 11))
self.pushButtonL1.customContextMenuRequested.connect(lambda: self.process_button(0, 11, 'r'))
self.pushButtonL2.clicked.connect(lambda: self.process_button(1, 11))
self.pushButtonL2.customContextMenuRequested.connect(lambda: self.process_button(1, 11, 'r'))
self.pushButtonL3.clicked.connect(lambda: self.process_button(2, 11))
self.pushButtonL3.customContextMenuRequested.connect(lambda: self.process_button(2, 11, 'r'))
self.pushButtonL4.clicked.connect(lambda: self.process_button(3, 11))
self.pushButtonL4.customContextMenuRequested.connect(lambda: self.process_button(3, 11, 'r'))
self.pushButtonL5.clicked.connect(lambda: self.process_button(4, 11))
self.pushButtonL5.customContextMenuRequested.connect(lambda: self.process_button(4, 11, 'r'))
self.pushButtonL6.clicked.connect(lambda: self.process_button(5, 11))
self.pushButtonL6.customContextMenuRequested.connect(lambda: self.process_button(5, 11, 'r'))
self.pushButtonL7.clicked.connect(lambda: self.process_button(6, 11))
self.pushButtonL7.customContextMenuRequested.connect(lambda: self.process_button(6, 11, 'r'))
self.pushButtonL8.clicked.connect(lambda: self.process_button(7, 11))
self.pushButtonL8.customContextMenuRequested.connect(lambda: self.process_button(7, 11, 'r'))
self.pushButtonL9.clicked.connect(lambda: self.process_button(8, 11))
self.pushButtonL9.customContextMenuRequested.connect(lambda: self.process_button(8, 11, 'r'))
self.pushButtonL10.clicked.connect(lambda: self.process_button(9, 11))
self.pushButtonL10.customContextMenuRequested.connect(lambda: self.process_button(9, 11, 'r'))
self.pushButtonL11.clicked.connect(lambda: self.process_button(10, 11))
self.pushButtonL11.customContextMenuRequested.connect(lambda: self.process_button(10, 11, 'r'))
self.pushButtonL12.clicked.connect(lambda: self.process_button(11, 11))
self.pushButtonL12.customContextMenuRequested.connect(lambda: self.process_button(11, 11, 'r'))
self.pushButtonL13.clicked.connect(lambda: self.process_button(12, 11))
self.pushButtonL13.customContextMenuRequested.connect(lambda: self.process_button(12, 11, 'r'))
self.pushButtonL14.clicked.connect(lambda: self.process_button(13, 11))
self.pushButtonL14.customContextMenuRequested.connect(lambda: self.process_button(13, 11, 'r'))
self.pushButtonL15.clicked.connect(lambda: self.process_button(14, 11))
self.pushButtonL15.customContextMenuRequested.connect(lambda: self.process_button(14, 11, 'r'))
# Thirteenth line
self.pushButtonM1.clicked.connect(lambda: self.process_button(0, 12))
self.pushButtonM1.customContextMenuRequested.connect(lambda: self.process_button(0, 12, 'r'))
self.pushButtonM2.clicked.connect(lambda: self.process_button(1, 12))
self.pushButtonM2.customContextMenuRequested.connect(lambda: self.process_button(1, 12, 'r'))
self.pushButtonM3.clicked.connect(lambda: self.process_button(2, 12))
self.pushButtonM3.customContextMenuRequested.connect(lambda: self.process_button(2, 12, 'r'))
self.pushButtonM4.clicked.connect(lambda: self.process_button(3, 12))
self.pushButtonM4.customContextMenuRequested.connect(lambda: self.process_button(3, 12, 'r'))
self.pushButtonM5.clicked.connect(lambda: self.process_button(4, 12))
self.pushButtonM5.customContextMenuRequested.connect(lambda: self.process_button(4, 12, 'r'))
self.pushButtonM6.clicked.connect(lambda: self.process_button(5, 12))
self.pushButtonM6.customContextMenuRequested.connect(lambda: self.process_button(5, 12, 'r'))
self.pushButtonM7.clicked.connect(lambda: self.process_button(6, 12))
self.pushButtonM7.customContextMenuRequested.connect(lambda: self.process_button(6, 12, 'r'))
self.pushButtonM8.clicked.connect(lambda: self.process_button(7, 12))
self.pushButtonM8.customContextMenuRequested.connect(lambda: self.process_button(7, 12, 'r'))
self.pushButtonM9.clicked.connect(lambda: self.process_button(8, 12))
self.pushButtonM9.customContextMenuRequested.connect(lambda: self.process_button(8, 12, 'r'))
self.pushButtonM10.clicked.connect(lambda: self.process_button(9, 12))
self.pushButtonM10.customContextMenuRequested.connect(lambda: self.process_button(9, 12, 'r'))
self.pushButtonM11.clicked.connect(lambda: self.process_button(10, 12))
self.pushButtonM11.customContextMenuRequested.connect(lambda: self.process_button(10, 12, 'r'))
self.pushButtonM12.clicked.connect(lambda: self.process_button(11, 12))
self.pushButtonM12.customContextMenuRequested.connect(lambda: self.process_button(11, 12, 'r'))
self.pushButtonM13.clicked.connect(lambda: self.process_button(12, 12))
self.pushButtonM13.customContextMenuRequested.connect(lambda: self.process_button(12, 12, 'r'))
self.pushButtonM14.clicked.connect(lambda: self.process_button(13, 12))
self.pushButtonM14.customContextMenuRequested.connect(lambda: self.process_button(13, 12, 'r'))
self.pushButtonM15.clicked.connect(lambda: self.process_button(14, 12))
self.pushButtonM15.customContextMenuRequested.connect(lambda: self.process_button(14, 12, 'r'))
# Fourteenth line
self.pushButtonN1.clicked.connect(lambda: self.process_button(0, 13))
self.pushButtonN1.customContextMenuRequested.connect(lambda: self.process_button(0, 13, 'r'))
self.pushButtonN2.clicked.connect(lambda: self.process_button(1, 13))
self.pushButtonN2.customContextMenuRequested.connect(lambda: self.process_button(1, 13, 'r'))
self.pushButtonN3.clicked.connect(lambda: self.process_button(2, 13))
self.pushButtonN3.customContextMenuRequested.connect(lambda: self.process_button(2, 13, 'r'))
self.pushButtonN4.clicked.connect(lambda: self.process_button(3, 13))
self.pushButtonN4.customContextMenuRequested.connect(lambda: self.process_button(3, 13, 'r'))
self.pushButtonN5.clicked.connect(lambda: self.process_button(4, 13))
self.pushButtonN5.customContextMenuRequested.connect(lambda: self.process_button(4, 13, 'r'))
self.pushButtonN6.clicked.connect(lambda: self.process_button(5, 13))
self.pushButtonN6.customContextMenuRequested.connect(lambda: self.process_button(5, 13, 'r'))
self.pushButtonN7.clicked.connect(lambda: self.process_button(6, 13))
self.pushButtonN7.customContextMenuRequested.connect(lambda: self.process_button(6, 13, 'r'))
self.pushButtonN8.clicked.connect(lambda: self.process_button(7, 13))
self.pushButtonN8.customContextMenuRequested.connect(lambda: self.process_button(7, 13, 'r'))
self.pushButtonN9.clicked.connect(lambda: self.process_button(8, 13))
self.pushButtonN9.customContextMenuRequested.connect(lambda: self.process_button(8, 13, 'r'))
self.pushButtonN10.clicked.connect(lambda: self.process_button(9, 13))
self.pushButtonN10.customContextMenuRequested.connect(lambda: self.process_button(9, 13, 'r'))
self.pushButtonN11.clicked.connect(lambda: self.process_button(10, 13))
self.pushButtonN11.customContextMenuRequested.connect(lambda: self.process_button(10, 13, 'r'))
self.pushButtonN12.clicked.connect(lambda: self.process_button(11, 13))
self.pushButtonN12.customContextMenuRequested.connect(lambda: self.process_button(11, 13, 'r'))
self.pushButtonN13.clicked.connect(lambda: self.process_button(12, 13))
self.pushButtonN13.customContextMenuRequested.connect(lambda: self.process_button(12, 13, 'r'))
self.pushButtonN14.clicked.connect(lambda: self.process_button(13, 13))
self.pushButtonN14.customContextMenuRequested.connect(lambda: self.process_button(13, 13, 'r'))
self.pushButtonN15.clicked.connect(lambda: self.process_button(14, 13))
self.pushButtonN15.customContextMenuRequested.connect(lambda: self.process_button(14, 13, 'r'))
# Fiveteenth line
self.pushButtonO1.clicked.connect(lambda: self.process_button(0, 14))
self.pushButtonO1.customContextMenuRequested.connect(lambda: self.process_button(0, 14, 'r'))
self.pushButtonO2.clicked.connect(lambda: self.process_button(1, 14))
self.pushButtonO2.customContextMenuRequested.connect(lambda: self.process_button(1, 14, 'r'))
self.pushButtonO3.clicked.connect(lambda: self.process_button(2, 14))
self.pushButtonO3.customContextMenuRequested.connect(lambda: self.process_button(2, 14, 'r'))
self.pushButtonO4.clicked.connect(lambda: self.process_button(3, 14))
self.pushButtonO4.customContextMenuRequested.connect(lambda: self.process_button(3, 14, 'r'))
self.pushButtonO5.clicked.connect(lambda: self.process_button(4, 14))
self.pushButtonO5.customContextMenuRequested.connect(lambda: self.process_button(4, 14, 'r'))
self.pushButtonO6.clicked.connect(lambda: self.process_button(5, 14))
self.pushButtonO6.customContextMenuRequested.connect(lambda: self.process_button(5, 14, 'r'))
self.pushButtonO7.clicked.connect(lambda: self.process_button(6, 14))
self.pushButtonO7.customContextMenuRequested.connect(lambda: self.process_button(6, 14, 'r'))
self.pushButtonO8.clicked.connect(lambda: self.process_button(7, 14))
self.pushButtonO8.customContextMenuRequested.connect(lambda: self.process_button(7, 14, 'r'))
self.pushButtonO9.clicked.connect(lambda: self.process_button(8, 14))
self.pushButtonO9.customContextMenuRequested.connect(lambda: self.process_button(8, 14, 'r'))
self.pushButtonO10.clicked.connect(lambda: self.process_button(9, 14))
self.pushButtonO10.customContextMenuRequested.connect(lambda: self.process_button(9, 14, 'r'))
self.pushButtonO11.clicked.connect(lambda: self.process_button(10, 14))
self.pushButtonO11.customContextMenuRequested.connect(lambda: self.process_button(10, 14, 'r'))
self.pushButtonO12.clicked.connect(lambda: self.process_button(11, 14))
self.pushButtonO12.customContextMenuRequested.connect(lambda: self.process_button(11, 14, 'r'))
self.pushButtonO13.clicked.connect(lambda: self.process_button(12, 14))
self.pushButtonO13.customContextMenuRequested.connect(lambda: self.process_button(12, 14, 'r'))
self.pushButtonO14.clicked.connect(lambda: self.process_button(13, 14))
self.pushButtonO14.customContextMenuRequested.connect(lambda: self.process_button(13, 14, 'r'))
self.pushButtonO15.clicked.connect(lambda: self.process_button(14, 14))
self.pushButtonO15.customContextMenuRequested.connect(lambda: self.process_button(14, 14, 'r'))
@staticmethod
def get_range_limits(x: int, y: int) -> (int, int, int, int):
"""
Get the range axis limits
:param x: Center value in the axis X
:param y: Center value in the axis Y
:return: Range limits (x_min, x_max, y_min, y_max)
"""
x_min: int = 0 if x - 1 < 0 else x - 1
x_max: int = Constants.LENGTH_AXIS_X if x + 2 > Constants.LENGTH_AXIS_X else x + 2
y_min: int = 0 if y - 1 < 0 else y - 1
y_max: int = Constants.LENGTH_AXIS_Y if y + 2 > Constants.LENGTH_AXIS_Y else y + 2
return x_min, x_max, y_min, y_max
def process_neighbour_buttons(self, x: int, y: int):
"""
Process the neighbour of the buttons
:param x: Value in the axis X
:param y: Value in the axis Y
"""
x_min, x_max, y_min, y_max = self.get_range_limits(x, y)
for i in range(x_min, x_max):
for j in range(y_min, y_max):
if self.board[j][i].isCheckable():
self.process_button(i, j)