applescript help

Joined
Feb 12, 2012
Messages
2
Reaction score
0
Points
1
Please check the stats part of this is not working
Code:
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
 
Joined
Aug 13, 2011
Messages
200
Reaction score
7
Points
18
Location
West Sussex
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.

Like this.

Code:
repeat 10 times

end repeat

Hope this helps.

Regards Mark
 

vansmith

Senior Member
Joined
Oct 19, 2008
Messages
19,924
Reaction score
559
Points
113
Location
Queensland
Your Mac's Specs
Mini (2014, 2018, 2020), MBA (2020), iPad Pro (2018), iPhone 13 Pro Max, Watch (S6)
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 "[B]1234556789[/B]" 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.
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top