Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Zapisywanie stanu gry


Rekomendowane odpowiedzi

Opublikowano

Witam.

Ostatnio zacząłem pisać programy w javie, piszę w ECLIPSE.

Piszę pewną grę. Będzie to symulacja sieci bankowej.

Jednak mam pewien problem. Chciałem móc jakoś zapisywać stan aplikakcji, lecz nie wiem jak.

Robiłem to na takiej zasadzie:

1.Klikając "zapisz" edytowałem za pomocą FileWriter klase o nazwie save.java

2.A to jest kod, który zmieniał tekst.

if (z==mIZapisz)
{
try
{


FileWriter test = new FileWriter("src/com/binter/game/save.java");
BufferedWriter zapis = new BufferedWriter(test);




test.write("package com.binter.game; "
+ "public class save "
+ "{ "
+ "boolean zapytanie = true; "
+ "int minuta = " + czas.minuta  + "; "
+ "int godzina = " + czas.godzina  + "; "
+ "int dzien = " + czas.dzien  + "; "
+ "int miesiac = " + czas.miesiac  + "; "
+ "int rok = " + czas.rok  + "; "
+ " }");
test.close();
System.out.println("tak");
}
catch (IOException w)
{
JOptionPane.showMessageDialog(null, "Błąd zapisu do pliku");
dispose();
}


}

I po ponownym uruchomieniu zapisane dane wczytywały się. Jednak gdy wyeksportowałem grę to plik nie dość że się nie wczytuje. (Ścieżkę do eksportu oczywiście zmieniłem i save.java na save.class)

 

Proszę albo o rozwiązanie problemu, bądź podanie innego rozwiązania zapisu.

Przypominam że jestem początkujacy i proszę o wyrozumiałość.

POZDRAWIAM.

Opublikowano

Nie lepiej wpisywać zaszyfrowane dane do jakiegoś pliku, a potem ten plik otwierać, i odczytywać z niego dane? :)

Opublikowano

Nie wiem czy wiesz, ale java kompiluje się do bytecode. Nie możesz uruchomić nieskompilowanego pliku. To, co chcesz zrobić, można wykonać za pomocą serializacji. Poczytaj o tym trochę, jeśli nie zrozumiesz, to mogę Ci wytłumaczyć.

 

Jest też masa innych opcji zapisu stanu gry, jednak ja najczęściej używam właśnie serializacji.

708121422388637873334.png

Opublikowano

@up xD jakby się uprzeć to można :D

A co do tematu to jest tesz takie cuś jak Properties (java.util)

        Properties p = new Properties();
        p.put("punkty", 123);
        p.store(new FileOutputStream(new File("saveGry")), null);

        p = new Properties();
        p.load(new FileInputStream(new File("saveGry")));
        gra.punkty = p.get("punkty");

 

Opublikowano

Jezus mariusz. W życiu nie widziałem bardziej jednocześnie kreatywnego i głupiego pomysłu :D Incepcja w programowaniu :D

 

Osobiście, zamiast zabawy z pisaniem kodu java do pliku w javie, użyłbym JSON , lub jak już kolega wspomniał properties.

 

Kodzik na JSON, dlaczego JSON? Bo łatwo go odczytać wszędzie, i można w nim zapisać praktycznie wszystko, od zwykłych zmiennych po tablice, albo tablice tablic. http://pastebin.com/bFKFE7fa

Opublikowano

Jezus mariusz. W życiu nie widziałem bardziej jednocześnie kreatywnego i głupiego pomysłu :D Incepcja w programowaniu :D

 

Osobiście, zamiast zabawy z pisaniem kodu java do pliku w javie, użyłbym JSON , lub jak już kolega wspomniał properties.

 

Kodzik na JSON, dlaczego JSON? Bo łatwo go odczytać wszędzie, i można w nim zapisać praktycznie wszystko, od zwykłych zmiennych po tablice, albo tablice tablic. http://pastebin.com/bFKFE7fa

Tablica tablic od tablic tablicowatych tablic z rzutem na ściane xD

 

Made my day.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...