isAgent, isItem,isFire, isBullet,isObjectRealfieldsUndisclosedexceptionsRelationshipsstill use bothstrings andenumsBinaryserializationUnrelatedcodeCustomlocalizationproblemsEnormousif-chainLoop-switchsequenceSwitchstatementon directionstringDozens ofincrediblyspecificfieldsOptimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsStatuseffects arestill traitsVehicle is asubclass of Agent——— OR ———Agents AREvehiclestk2dExpensivestringconcatenationin a loopA methodwith 10+parametersX and Yinstead ofVector2Random-Selectionis stillridiculousVirtualmethods thatshould havebeeninterfacesLockeddoors arestill one-directionalImproper listpopulationw/ excessivecopyingBanana andVoucherworkaroundis still theresprite,spriteH,spriteWB,spriteWBHrealName,realName2,fakeActiveInefficientvectormath24directionsarestringsStart(),Start2(),Start3(),StartReal(),StartReal2()DataclumpsisAgent, isItem,isFire, isBullet,isObjectRealfieldsUndisclosedexceptionsRelationshipsstill use bothstrings andenumsBinaryserializationUnrelatedcodeCustomlocalizationproblemsEnormousif-chainLoop-switchsequenceSwitchstatementon directionstringDozens ofincrediblyspecificfieldsOptimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsStatuseffects arestill traitsVehicle is asubclass of Agent——— OR ———Agents AREvehiclestk2dExpensivestringconcatenationin a loopA methodwith 10+parametersX and Yinstead ofVector2Random-Selectionis stillridiculousVirtualmethods thatshould havebeeninterfacesLockeddoors arestill one-directionalImproper listpopulationw/ excessivecopyingBanana andVoucherworkaroundis still theresprite,spriteH,spriteWB,spriteWBHrealName,realName2,fakeActiveInefficientvectormath24directionsarestringsStart(),Start2(),Start3(),StartReal(),StartReal2()Dataclumps

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