Jemand zu Hause?
2013-11-10T13:10:08 TDogIch hab nun das Problem mit dem speichern. Wie kann ich die ganzen Daten (Level, XP, Coins, Tränke etc) spichern, so dass ich es später wieder ausfrufen kann, um weiterzuspielen?
2013-11-10T13:10:08 TDogKann man die ganzen Sachen aber in kleinere Packete speichern, z.Bsp. den Shop in eine extra Datei, die Kämpfe in eine Andere etc und das ganze miteinander verknüpfen? (Das muss nicht sein, aber wär womöglich besser, wenn man mehr einfügen will
2013-11-10T13:10:08 TDogWie kann ich die ganzen Daten (Level, XP, Coins, Tränke etc) spichern, so dass ich es später wieder ausfrufen kann, um weiterzuspielen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use Storable; my $file="game.save"; { my $xp = 1; my $name = "test"; my $foo = 123; my @bar = qw(foo bar bam); my %bam = ( a => 1, b => 2, c => 3 ); store([$xp,$name,$foo,\@bar,\%bam],$file); } { my($xp,$name,$foo,$bar_ref,$bam_ref)=@{retrieve($file)}; my @bar = @$bar_ref; my %bam = %$bam_ref; print "($xp,$name,$foo,@bar,%bam)\n"; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
use Storable; my $file="game.save"; { my $xp = 1; my $name = "test"; my $foo = 123; my @bar = qw(foo bar bam); my %bam = ( a => 1, b => 2, c => 3 ); store({ xp => $xp, name => $name, foo => $foo, bar => \@bar, },$file); } { my $hashref=retrieve($file); my $xp = $hashref->{xp}; my $name = $hashref->{name}; my $foo = $hashref->{foo}; my @bar = @{$hashref->{bar}}; my %bam = %{$hashref->{bam}}; print "($xp,$name,$foo,@bar,%bam)\n"; }
Data::Dumper die mir auch ganz gut gefällt.
Storable ist vermutlich das einfachste.
Storable anschauen. Ansonsten finde ich es auch oft hilfreich, in ein Format zu exportieren, das man auch lesen kann und wo man mal schnell was ändern kann - und da finde ich dann, dass JSON oft eine gute Wahl ist.
Wie installiert man ein Modul?