bearbear12345

PICAXE Water Cup Dice program

Oct 3rd, 2014
716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XBasic 1.51 KB | None | 0 0
  1. ;
  2. ; PICAXE Water Cup School Electronics Program Code
  3. ; Chip: PICAXE-08MLE2
  4. ;
  5. ;
  6. ; I don't even know what to classify this code in the pastebin syntax highlighter as. #firstworldproblems
  7. ;
  8. ;
  9.  
  10. low 0
  11. low 1
  12. low 2
  13. low 4
  14. b4 = 1
  15. b8 = 50
  16. gosub setinterrupt
  17.  
  18. selector:
  19. if b4 = 1 then gosub mode_dice
  20. if b4 = 2 then gosub mode_w_increment
  21. if b4 = 3 then gosub mode_flash
  22. if b4 = 4 then gosub mode_still
  23. if b4 = 5 then gosub mode_random
  24. goto selector
  25.  
  26. mode_dice:
  27. random w0
  28. for b5 = 1 to 5
  29. gosub mode_w_increment
  30. next
  31. if b1 > 210 then let pins = %10011
  32. elseif b1 > 168 then let pins = %10110
  33. elseif b1 > 126 then let pins = %10010
  34. elseif b1 > 84 then let pins = %10100
  35. elseif b1 > 42 then let pins = %10000
  36. else let pins = %00100 endif
  37. wait 5
  38. return
  39.  
  40. mode_w_increment:
  41. let pins = %00100
  42. pause b8
  43. mode_increment:
  44. let pins = %00101
  45. pause b8
  46. let pins = %10100
  47. pause b8
  48. let pins = %00110
  49. pause b8
  50. let pins = %00101
  51. pause b8
  52. let pins = %10100
  53. pause b8
  54. let pins = %00110
  55. pause b8
  56. return
  57.  
  58. mode_flash:
  59. let pins = %10110
  60. pause b8
  61. let pins = %00000
  62. pause b8
  63. return
  64.  
  65. mode_still:
  66. let pins = %10111
  67. return
  68.  
  69. mode_random:
  70. random w3
  71. w4 = w3 // 2
  72. if w4 = 0 then
  73. random w6
  74. w7 = w6 // 2
  75. if w7 = 0 then
  76.     b8 = 100
  77. gosub mode_w_increment
  78. b8 = 50
  79. else
  80. gosub mode_w_increment
  81. endif
  82. elseif w4 = 1 then
  83. for b5 = 1 to 5
  84. gosub mode_flash
  85. next
  86. endif
  87. sleep 1
  88. return
  89.  
  90. interrupt:
  91. inc b4
  92. gosub setinterrupt
  93. if b4 = 6 then let b4 = 1 endif
  94. pause b8
  95. return
  96.  
  97. setinterrupt:
  98. setint %01000, %01000
  99. return
Advertisement
Add Comment
Please, Sign In to add comment