Advertisement
Guest User

Untitled

a guest
May 18th, 2015
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. #define DEBUG
  2. world {
  3. fps = 11;
  4. icon_size = 32;
  5. view = 6;
  6. }
  7. var/inforloop = 0;
  8. var/stopbruteforce = 0;
  9. var/list/obj/testingobj/objects = list();
  10. var/runcount = 0;
  11. mob {
  12. verb/startforloopbruteforce() {
  13. set name="Start For Loop Brute force.";
  14. set category="ForLoop";
  15. world << "starting brute force";
  16. stopbruteforce = 1;
  17. spawn(5)
  18. forlooptest1();
  19. }
  20.  
  21. verb/stoploopbruteforce() {
  22. set name="Stop For Loop Brute force.";
  23. set category="ForLoop";
  24. world << "stopping brute force";
  25. stopbruteforce = 1;
  26. }
  27.  
  28. proc/forlooptest1() {
  29. set background=1;
  30. stopbruteforce = 0;
  31. inforloop = 0;
  32. runcount = 0;
  33. world << "brute force started";
  34. while (1) {
  35. forlooptest2();
  36. if (inforloop) {
  37. world << "runtime detected. restarting. Ran [runcount] times.";
  38. spawn(10)
  39. if (!stopbruteforce)
  40. forlooptest1();
  41. return;
  42. }
  43.  
  44. if (stopbruteforce) {
  45. inforloop = 0;
  46. world << "brute force stopped. Ran [runcount] times";
  47. return;
  48. }
  49. runcount++;
  50. if ((runcount % 10000) == 0) {
  51. world << "at runcount number [runcount]";
  52. sleep(0); //sleep every 10000 runs so the stop runcount verb actually works.
  53. }
  54.  
  55. }
  56. }
  57.  
  58. proc/forlooptest2() {
  59. set background=1;
  60. inforloop = 1;
  61.  
  62. for (var/thing in objects)
  63. del(thing);
  64.  
  65. objects = list();
  66.  
  67. for(var/i=0; i<100; i++)
  68. new /obj/testingobj();
  69.  
  70. for (var/obj/testingobj/O in objects) {
  71. if (O.blah != 1) {
  72. world << "blah ISN'T 1, WHY IS blah NOT 1!!"; //technically, this should never happen
  73. stopbruteforce = 1;
  74. break;
  75. }
  76. }
  77. inforloop = 0;
  78. }
  79.  
  80. }
  81.  
  82. obj/testingobj {
  83. var/blah = 1;
  84. New() {
  85. objects += src;
  86. }
  87. Del() {
  88. objects -= src;
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement