1. save and load sequences ??

Hi Folks

 Ive got a game almost done but Im
trying to add running score that saves to disk file.

 I want to use the following sequence for my scores:

sequence TopTen
TopTen = repeat({"NoName", 0} ,10)--This will be what it starts out with

Ive been able to save it to disk
but reading it back has been a challenge for me.
Ive been saving it as a text file and reading it like such.
for x = 1 to 10
TopTen[x][1]  --The text comes up fine
TopTen[x][2]  --but the numbers dont come out right
end for

I read and tried to understand The mydata.ex file
in the Demo directory but it is hard for me to follow.

 Any help here would be appreciated.

    Thank you
      Gene

new topic     » topic index » view message » categorize

2. Re: save and load sequences ??

On Tue, 12 Sep 2000, you wrote:
> Hi Folks
>
>  Ive got a game almost done but Im
> trying to add running score that saves to disk file.
>
>  I want to use the following sequence for my scores:
>
> sequence TopTen
> TopTen = repeat({"NoName", 0} ,10)--This will be what it starts out with
>
> Ive been able to save it to disk
> but reading it back has been a challenge for me.
> Ive been saving it as a text file and reading it like such.
> for x = 1 to 10
> TopTen[x][1]  --The text comes up fine
> TopTen[x][2]  --but the numbers dont come out right
> end for
>
> I read and tried to understand The mydata.ex file
> in the Demo directory but it is hard for me to follow.
>
>  Any help here would be appreciated.
>
>     Thank you
>       Gene

--Tested code:
include get.e
atom fn
object topten
include get.e
atom fn
object topten

topten = repeat({"NaName",0},10)
fn = open("scores","w")
print(fn,topten)
close(fn)

topten = {}

fn = open("scores","r")
topten = get(fn)
topten = topten[2]
for i = 1 to length(topten) do
 printf(1,"Name: %s Score: %d\n",topten[i])
end for
topten = repeat({"NaName",0},10)
fn = open("scores","w")
print(fn,topten)
close(fn)

topten = {}

fn = open("scores","r")
topten = get(fn)
topten = topten[2]
for i = 1 to length(topten) do
 printf(1,"Name: %s Score: %d\n",topten[i])
end for
--
Regards,
Irv

new topic     » goto parent     » topic index » view message » categorize

3. Re: save and load sequences ??

<giggle!>

Of course, Irv's "tested" code should have one of the duplicated
> include get.e
> atom fn
> object topten

at the beginning removed so it can actually run :)

Dan

----- Original Message -----
From: "irv" <irv at ELLIJAY.COM>
To: <EUPHORIA at LISTSERV.MUOHIO.EDU>
Sent: Tuesday, September 12, 2000 8:23 PM
Subject: Re: save and load sequences ??


> On Tue, 12 Sep 2000, you wrote:
> > Hi Folks
> >
> >  Ive got a game almost done but Im
> > trying to add running score that saves to disk file.
> >
> >  I want to use the following sequence for my scores:
> >
> > sequence TopTen
> > TopTen = repeat({"NoName", 0} ,10)--This will be what it starts out with
> >
> > Ive been able to save it to disk
> > but reading it back has been a challenge for me.
> > Ive been saving it as a text file and reading it like such.
> > for x = 1 to 10
> > TopTen[x][1]  --The text comes up fine
> > TopTen[x][2]  --but the numbers dont come out right
> > end for
> >
> > I read and tried to understand The mydata.ex file
> > in the Demo directory but it is hard for me to follow.
> >
> >  Any help here would be appreciated.
> >
> >     Thank you
> >       Gene
>
> --Tested code:
> include get.e
> atom fn
> object topten
> include get.e
> atom fn
> object topten
>
> topten = repeat({"NaName",0},10)
> fn = open("scores","w")
> print(fn,topten)
> close(fn)
>
> topten = {}
>
> fn = open("scores","r")
> topten = get(fn)
> topten = topten[2]
> for i = 1 to length(topten) do
>  printf(1,"Name: %s Score: %d\n",topten[i])
> end for
> topten = repeat({"NaName",0},10)
> fn = open("scores","w")
> print(fn,topten)
> close(fn)
>
> topten = {}
>
> fn = open("scores","r")
> topten = get(fn)
> topten = topten[2]
> for i = 1 to length(topten) do
>  printf(1,"Name: %s Score: %d\n",topten[i])
> end for
> --
> Regards,
> Irv

new topic     » goto parent     » topic index » view message » categorize

4. Re: save and load sequences ??

And here is a very slightly improved version of Irv's solution.

Dan

<begin improved code>

--Tested code:
--  SAVE BUNCHES OF TEXT AND NUMBERS TO FILE AND READ IT BACK

include get.e --need it for the "get()" function to read whole file at once
atom fn
object topten

--  CREATE 10 INITIAL DUMMY NAMES AND ZERO'D SCORES & WRITE THEM TO FILE:
topten = repeat({"NaName",0},10)
fn = open("scores","w")
print(fn,topten)--  write them to file
close(fn)


--  READ THE SCORE FILE BACK & SHOW IT:
puts(1,"original scores\n")
topten = {}

fn = open("scores","r")
topten = get(fn) -- read entire score file into one sequence(object)
topten = topten[2]--assume success (success state returned in [1]), get file
-- each element in the sequence is one name/score pair
for i = 1 to length(topten) do
 printf(1,"Name: %s Score: %d\n",topten[i]) -- show name/scores
end for
puts(1,"\n") -- spacer line

-- UPDATE A SCORE & SAVE IT:
topten[5][1] = "somebody"
topten[5][2] = 50
fn = open("scores","w")
print(fn,topten)
close(fn)

-- LOOK AT SCORES AGAIN & SHOW THEM AGAIN:
puts(1,"UPDATED SCORES\n")
topten = {}

fn = open("scores","r")
topten = get(fn)
topten = topten[2]
for i = 1 to length(topten) do
 printf(1,"Name: %s Score: %d\n",topten[i])
end for
--

<end improved code>

----- Original Message -----
From: "irv" <irv at ELLIJAY.COM>
To: <EUPHORIA at LISTSERV.MUOHIO.EDU>
Sent: Tuesday, September 12, 2000 8:23 PM
Subject: Re: save and load sequences ??


> On Tue, 12 Sep 2000, you wrote:
> > Hi Folks
> >
> >  Ive got a game almost done but Im
> > trying to add running score that saves to disk file.
> >
> >  I want to use the following sequence for my scores:
> >
> > sequence TopTen
> > TopTen = repeat({"NoName", 0} ,10)--This will be what it starts out with
> >
> > Ive been able to save it to disk
> > but reading it back has been a challenge for me.
> > Ive been saving it as a text file and reading it like such.
> > for x = 1 to 10
> > TopTen[x][1]  --The text comes up fine
> > TopTen[x][2]  --but the numbers dont come out right
> > end for
> >
> > I read and tried to understand The mydata.ex file
> > in the Demo directory but it is hard for me to follow.
> >
> >  Any help here would be appreciated.
> >
> >     Thank you
> >       Gene
>
> --Tested code:
> include get.e
> atom fn
> object topten
> include get.e
> atom fn
> object topten
>
> topten = repeat({"NaName",0},10)
> fn = open("scores","w")
> print(fn,topten)
> close(fn)
>
> topten = {}
>
> fn = open("scores","r")
> topten = get(fn)
> topten = topten[2]
> for i = 1 to length(topten) do
>  printf(1,"Name: %s Score: %d\n",topten[i])
> end for
> topten = repeat({"NaName",0},10)
> fn = open("scores","w")
> print(fn,topten)
> close(fn)
>
> topten = {}
>
> fn = open("scores","r")
> topten = get(fn)
> topten = topten[2]
> for i = 1 to length(topten) do
>  printf(1,"Name: %s Score: %d\n",topten[i])
> end for
> --
> Regards,
> Irv

new topic     » goto parent     » topic index » view message » categorize

5. Re: save and load sequences ??

Hi again


I see what I was doing wrong now.
  I was trying to send the the sequence using
  puts(fn, topten) instead of
using
  print(fn, topten)
It all seems to work now, 'puts' saves in an
incorrect format which was making my hair fall out
trying to figure it out.

   Thanks a bunch,
        Gene

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu