If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Welcome to Mac-Forums! Join us to comment and to customize your site experience! Members have access to different forum appearance options, and many more functions.

repeat
set statswin to 0
set statsLoser to 0
set statsplays to 0
set x to some item of "1234556789" as number
display dialog "Guess a number between 1 and 9" default answer "Insert number here" buttons {"OK", "Stats"} default button 1
if the button returned of the result is "Stats" then
display dialog "wins " & statswin
display dialog "Loses " & statsLoser
display dialog "Total games " & statsplays
else
try
set theAnswer to (text returned of result) as number
on error
display dialog "Invalid Input"
say "Invalid input"
return
end try
--Test for Correct Numbers
if theAnswer < 1 or theAnswer > 10 then
set theTest to 0
else
set theTest to 1
end if
--Return Comments to user
if theTest = 0 then
display dialog "Invalid Input"
else
set m to theAnswer * x
set a to 1
if m is in {1, 4, 9, 16, 25, 36, 49, 64, 81} then
set a to 2
end if
if a is equal to 2 then
display dialog "winner"
set statswin to statswin + 1
set statsplays to statsplays + 1
else
display dialog "loser"
set statsLoser to statsLoser + 1
set statsplays to statsplays + 1
end if
end if
end if
end repeat
end
end

You have put the statswin, statsLoser, and statsplays variables inside the repeat loop, and
are setting them back to zero each time the loop runs, try putting them outside the repeat
loop, then they will retain tere values.

Like this

Code:

set statswin to 0
set statsLoser to 0
set statsplays to 0
repeat
--All the other game code in here
end reepat

Also I noticed that your repeat loop has no end, so the game will go on forever.
Try setting the repeat loop to a certain number of tries at the game.

You're also setting x to a value between one and ten but you've listed five twice:

Code:

set x to some item of "1234556789" as number

Any particular reason you're doing this in AppleScript? AS is designed to let you script applications and isn't the best language for general scripting. It will work but you might be better off with another language.