1. Java / Говнокод #25947

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    import java.util.Random;
    public class Main {
        public static void main(String[] args) {
            Galaxy g = new Galaxy(3,77,34);
            g.start();
        }
    }
    class Galaxy extends Thread {
        private int min = 1;
        private int max = 100;
        private final int step = 5;
        private final int TIME = 1000;
        volatile private int a, b, c;
        Galaxy(int a, int b, int c) {
            this.a = a;
            this.b = b;
            this.c = c;
        }
        public void start() {
            Thread t = new Thread(this, "one");
            t.start();
            Thread t2 = new Thread(this, "two");
            t2.start();
            Thread t3 = new Thread(this, "three");
            t3.start();
        } @Override
        public void run() { while(true) { try {
                    Thread.sleep(new Random().nextInt(TIME));
                    if(currentThread().getName().equals("one")) {
                        if(new Random().nextInt(2) == 1 && a > 0)
                            a--;
                        else {
                            if (a < max)
                                a++;
                        }
                        int var = a;
                        if(b == var || (b-1) == var || (b+1) == var)
                            if((b+step) > max)
                                b-=step;
                            if((b-step) < min)
                                b+=step;
                        if(c == var || (c-1) == var || (c+1) == var)
                            if((c+step) > max)
                                c-=step;
                            if((c-step) < min)
                                c+=step;
                    }
                  if(currentThread().getName().equals("two")) {
                        if(new Random().nextInt(2) == 1 && b > 0)
                            b--;
                        else {
                            if(b < max)
                                b++;
                        }
                        int var = b;
                        if(a == var || (a-1) == var || (a+1) == var) {
                            if((a+step) > max)
                                a-=step;
                            if((a-step) <= min)
                                a+=step;
                        }
                        if(c == var || (c-1) == var || (c+1) == var) {
                            if((c+step) > max)
                                c-=step;
                            if((c-step) <= min)
                                c+=step;
                        }
                    }
                   if(currentThread().getName().equals("three")) {
                        if(new Random().nextInt(2) == 1 && c > 0)
                            c--;
                        else {
                            if(c < max)
                                c++;
                        }
                        int var = c;
                        if(a == var || (a-1) == var || (a+1) == var) {
                            if((a+step) > max)
                                a-=step;
                            if((a-step) <= min)
                                a+=step;
                        }
                        if(b == var || (b-1) == var || (b+1) == var) {
                            if((b+step) > max)
                                b-=step;
                            if((b-step) <= min)
                                b+=step;
                        }
                    }
                    for(int i = min; i <= max; i++) {
                        int p = 0;
                        if(i == a || i == b || i == c)
                            p = 1;
                        System.out.print(p);
                    }
                    System.out.println();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }}}}

    После запуска ждал 10 минут. Но они так и не сблизились. Программа словно остерегается сближения. Как живая.
    Рашан ИИ!

    Запостил: codershitter, 14 Октября 2019

    Комментарии (9) RSS

    Добавить комментарий