General FizzBuzz: Difference between revisions

m
m (→‎{{header|FutureBasic}}: Fix Factor field widths and screenshot)
Line 1,577:
_mfile = 1
begin enum
_iNewGame
_
_iClose
end enum
_mEdit = 2
Line 1,585:
_window = 1
begin enum 1
_maxNumLabel
_maxNumFld
_f1Label
_f1Fld
_wd1Label
_wd1Fld
_f2Label
_f2Fld
_wd2Label
_wd2Fld
_f3Label
_f3Fld
_wd3Label
_wd3Fld
_playBtn
end enum
 
void local fn BuildMenu
menu _mFile,,, @"File"
'~'1
menu _mFile, _iNewGame,, @"FileNew Game"
menu _mFile, _iNewGame_iClose,, @"NewClose", Game@"w"
menu MenuItemSetAction( _mFile, _iClose,, @"CloseperformClose:", @"w")
editmenu _mEdit
MenuItemSetAction( _mFile, _iClose, @"performClose:" )
editmenu _mEdit
end fn
 
void local fn BuildWindow
window _window, @"General FizzBuzz", (0,0,362,188), NSWindowStyleMaskTitled
'~'1
window _window, @"General FizzBuzz", (0,0,362,188), NSWindowStyleMaskTitled
textlabel _maxNumLabel, @"Maximum number:", (18,150,116,16)
 
textfield _wd1Fld_maxNumFld,, @"Fizz20", (196140,118147,146202,21)
textlabel _maxNumLabel, @"Maximum number:", (18,150,116,16)
textfield ControlSetFormat( _maxNumFld,, @"200123456789", (140YES,147 0,202,21 0 )
ControlSetFormat( _maxNumFld, @"0123456789", YES, 0, 0 )
textlabel _f1Label, @"Factor 1:", (18,121,58,16)
 
textlabel _f1Label textfield _f1Fld,, @"Factor 1:3", (1880,121118,5854,1621)
textfield ControlSetFormat( _f1Fld,, @"30123456789", (80YES,118 0,54,21 0 )
textlabel _wd1Label, @"Word 1:", (138,121,52,16)
ControlSetFormat( _f1Fld, @"0123456789", YES, 0, 0 )
textlabel _wd1Label textfield _wd1Fld,, @"Word 1:Fizz", (138196,121118,52146,1621)
textfield _wd1Fld,, @"Fizz", (196,118,146,21)
textlabel _f2Label, @"Factor 2:", (18,92,58,16)
 
textlabel _f2Label textfield _f2Fld,, @"Factor 2:5", (1880,9289,5854,1621)
textfield ControlSetFormat( _f2Fld,, @"50123456789", (80YES,89 0,54,21 0 )
textlabel _wd2Label, @"Word 2:", (138,92,52,16)
ControlSetFormat( _f2Fld, @"0123456789", YES, 0, 0 )
textlabel _wd2Label textfield _wd2Fld,, @"Word 2:Buzz", (138196,9289,52146,1621)
textfield _wd2Fld,, @"Buzz", (196,89,146,21)
textlabel _f3Label, @"Factor 3:", (18,63,58,16)
 
textlabel _f3Label textfield _f3Fld,, @"Factor 3:7", (1880,6360,5854,1621)
textfield ControlSetFormat( _f3Fld,, @"70123456789", (80YES,60 0,54,21 0 )
textlabel _wd3Label, @"Word 3:", (138,63,52,16)
ControlSetFormat( _f3Fld, @"0123456789", YES, 0, 0 )
textlabel _wd3Label textfield _wd3Fld,, @"Word 3:Baxx", (138196,6360,52146,1621)
textfield _wd3Fld,, @"Baxx", (196,60,146,21)
button _playBtn,,, @"Play FizzBuzz", (122,13,118,32)
 
button _playBtn,,, @"Play FizzBuzz", (122,13,118,32)
WindowMakeFirstResponder( _window, _maxNumFld )
 
WindowMakeFirstResponder( _window, _maxNumFld )
end fn
 
void local fn PlayFizzBuzz
long maxNum = intval(textfield(_maxNumFld))
'~'1
long maxNum = intval(textfield(_maxNumFld))
long f3f1 = intval(textfield(_f3Fld_f1Fld))
 
long f1f2 = intval(textfield(_f1Fld_f2Fld))
long f2f3 = intval(textfield(_f2Fld_f3Fld))
long f3 = intval(textfield(_f3Fld))
CFStringRef f1Word = textfield(_wd1Fld)
 
CFStringRef f1Wordf2Word = textfield(_wd1Fld_wd2Fld)
CFStringRef f2Wordf3Word = textfield(_wd2Fld_wd3Fld)
CFStringRef f3Wordstring = textfield(_wd3Fld)NULL
CFStringRef string = NULL
NSLogClear
 
NSLogClear
long i
 
for i = 1 to maxNum
long i
string = @""
for i = 1 to maxNum
if ( i mod f1 == 0 ) then string = f1Word
string = @""
if ( i mod f1f2 == 0 ) then string = f1Wordfn StringByAppendingString( string, f2Word )
if ( i mod f2f3 == 0 ) then string = fn StringByAppendingString( string, f2Wordf3Word )
if ( i mod f3if ( len(string) == 0 ) then string = fn StringByAppendingStringStringWithFormat( string@"%ld", f3Wordi )
NSLog(@"%@",string)
if ( len(string) == 0 ) then string = fn StringWithFormat( @"%ld", i )
next
NSLog(@"%@",string)
next
end fn
 
 
void local fn DoDialog( ev as long, tag as long )
select ( ev )
'~'1
case _btnClick
select ( ev )
select ( tag )
case _btnClick
case _playBtn : fn PlayFizzBuzz
select ( tag )
end select
case _playBtn : fn PlayFizzBuzz
end select
end select
end fn
 
416

edits