19 września 2022

Tworzenie oprogramowania, strategia szpitalna

 Napisałem własną wersję Kapi Hospital, skoro na oryginał nie mogę się zalogować. Przy okazji, niektóre zastosowane rozwiązania okazały się symulowaniem AI, w szczególności stopniowe (zależne od znajomości chorób) wyświetlanie danych. 

Zaczyna się brakiem rozpoznania, potem sugeruję lekarstwo, potem nazwę  choroby oraz poziom zniszczenia lekarstwa. Jeszcze później domniemaną (nie faktyczną) moc choroby. Finalnie pierwsza z chorób pacjenta jest rozpoznawana jeszcze na korytarzu szpitalnym. 

Mam pole morale, czyli zadowolenia pacjentów z leczenia. Wprowadziłem ograniczenie, że pacjent może być podleczony (albo nawet wyleczony z jednej choroby) zaledwie raz między nabywaniem energii przez lekarza - coś w rodzaju zakamuflowanej tury. I ten ogranicznik jako efekt uboczny powoduje 'ucieczkę' pacjenta z gabinetu na korytarz kiedy chcę mu coś ponownie aplikować.

Projekt uważam za niemal zakończony. Jest w fazie testowania - grania. I wciąga. Nawet mnie.

Widok kodu przypomina nieco programowanie obiektowo orientowane, ale to tylko przystosowanie - obiektowo nie jestem w stanie zrobić nic takiego. W końcu baza danych 146 chorób powstała w nieco ponad dwa dni na samym końcu, kiedy już niemal wszystko działało. Pozostały poprawki interfejsu i dobieranie współczynników.

Przy okazji pojawił się błąd segmentacji pamięci. Wprowadzając nowe choroby zapomniałem o stałej, w której trzymam ich liczność. Stała ta wyznacza rozmiar pamięci na trzymanie tablic wskaźników. I oczywiście podczas kompilacji pojawiły się odwołania poza zakres tablic, gdzie odkładałem wskaźniki (indeksy) na choroby lub lekarstwa. 

Następna wersja tego projektu może być typu RPG w stylu wczesnych wersji MIght & Magic czy Wizardry. Choć dalej tekstówka.