- Główne okno (dalej jako menu) zawiera cztery przyciski:
- Beginner - odświeża menu i tworzy pole dla gry o parametrach: długość - 9, szerokość - 9 (przycisków), min - 10,
- Intermediate - robi to samo tylko o parametrach: długość - 16, szerokość - 16 (przycisków), min - 40,
- Expert - robi to samo, tylko o parametrach: długość - 16, szerokość - 30 (przycisków), min - 99,
- Сustom - robi to samo, tylko pobiera informacje z trzech pól tekstowych (height, width, mines) o podanych użytkownikowi parametrach (domyślnie długość - 16, szerokość - 30 (przycisków), min - 145).
- Wprowadzenie mniejszego rozmiaru planszy niż 5x5, powoduje wyświetlenie komunikatu o blędzie. Nie można rozpocząć gry dopóki te parametry nie są poprawne. W przypaku podania za dużej liczby min, program tworzy nową grę i oblicza liczbe min za folmulą `len(height) * len(width) - 1`
- Na początku gry na losowych polach umieszczane jest tyle min ile wskazano w polu tekstowym lub w zależności od poziomu trudności.
- Na górze programu znajdują się następujące widgety:
- Przycisk Menu (lub ESC) - który konczy grę i wraca do menu,
- Przycisk NG (New Game) - który zaczyna nową gre,
- Etykieta która pokazuje ile pozostało min do dezaktywacji.
- Po kliknięciu lewym przyciskiem na pole:
- Jeśli w tym polu znajduje się mina, wyświetlana na dole jest wiadomość o przegranej grze, a następnie pokazuje wszystkie miny które pozostały do dezaktywacji (czerwonym kolorem) i gra się kończy,
- Jeśli w sąsiedztwie pola są miny, na przycisku wyświetlana jest ich liczba a pole dezaktywuje się,
- Jeśli wartość pola (min w sąsiedztwie) wynosi zero, to rekurencyjnie bedą otwierane i dezaktywowane najblizsze pola, które mają w sąsiedztwie chociaż jedną minę.
- Po kliknięciu prawym przyciskiem na pole, zmienia tło na zielone, co program rozumie to jako "jest tu mina", i etykieta obniża watość o jeden. W przypadku kliknięcia prawym przyciskiem na pole które już ma zielone tło, program zwróci poprzednie tło i etykieta zwiększa watość min do dezaktywacji o jeden
- Gra kończy się po kliknięciu wszystkich pól bez min, lub oznaczeniu "tu jest mina", i program wywietla o tym na dole wiadomość.
- test_Input_String - ten test probuje rozpocząć gre w trybie "Custom" podając litery.
- test_Input_Invalid_Data - ten test probuje rozpocząć gre w trybie "Custom" podając niepoprawne wartośći.
- test_Empty_Input- ten test probuje rozpocząć gre w trybie "Custom" nie podając żadnych wartośći.