Dozens of incredibly specific fields Banana and Voucher workaround is still there Status effects are still traits Expensive string concatenation in a loop Data clumps Start(), Start2(), Start3(), StartReal(), StartReal2() Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles A method with 10+ parameters Unrelated code Relationships still use both strings and enums Inefficient vector math Optimization- blocking for- loop over a collection stored in a field Switch statement on direction string isAgent, isItem, isFire, isBullet, isObjectReal fields Locked doors are still one- directional Improper list population w/ excessive copying Random- Selection is still ridiculous 24 directions are strings Undisclosed exceptions Binary serialization realName, realName2, fakeActive Loop- switch sequence Custom localization problems Enormous if-chain sprite, spriteH, spriteWB, spriteWBH Gigantic switch‑case w/ strings Virtual methods that should have been interfaces X and Y instead of Vector2 tk2d Dozens of incredibly specific fields Banana and Voucher workaround is still there Status effects are still traits Expensive string concatenation in a loop Data clumps Start(), Start2(), Start3(), StartReal(), StartReal2() Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles A method with 10+ parameters Unrelated code Relationships still use both strings and enums Inefficient vector math Optimization- blocking for- loop over a collection stored in a field Switch statement on direction string isAgent, isItem, isFire, isBullet, isObjectReal fields Locked doors are still one- directional Improper list population w/ excessive copying Random- Selection is still ridiculous 24 directions are strings Undisclosed exceptions Binary serialization realName, realName2, fakeActive Loop- switch sequence Custom localization problems Enormous if-chain sprite, spriteH, spriteWB, spriteWBH Gigantic switch‑case w/ strings Virtual methods that should have been interfaces X and Y instead of Vector2 tk2d
(Print) Use this randomly generated list as your call list when playing the game. There is no need to say the BINGO column name. Place some kind of mark (like an X, a checkmark, a dot, tally mark, etc) on each cell as you announce it, to keep track. You can also cut out each item, place them in a bag and pull words from the bag.
Dozens of incredibly specific fields
Banana and Voucher workaround is still there
Status effects are still traits
Expensive string concatenation in a loop
Data clumps
Start(), Start2(), Start3(), StartReal(), StartReal2()
Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles
A method with 10+ parameters
Unrelated code
Relationships still use both strings and enums
Inefficient vector math
Optimization-blocking for-loop over a collection stored in a field
Switch statement on direction string
isAgent, isItem, isFire, isBullet, isObjectReal fields
Locked doors are still one-directional
Improper list population w/ excessive copying
Random-Selection is still ridiculous
24 directions are strings
Undisclosed exceptions
Binary serialization
realName, realName2, fakeActive
Loop-switch sequence
Custom localization problems
Enormous if-chain
sprite, spriteH, spriteWB, spriteWBH
Gigantic switch‑case w/ strings
Virtual methods that should have been interfaces
X and Y instead of Vector2
tk2d