Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. final int WIDTH = 400;
  2. final int HEIGHT = 200;
  3. final int PAD_X = 20;
  4. final int PAD_Y = 10;
  5.  
  6. boolean debounce = true;
  7.  
  8. String s;
  9.  
  10. String avg_int_str(String s) {
  11. final int mid = floor(s.length() / 3);
  12. final String[] parts = {s.substring(0, mid), s.substring(mid, mid * 2), s.substring(mid * 2)};
  13. String result = "";
  14. char newChar;
  15. int charCodeSum;
  16. for (int i = 0; i < mid; i++) {
  17. charCodeSum = 0;
  18. for (int j = 0; j < parts.length; j++) {
  19. charCodeSum += parts[j].charAt(i);
  20. }
  21. newChar = (char) floor(charCodeSum / parts.length);
  22. result += newChar;
  23. }
  24. return result;
  25. }
  26.  
  27. void gen_barcode() {
  28. float r, p;
  29. for (int i = PAD_X; i < WIDTH - PAD_X; i += r + p) {
  30. r = random(0, 5);
  31. p = random(2, 4);
  32. s += floor(r + p);
  33. for (int j = 0; j < r; j++) {
  34. line(i + j, PAD_Y, i + j, HEIGHT - PAD_Y - 20);
  35. }
  36. }
  37. textAlign(CENTER);
  38. print(avg_int_str(s));
  39. text(avg_int_str(s), WIDTH / 2, HEIGHT - PAD_Y - 5);
  40. }
  41.  
  42. void setup() {
  43. size(400, 200); //Processing doesn't allow variables (or consts) as parameters for the size parameter
  44. stroke(2);
  45. fill(0,0,0);
  46. }
  47.  
  48. void draw() {
  49. s = "";
  50. if (keyPressed == true && debounce) {
  51. if(key == 's') {
  52. save("barcode.tga");
  53. } else {
  54. background(255,255,255);
  55. debounce = false;
  56. gen_barcode();
  57. }
  58. } else if(!debounce) {
  59. debounce = true;
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement