This is source and documentation for my I semestral final project.
Politechnika Śląska Wydział Matematyk Stosowanej Kierunek Informatyka Gliwice, 01.10.2020
Programowanie I projekt zaliczeniowy "Saper"
Ireneusz Kosek gr. lab. 2/3
- Opis projektu. Celem projektu będzie stworzenie gry logicznej Saper
- Wymagania -Użytkownik może wybrać rozmiar planszy -Użytkownik może wybrać ilość bomb -Program pozwala flagować rozmieszczenie bomb i zlicza ile zostało jeszcze nieoznakowanych -Program informuje ile bomb sąsiaduje z polem -Program liczy upływ czasu -Program rekurencyjnie odsłania pola
- Przebieg realizacji W ramach projektu zostały zrealizowane wszystkie założone wcześniej wymagania. Projekt końcowy składa się z dwóch plików: saper.cpp i saper.exe Do generowania położenia bomb użyto algorytmu mt19937 Użyte biblioteki: -windows.h – zbiór funkcji w Windows API – pozwolił na użycie kolorów w konsoli -time.h – biblioteka z funkcjami czasu – użyta do naliczania czasu. -random – biblioteka z generatorami liczb losowych – tutaj wykorzystano generator mt19937
- Instrukcja użytkownika Opis działania stworzonego programu ze zrzutami ekranów ilustrujące sposób działania programu. Krótka instrukcja obsługi Na początku program pyta nas o rozmiar planszy oraz ilość zadanych min:
Następnie wybieramy czy chcemy odkrywać pola czy je flagować
Po wybraniu stosownego trybu wpisujemy współrzędne w postaci: [kolumna][wiersz]
Program pokazuje nam ile zostało jeszcze min, ile czasu minęło i w jakim trybie aktualnie się znajdujemy.
Program kończy się gdy oflagujemy wszystkie bomby lub na jakąś natrafimy
Pod koniec program pyta nas czy chcielibyśmy zacząć od nowa.
- Podsumowanie i wnioski. Udało się zrealizować wszystkie założenia programu. Największe problemy pojawiały się z początku przy rekurencji, przy nie wychodzeniu poza zakres, przyjmowaniu danych od użytkownika i sprawdzaniu czy koordynaty są zgodne z oczekiwanym schematem oraz sprawdzaniu warunku zwycięstwa. Program warto by w przyszłości wzbogacić o interfejs graficzny i być może tryb gry z komputerem.