Windows Forms - zapis gry.

0

Cześć.
Jak mógłbym zrobić zapis gry, tzn. zapis pozycji, rzeczy, które posiadam oraz poziomu etc.
Gra jest napisana w windows forms

0

Zapisz te wszystkie dane do pliku, najlepiej w postaci binarnej to nikt łatwo nie zmieni danych.
Tu masz przykłady.

1

Przede wszystkim WindowsForms nadaje się tak do tworzenia gier, jak stary francuski samochód z silnikiem 1.0 do jazdy off-road :) Ale pewnie dopiero się uczysz. Skoro zadajesz takie pytanie, to mogę Cię zapewnić, że zrobisz to źle.

Powinieneś pomyśleć o jakimś interfejsie, który posiada metody Save i Load. Wszystkie obiekty, których stan chcesz zapisać powinny implementować ten interfejs. Zapisywać powinieneś w pliku binarnym w taki sposób, że... a zresztą pokombinuj sam. Będziesz miał większą radochę :) Tylko pamiętaj o tym interfejsie. W sumie może to być też klasa bazowa, bo sama klasa bazowa będzie zapisywała jakieś wspólne cechy. Do tego będziesz musiał mieć jakąś klasę, która stworzy odpowiedni strumień, przeleci po wszystkich obiektach i wywoła w nich Save, a następnie zapisze cały strumień do pliku.

Pochwal się kodem, co zrobiłeś, to opowiem Ci, co jest źle i dlaczego.

0

@atmal: Całkiem łatwe rozwiązanie pomyśle.
@Juhas Tak uczę się (wcześniej c++, podstawy all + także forms) przerzuciłem się na c# ze względu na "łatwiejszy język" oraz możliwość rozwoju w unity.
Dlatego piszę gierki w windows forms, bo na silnik dla mnie za wcześnie.
Co do interfejsów to trochę trudniejsze rozwiązanie, według mnie.

1

Nie jest trudne. Wystarczy to zrozumieć. Może inaczej. Nie zaczynaj od gier lub pseudo gier. To są dość trudne rzeczy. I musisz rozumieć i znać wiele mechanizmów, żeby się w tym nie pogubić. Tym bardziej, gdy się uczysz. Proponowałbym Ci zacząć od czegoś prostszego - Notatnik, odtwarzacz mp3 (z dążeniem np. do WinAmpa albo jakiegoś innego tego typu). Ja wiem, że to jest nudne, a gra nie jest nudna, ale bez tych nudnych rzeczy nie ogarniesz dobrze tych fajnych. Jeśli dążysz do gier, to popisz trochę aplikacji w WinForms, żeby zaprzyjaźnić się z językiem. Zrobić trochę błędów projektowych i wyciągnąć z nich wnioski. Potem spróbuj napisać jakąś banalną gierkę z użyciem OpenGL albo DirectX -> tutaj będziesz musiał dużo poczytać jak działają gry i dlaczego tak, a nie inaczej. Ale po takiej zabawie, będziesz mógł usiąść do Unity i nie będziesz się zastanawiał nad pierdołami i wkurzał, że coś idzie nie tak. Serio. To jest dobra droga.

0
Juhas napisał(a):

Nie jest trudne. Wystarczy to zrozumieć. Może inaczej. Nie zaczynaj od gier lub pseudo gier. To są dość trudne rzeczy. I musisz rozumieć i znać wiele mechanizmów, żeby się w tym nie pogubić. Tym bardziej, gdy się uczysz. Proponowałbym Ci zacząć od czegoś prostszego - Notatnik, odtwarzacz mp3 (z dążeniem np. do WinAmpa albo jakiegoś innego tego typu). Ja wiem, że to jest nudne, a gra nie jest nudna, ale bez tych nudnych rzeczy nie ogarniesz dobrze tych fajnych. Jeśli dążysz do gier, to popisz trochę aplikacji w WinForms, żeby zaprzyjaźnić się z językiem. Zrobić trochę błędów projektowych i wyciągnąć z nich wnioski. Potem spróbuj napisać jakąś banalną gierkę z użyciem OpenGL albo DirectX -> tutaj będziesz musiał dużo poczytać jak działają gry i dlaczego tak, a nie inaczej. Ale po takiej zabawie, będziesz mógł usiąść do Unity i nie będziesz się zastanawiał nad pierdołami i wkurzał, że coś idzie nie tak. Serio. To jest dobra droga.

Przerabiam książkę c# rusz głową, w trakcie mogę popisać parę fajnych "programików" i zrobię jak mówisz.
Powoli do przodu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1