Turtle Count
by John Hayes
Guess the number of turtles in this game that develops both the estimation of the number of objects and simple logic.
TurtleCount.lgo
TO MAIN
FENCE
SETBG "NAVY
CT CLS TURTLESET
END
TO TURTLESET
MAKE "NUM1 (20 + RANDOM 80)
SETTURTLES :NUM1 SCATTER EACH [SETPC WHO]
TURTLECOUNT 1
END
TO TURTLECOUNT :TURNS
CT PR SE "|This is turn| :TURNS
PR "|How many turtles do you estimate there are? Type a number.|
MAKE "NUM2 READ
IF :NUM1 = :NUM2 THEN FINISH
IF :NUM1 > :NUM2 THEN PR "|Too low. Try again.| WAIT 2000
IF :NUM1 < :NUM2 THEN PR "|Too high. Try again.| WAIT 2000
TURTLECOUNT :TURNS + 1
END
TO FINISH
CT
PR (SE "|Spot on. There are| :NUM1 "|turtles. You took| :TURNS "|turns. To start again, press S. To quit, press Q.|)
MAKE "OPTIONS RC
IF :OPTIONS = "S CT CLS TURTLESET
IF :OPTIONS = "Q CT CS TOPLEVEL
END
TO SCATTER
TELLALL 0 (TURTLES - 1)
PENUP SETH 0
EACH [SETXY LIST ( (ABS (FIRST ITEM 7 SF)) - (RANDOM (2 * ABS (FIRST ITEM 7 SF)))) ( (LAST ITEM 7 SF) - (RANDOM (2 * (LAST ITEM 7 SF))))]
PENDOWN SHOWTURTLE
END
TO SF
LOCAL "MODE
MAKE "MODE "SPLITSCREEN
LOCAL "COLORS
MAKE "COLORS GPROP "SCREEN "COLORS
(LOCAL "SIZE "X "Y)
MAKE "SIZE GPROP "GRAPHICS "SIZE
MAKE "X (FIRST :SIZE) / 2
MAKE "Y (LAST :SIZE) / 2
OP (LIST (COLORINDEX BG) :MODE 10 (GPROP "GRAPHICS "WRAPMODE) 1 :COLORS (LIST :X :Y))
END
TO CLS
LOCAL "BKG
MAKE "BKG BG
CS
SETBG :BKG
END
MAIN
Procedure | MAIN |
Description | Guess the number of turtles |
Level | Intermediate |
Tags | Game, Logic, Estimation |