Dozens ofincrediblyspecificfieldsUndisclosedexceptionsExpensivestringconcatenationin a looptk2drealName,realName2,fakeActivesprite,spriteH,spriteWB,spriteWBHSwitchstatementon directionstringEnormousif-chainisAgent, isItem,isFire, isBullet,isObjectRealfieldsOptimization-blocking for-loop over acollectionstored in a fieldDataclumpsBinaryserializationRandom-Selectionis stillridiculousVehicle is asubclass of Agent——— OR ———Agents AREvehiclesA methodwith 10+parametersBanana andVoucherworkaroundis still thereCustomlocalizationproblemsStart(),Start2(),Start3(),StartReal(),StartReal2()Loop-switchsequenceGiganticswitch‑casew/ stringsLockeddoors arestill one-directionalUnrelatedcodeStatuseffects arestill traitsInefficientvectormathVirtualmethods thatshould havebeeninterfacesRelationshipsstill use bothstrings andenums24directionsarestringsImproper listpopulationw/ excessivecopyingX and Yinstead ofVector2Dozens ofincrediblyspecificfieldsUndisclosedexceptionsExpensivestringconcatenationin a looptk2drealName,realName2,fakeActivesprite,spriteH,spriteWB,spriteWBHSwitchstatementon directionstringEnormousif-chainisAgent, isItem,isFire, isBullet,isObjectRealfieldsOptimization-blocking for-loop over acollectionstored in a fieldDataclumpsBinaryserializationRandom-Selectionis stillridiculousVehicle is asubclass of Agent——— OR ———Agents AREvehiclesA methodwith 10+parametersBanana andVoucherworkaroundis still thereCustomlocalizationproblemsStart(),Start2(),Start3(),StartReal(),StartReal2()Loop-switchsequenceGiganticswitch‑casew/ stringsLockeddoors arestill one-directionalUnrelatedcodeStatuseffects arestill traitsInefficientvectormathVirtualmethods thatshould havebeeninterfacesRelationshipsstill use bothstrings andenums24directionsarestringsImproper listpopulationw/ excessivecopyingX and Yinstead ofVector2

SoR2's code (Evil side) - Call List

(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.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  1. Dozens of incredibly specific fields
  2. Undisclosed exceptions
  3. Expensive string concatenation in a loop
  4. tk2d
  5. realName, realName2, fakeActive
  6. sprite, spriteH, spriteWB, spriteWBH
  7. Switch statement on direction string
  8. Enormous if-chain
  9. isAgent, isItem, isFire, isBullet, isObjectReal fields
  10. Optimization-blocking for-loop over a collection stored in a field
  11. Data clumps
  12. Binary serialization
  13. Random-Selection is still ridiculous
  14. Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles
  15. A method with 10+ parameters
  16. Banana and Voucher workaround is still there
  17. Custom localization problems
  18. Start(), Start2(), Start3(), StartReal(), StartReal2()
  19. Loop-switch sequence
  20. Gigantic switch‑case w/ strings
  21. Locked doors are still one-directional
  22. Unrelated code
  23. Status effects are still traits
  24. Inefficient vector math
  25. Virtual methods that should have been interfaces
  26. Relationships still use both strings and enums
  27. 24 directions are strings
  28. Improper list population w/ excessive copying
  29. X and Y instead of Vector2