49 lines
1.4 KiB
Text
49 lines
1.4 KiB
Text
Short n // We'll just do 1..10 to get the idea
|
|
|
|
void local fn BuildInterface
|
|
Short i
|
|
window 1, @"Guess the number", ( 0, 0, 340, 120 )
|
|
for i = 1 to 10
|
|
button i,,, fn StringWithFormat(@"%d", i), ( 26 * i, 60, 40, 22 )
|
|
ButtonSetBordered( i, No )
|
|
next
|
|
button 11,,, @"Quit", ( 38, 10, 95, 32 )
|
|
button 12,,, @"Again", ( 200, 10, 95, 32 )
|
|
textlabel 13, @"Guess the number:", ( 112, 85, 200, 22 )
|
|
textlabel 14,, ( 158, 30, 100, 22 ) // Hints here
|
|
filemenu 1 : menu 1, -1, No // Build but disable File menu
|
|
editmenu 2 : menu 2, -1, No // Build but disable Edit menu
|
|
end fn
|
|
|
|
void local fn newGame
|
|
CFRange r = fn RangeMake( 1, 10 )
|
|
ControlRangeSetEnabled( r, Yes ) // Enable number buttobns
|
|
button 11, No // Disable Quit button
|
|
button 12, No // Disable Again button
|
|
n = rnd( 10 ) // Choose a random number
|
|
textlabel 14, @"🔴" // Not found yet
|
|
end fn
|
|
|
|
void local fn DoDialog( evt as Long, tag as Long )
|
|
CFRange r = fn RangeMake( 1, 10 )
|
|
select evt
|
|
case _btnClick
|
|
button tag, No
|
|
select tag
|
|
case 11 : end // Quit
|
|
case 12 : fn newGame // Again
|
|
case n : textlabel 14, @"🟢" // Found
|
|
ControlRangeSetEnabled( r, No )
|
|
button 11, Yes
|
|
button 12, Yes
|
|
case < n : textlabel 14, @"➡️"
|
|
case > n : textlabel 14, @"⬅️"
|
|
end select
|
|
case _windowWillClose : end
|
|
end select
|
|
end fn
|
|
|
|
fn buildInterface
|
|
fn newGame
|
|
on dialog fn DoDialog
|
|
handleevents
|