Laboratorium 24.03.2003 ----------------------- Pierwsze zadanie punktowane, termin oddania 7.04.2003. W grze w wojnę bierze udział dwu graczy grających talią 24 kart. Na początku karty są tasowane, potem obaj gracze otrzymują po 12 kart. Gra polega na tym, że gracze wykładają swoje pierwsze karty, ten który wyłożył wyższą kartę bierze obie i umieszcza (w dowolnej kolejności) na końcu swoich kart. Jeśli obaj gracze wyłożą kartę o tej samej wartości, to dokładają jeszcze po jednej i jeszcze raz po jednej. Ten który dołożył wyższą z tych trzecich kart bierze wszystkie 6 kart i dokłada je (w dowolnej kolejności) na koniec swoich kart. Jeżeli któremuś z graczy zabraknie kart, to jego rywal bierze wszystkie karty. Jeżeli 3-cie karty były równe, to postępowanie powtarza się (i porównuje 5-te karty, jeżeli i to nie pomoże, to 7-me itd.). Jeśli w czasie takiego dokładania w tym samym momencie obu graczom skończą się karty, to gra kończy się remisem. Przegrywa ten gracz, któremu pierwszemu skończą się karty. Napisz program symulujący grę w wojnę. Program powinien na początku wygenerować listę wszystkich kart (funkcja TwórzTalię), potasować ją (procedura Tasuj, działająca na zasadzie przestawiania kart na liście), rozdzielić na dwie listy (co drugą, procedura Podziel), a następnie póki któraś z list się nie skończy wykonujący pojedynczy krok gry (procedura Zagranie) zgodnie z podanymi regułami gry. Przed pierwszym zagraniem i po każdym zagraniu program ma wypisywać obie listy na ekranie (w dowolny czytelny sposób, procedura Wypisz wypisująca jedną listę) i czekać aż użytkownik naciśnie przycisk n (kolejne zagranie) lub k (przerwanie gry). Wymagana struktura danych: lista prosta (to nie jest jedyna dobra reprezentacja danych dla tego zadania, jest to natomiast reprezentacja wymagana). Jak zwykle należy wypisać na początku i końcu działania programu informację o zajętości pamięci (MaxAvail i MemAvail, oczywiście program po zakończeniu symulacji powinien zwrócić do systemu zajętą przez siebie pamięć dynamiczną, więc te wypisane pary liczb powinny być identyczne). Ponadto podczas gry należy także wypisywać aktualny stan pamięci po każdym kroku. Na koniec należy też wypisać komunikat o tym, który z symulowanych graczy wygrał (lub o remisie). Uwagi: - do pobierania informacji o przyciskach naciskanych przez użytkownika służy funkcja ReadKey z modułu CRT, - do wyświetlania informacji na ekranie można (nie jest to konieczne) użyć operacji z modułu CRT (takich jak GotoXY).