Can't get high score counter past 9.

I am having trouble with some code for save and loading a high score. It saves the score and loads a score but it will NOT count past 9. I think it is a problem with having a single digit or a double digit number. I can change the score in the system.DocumentsDirectory and it will show in the high score
but will change when the players score is > then 1. I mean the high score will change to 2. For example I type in 13 for the high score and score 2 points playing the game and the high score will
change to 2. If the high score is <= 9 than the high score seems to work but only up to 9.
So is there something in the code that is preventing the numbers switching to double digits.
I think this code is from Peach Pellen

I would greatly appreciate any help.

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
local function save( event )    -- function to save score       
                local path = system.pathForFile( "score.txt", system.DocumentsDirectory )  -- where the file will be saved              
                local file = io.open( path, "w+b" ) -- opening the file
                
                           file:write(score .." ")          -- writing the variable 'score' in the score.txt file 
                io.close( file ) -- closing the file
                                -- Saves our data
 
end
 
 
 local function resumeStart()
                        local path = system.pathForFile( "score.txt", system.DocumentsDirectory )   -- where the file will be saved       
                                local file = io.open( path, "r" ) -- opens the file under the variable file 
 
                                if file then -- if there is a file then
                                        local contents = file:read( "*n" ) -- read the contents of the file, and read the whole string(*a)
                                   
                                        local prevState = explode(", ", contents) -- put the contents of score.txt into a table
                                                print('file')
                        score = prevState[1] -- read the table at position 1 and assign the variable score
 
                                        io.close( file ) -- close file 
                                                                            return contents
                                else -- if there is no file
                                                score=0 -- the score then starts at 0
                                end
                        end
 
--ANSCA sample code--
function explode(div,str)
  if (div=='') then return false end
  local pos,arr = 0,{}
  -- for each divider found
  for st,sp in function() return string.find(str,div,pos,true) end do
    table.insert(arr,string.sub(str,pos) ,st-0 ) -- Attach chars left of current divider
    pos = sp + 1 -- Jump past current divider
  end
  table.insert(arr,string.sub(str,pos)) -- Attach chars right of last divider
  return arr
end
--ANSCA sample code^--
 -- call the starting function 
 
resumeStart()
 
local scoretext = display.newText('High Score:',(_W*.3),(_H-45),"Helvetica",20*2)
                scoretext.xScale=0.5;scoretext.yScale=0.5;
local t = display.newText(score ,_W*.60,_H-45,"Helvetica",20*2) -- score text
                t.xScale=0.5; t.yScale=0.5;
 
 
 
local function scoretapped() -- function called when user presses the add button
                
       
       
        if (hole_count.text > score) then
              score = hole_count.text 
               save( "score.txt", score )
               t.text = score -- updates t to reflect new score
        end
        
        
end

The original code had *a on line 17 I changed it to *n it made no difference. I have no idea what the code between --ANSCA sample code-- is doing I know it is a table but I don't understand every line.

views:3539 update:2011/9/17 17:34:58
corona forums © 2003-2011