'=================================================================================================== ' ' FizzBuzz ' ________ ' ------------------------------------------------------------------------------------ SuperStrict ' ------------------------------------------------------------------------------------ ' Brief. ' Write a program that prints the numbers from 1 To 100 ' But, For multiples of 3 Print "Fizz" instead of the number ' For the multiples of 5 Print "Buzz" instead of the number ' For numbers which are multiples of both 3 And 5 Print "FizzBuzz". ' ------------------------------------------------------------------------------------- '=================================================================================================== TConditReponse.RF_Create (3,"Fizz") 'First Condition TConditReponse.RF_Create (5,"Buzz") 'Second Condition For Local Iterater:Int = 1 To 100 Print TConditReponse.Result(Iterater) Next '=================================================================================================== Delay 1000 End '=================================================================================================== 'Conditions must be added in the order you wish them to be printed '=================================================================================================== Type TConditReponse 'Type to handle the conditions and responses ' -------------------------------------------------------------------- Field F_Divisaleby:Int 'The Divisable Condition Field F_Responce:String 'The String to be printed Global GF_List:TList = New TList 'A List of the conditions ' -------------------------------------------------------------------- Method RM_Set:TConditReponse(P_DivisableBy:Int,P_Responce:String) Self.F_Divisaleby = P_DivisableBy Self.F_Responce = P_Responce Self.GF_List.AddLast (Self) Return Self End Method ' ---------------------------------------------------------------------- Function RF_Create:TConditReponse(P_DivisableBy:Int,P_Responce:String) Return New TConditReponse.RM_Set(P_DivisableBy,P_Responce) EndFunction ' ---------------------------------------------------------------------- Method NumberIsDivisableBy:Int(P_Number:Int) 'Does the Number meet a condition If P_Number Mod Self.F_Divisaleby Return False Else Return True EndIf End Method ' ---------------------------------------------------------------------- Function result:String(P_Number:Int) 'Make the respose string Local Result:String = "" For Local Condition:TConditReponse = EachIn Self.GF_List If Condition.NumberIsDivisableBy (P_Number) Result:+Condition.F_Responce End If Next If Result = "" Then result = P_number Return Result End Function End Type '===================================================================================================
Coding challenge: FizzBuzz
Miscellaneous Forums/General Discussion/Coding challenge: FizzBuzzThe forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.