student
   

Programowanie obiektowe

Projekt I

Ogólnie: Napisać w języku C++ aplikację umożliwiającą testowanie "układów nie bijących" na szachownicy 8x8 dla zadancyh figur.

Szczegóły: Program powinien umożliwić:
  • Wybór rodzaju gry - gracz wybiera jakie (spośród figur: król, hetman, skoczek, goniec, wieża) i w jakiej ilości (każda figura w ilości 1 - 25) - możliwe są dowolne kombinacje figur i ich ilości
  • Rozmieszczenie figur - w trybie tekstowym, ale z podglądem planszy gracz może dowolne rozmiesczać figury, rozstawianie może odbywać się w dowolnej kolejności, gracz musi mieć możliwość zmiany w dowolny momencie dowolnej wybranej figury
  • Weryfikacja "układów nie bijących" - w dowolnym momencie rozmieszczania gracz może sprawdzić czy dany układ na szachownicy jest układem, w którym żadne dwie figury (zgodnie ze standardowymi zasadami gry w szachy) nie biją się (w momencie weryfikacji przyjmujemy, że wszytkie figury testowane względem dajej należą do przeciwnika)
  • Zapis rozwiązania - Zapis do pliku tekstowego stanu gry, wraz z informacją o rodzaju gry
  • Na ocenę bardzo dobrą - wymagana jest dodatkowo możliwość wczytania "zapisu rozwiązania"
Całość musi być wykonana obiektowo!
Konieczne jest wykazanie się umiejętnością poprawnego definiowania klas, dynamicznego tworzenia obiektów oraz implementcją podstawowych relacji między klasami.

Forma i czas zaliczenia: program piszemy i oddajemy w grupach 2 osobowych w terminie 3 zjadów od ogłoszenia zadania.

Projekt II - Windy

Ogólnie: Napisać w języku C++ aplikację umożliwiającą zarządzającą windami w naszym Instytucie

Szczegóły: Zakladmy, że nasz Instytut ma 0<n<=99 pięter oraz 0<m<=;9 wind, a każda winda moze obsługiwac pietra od 0<=n1<n2<=99 (i w każdym szybie jest jedna winda :). Windy poruszaja się z jednakową prędkością krokowo: w jednym kroku winda może przejechać jedno piętro, lub załadować jedną osobę lub wyładować jedną osobę. Wszyskie windy startują ze swojego najniższego piętra. Na każdym piętrze, które nie jest pierwsze znajduje się przycisk [w dół]. Na każdym piętrze które nie jest ostatnie znajduje się przycisk [w górę]. W każdym kroku użytkownik może zdecydować o wciśnięciu dowolnej liczby przycisków. Każde wciśnięcie jest traktowane jako jeden klient - chętny do zmiany piętra. Po decyzji użytkownika ile i jakich wcisnąc przycisków i na których piętrach, nastepuje faza wysiadania - wsyscy którzy dojechli na pietro docelowe mogą wysiadac (pamietaj o ograniczeniu prędkości - jedna osoba w jednym kroku), następnie faza wsiadnia (z tym samym ograniczeniem), dodatkowo przy wsiadaniu użytkownik decyduje na które pietro wysyła klienta. Należy uwzględenić kierunek windy (winda jadąca na górę nie zabiera osób udających się na dół) Program powinien umożliwić:
  • wybór parametrów programu: n, m i n1,n2 dla każdej z wind
  • zobrazowanie w trybie tekstowym aktualnego stanu wind (ile osób, gdzie jadą, kierunek windy)
  • wykonywanie krok po kroku pogramu zgodnie z cyklem: naciskanie, wysiadanie,wsiadanie, ruch wind.
  • komunikaty o akcjach - co się dzieje w każdym kroku
  • w miarę optymale wykorzystanie wind
Forma i czas zaliczenia: program piszemy i oddajemy w grupach 2 osobowych w terminie 3 zjadów od ogłoszenia zadania - czyli do 10 zjazdu

Szablony sprawozdań - autor: mgr inż. A. Tomczyk
Szablon wersja MS Word
Szablon wersja OpenOffice
 

Konsultacje  

Ważne info:
Koło algorytmiczne
spotkania w PON o 12.00h sala sanów

Ważne info:
Zawody algorytmiczne
już 28 października 2005 - jedź z nami!

Chcę otrzymywać newsy:
Podaj swój mail:

 

 


student site & engine by DONE

 

wszelkie pytania proszę kierować pod adres r.papis@done.pl
 

 

DONE