Unrelated code Data clumps Random- Selection is still ridiculous Status effects are still traits Banana and Voucher workaround is still there Inefficient vector math Undisclosed exceptions Expensive string concatenation in a loop Optimization- blocking for- loop over a collection stored in a field Binary serialization sprite, spriteH, spriteWB, spriteWBH A method with 10+ parameters tk2d Start(), Start2(), Start3(), StartReal(), StartReal2() Custom localization problems X and Y instead of Vector2 Gigantic switch‑case w/ strings Locked doors are still one- directional isAgent, isItem, isFire, isBullet, isObjectReal fields Dozens of incredibly specific fields Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles Virtual methods that should have been interfaces Improper list population w/ excessive copying 24 directions are strings realName, realName2, fakeActive Relationships still use both strings and enums Loop- switch sequence Switch statement on direction string Enormous if-chain Unrelated code Data clumps Random- Selection is still ridiculous Status effects are still traits Banana and Voucher workaround is still there Inefficient vector math Undisclosed exceptions Expensive string concatenation in a loop Optimization- blocking for- loop over a collection stored in a field Binary serialization sprite, spriteH, spriteWB, spriteWBH A method with 10+ parameters tk2d Start(), Start2(), Start3(), StartReal(), StartReal2() Custom localization problems X and Y instead of Vector2 Gigantic switch‑case w/ strings Locked doors are still one- directional isAgent, isItem, isFire, isBullet, isObjectReal fields Dozens of incredibly specific fields Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles Virtual methods that should have been interfaces Improper list population w/ excessive copying 24 directions are strings realName, realName2, fakeActive Relationships still use both strings and enums Loop- switch sequence Switch statement on direction string Enormous if-chain
(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.
Unrelated code
Data clumps
Random-Selection is still ridiculous
Status effects are still traits
Banana and Voucher workaround is still there
Inefficient vector math
Undisclosed exceptions
Expensive string concatenation in a loop
Optimization-blocking for-loop over a collection stored in a field
Binary serialization
sprite, spriteH, spriteWB, spriteWBH
A method with 10+ parameters
tk2d
Start(), Start2(), Start3(), StartReal(), StartReal2()
Custom localization problems
X and Y instead of Vector2
Gigantic switch‑case w/ strings
Locked doors are still one-directional
isAgent, isItem, isFire, isBullet, isObjectReal fields
Dozens of incredibly specific fields
Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles
Virtual methods that should have been interfaces
Improper list population w/ excessive copying
24 directions are strings
realName, realName2, fakeActive
Relationships still use both strings and enums
Loop-switch sequence
Switch statement on direction string
Enormous if-chain