What i've been doing more and more often is creating my function away from my main code. I also make sure my functions rely very little on global variables. Then, if something is breaking, you can narrow it down and thoroughly test the function away from the main code.
Another good tip i got once, was to make sure your functions were never greater than the height of the page, so you can see the whole function.
Erm, something else i do is to use a game mode variable, not just for games though. The main loop would consist of something like:
Where the Main_Game() function would have more modes inside it:
And again, each of the modes above would have their own modes within the functions. Simplify your code and sticks specific bits of code into functions. It saves commenting your code too.
You could easily stick that into a function, and just write:
Makes it far easier to read, and miss out too, if your trying to sort problems using the debugger.
Hope some of that helps. It's pretty standard stuff, but that's what helps in my opinion :o)
Another good tip i got once, was to make sure your functions were never greater than the height of the page, so you can see the whole function.
Erm, something else i do is to use a game mode variable, not just for games though. The main loop would consist of something like:
If mode = 1 then Show_Menu() ElseIf mode = 2 then Load_level(current_level) ElseIf mode = 3 then Main_Game(Main_Mode) ElseIf mode = 4 then Splash_loading_screen() ElseIf mode = 5 then End Credits() End if
Where the Main_Game() function would have more modes inside it:
Function Main_Game(Main_Mode) If Main_Game = 0 then Play_Game() ElseIf Main_Game = 1 then Play_cutscene() ElseIf Main_Game = 2 then Pause_game() ElseIf Main_game = 3 then Show_Inventory() End If End Function
And again, each of the modes above would have their own modes within the functions. Simplify your code and sticks specific bits of code into functions. It saves commenting your code too.
;this code does something for loop = 1 to 10 do stuff do more stuff if loop2 = 1 to number check stuff next next ; --------------------------
You could easily stick that into a function, and just write:
Do_Stuff() ; this code does something
Makes it far easier to read, and miss out too, if your trying to sort problems using the debugger.
Hope some of that helps. It's pretty standard stuff, but that's what helps in my opinion :o)