/Saper

This is source and documentation for my I semestral final project.

Primary LanguageC++MIT LicenseMIT

Saper

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

  1. Opis projektu. Celem projektu będzie stworzenie gry logicznej Saper
  2. 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
  3. 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
  4. 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:

image

Następnie wybieramy czy chcemy odkrywać pola czy je flagować

image

Po wybraniu stosownego trybu wpisujemy współrzędne w postaci: [kolumna][wiersz]

image

Program pokazuje nam ile zostało jeszcze min, ile czasu minęło i w jakim trybie aktualnie się znajdujemy.

image

Program kończy się gdy oflagujemy wszystkie bomby lub na jakąś natrafimy

image image

Pod koniec program pyta nas czy chcielibyśmy zacząć od nowa.

  1. 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.