Ćwiczenia
- Program graficzny umożliwia rysowanie następujących figur geometrycznych: prostokąt, koło, trójkąt, równoległobok, sześciokąt. Zaprojektować klasy reprezentujące figury geometryczne. Zaimplementować metodę liczącą pole powierzchni tablicy figur.
- Zaprojektować i zaimplementować klasę Student, przechowującą imię, nazwisko, nr indeksu, nr roku, listę przedmiotów studenta. Zaprojektować konstruktory oraz inne metody.
- Wydzielić ze Studenta nadklasę Osoba, z odpowiednimi atrybutami, konstruktorami i metodami.
Laboratorium
- Zaprojektuj hierarchię klas opisujących pojazdy komunikacji miejskiej. Wyraź w tej hierarchii nastepujące fakty:
- wszystkie pojazdy komunikacji miejskiej (k. m.) są pojazdami,
- komunikacja miejska używa tramwajów i autobusów,
- pojazdy są garażowane w zajezdniach,
- każdy pojazd zna swoją szybkość maksymalną,
- każdy pojazd k. m. zna swój numer,
- każdy pojazd k. m. zna swoją zajezdnieę,
- każdy tramwaj jest zestawem 1 do 3 wagonów (i wie, z ilu wagonów się składa),
- każdy autobus wie, ile zużył paliwa w bieżącym miesiącu,
- każda zajezdnia zna swoja nazwę,
- każda zajezdnia wie, jakie pojazdy do niej należą,
- każda zajezdnia ma nazwę.
-
Bitwa robotów wojennych odbywa się na polu bitwy reprezentowanym przez planszę o rozmiarze 8 na 8. Uczestniczą w niej dwa roboty, których celem jest zniszczenie się nawzajem.
Początkowo roboty ustawione są tak, jak na poniższym diagramie, gdzie 'vA' oraz '^B' reprezentują roboty A i B skierowane odpowiednio na południe (v) i na północ (^).
_ _ _ _ _ _ _ _
_ _ _ vA_ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ ^B_ _ _
_ _ _ _ _ _ _ _
Każda tura bitwy składa się z akcji wykonywanych kolejno przez roboty A i B. Możliwe akcje dla każdego robota:- obrót w lewo lub w prawo
- krok do przodu. Wykonanie jest możliwe tylko wtedy, gdy docelowe pole jest wolne.
- strzał. Robot strzela przed siebie laserem mającym zasięg wzdłuż całej linii.
Bitwa trwa 20 tur lub do czasu, gdy jeden robot zniszczy drugiego. Napisz klasy symulujące bitwę robotów. Każda akcja robota powinna zostać wypisana na ekranie. Program powinien wypisywać stan pola bitwy po każdej turze. Zadbaj o właściwy podział odpowiedzialności między klasami.
Praca domowa nr 5
Do wyboru: zadanie 1 lub zadanie 2.
- Rozwiązanie w należy wysłać mailem na adres kozubek (at) mimuw.edu.pl.
- Rozwiązanie powinno mieć postać jednego pliku. Jeśli chcemy wysłać kilka plików, należy spakować je zip-em. Nazwa pliku powinna zawierać imię i nazwisko autora, np. JanKowalski.zip.
- Temat wiadomości to PO5.