W ramach przedmiotu Języki Programowania poprosiłem studentów o zrobienie projektów. Kilka z nich, tych powiązanych z grami i z akustyką udostępnię na blogu.
Na początek gra w statki zrealizowana przez Bartosza Dittmara i Bartosza Pawłowicza. Program działa w konsoli, ale algorytm gry przez komputer jest bardzo skuteczny. Poniżej fragmenty opisu wykonanego przez autorów:
"Pisanie programu rozpoczęliśmy od napisania funkcji wyświetlania plansz gracza i komputera (na początku jeszcze pustych). Następnie zajęliśmy się stawianiem statków graczy przy zachowaniu zasad obowiązujących w grze. Kolejny krok to wykonywanie strzelania przez gracza i efekty strzału widoczne na planszy w zależności od miejsca które zostało trafione w tym także automatyczne obtoczenie zestrzelonego statku pudłami (ponieważ tam nie mógłby stać żaden statek). Późniejsze prace dotyczyły w większości stworzenia jak najbardziej efektywnego algorytmu postępowania dla gracza komputerowego, który opisany jest w dalszej części dokumentacji. W międzyczasie trwały także prace nad estetyką projektu (np. wprowadzenie kolorów oraz menu początkowego).
[...]
-int jakikierunek(int t, int s, int q) - sprawdzenie jak najprawdopodobniej ustawiony jest trafiony statek, zlicza ilość wolnych pól w każdym kierunku (wartość maksymalna zależy od rozmiaru największego pozostałego statku) i analizuje wynik zwracając kierunek w którym zostanie oddany strzał (kierunek: 0-prawo 1-lewo 2-góra 3-dół)
-int goradol, int lewoprawo – funkcje sprawdzają w którym kierunku najlepiej oddać kolejny strzał gdy wiemy już czy trafiony statek jest ustawiony pionowo lub poziomo
-int szukanie(int q) - sprawdzenie czy istnieją miejsca o większym prawdopodobieństwie wystąpienia największego niezatopionego statku (rozmiar określa q) na podstawie odpowiedniej analizy zmiennych wynikowych z funkcji spionowo i spoziomo; funkcja zwraca zmienną krzyzyk określającą jakich miejsc ma szukać komputer"
Ściągnij program
google.com, pub-0177550132004975, DIRECT, f08c47fec0942fa0
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz