Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18

Переменная не сохраняет значение

19.06.2019, 14:06. Показов 3215. Ответов 31

Студворк — интернет-сервис помощи студентам
Суть в том, что у нас есть 2 переменные: n и forN. Вторая переменная генерирует рандомное значение в пределах от 5 до 15 каждую секунду. Значение первой переменной инкрементируется по ходу выполнения условных операторов. После завершения каждого она должна увеличиваться на один. Когда значения первой и второй переменной совпадут, производиться действие в одну из 4 сторон.
Проблема в том, что после завершения выполнения условного оператора, значение переменной не сохраняется. Идей как сохранить нет. Если в начале не объявить чему равно n программа ругается.

Java
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
 if (inGame) {
 
            int forN = 5 + (int) (Math.random() * 15);
            int sumX;
            int sumY;
            int ran;
            int n = 0;
 
 
            for (int a = 0; a < dots; a++) {
                System.out.println(n);
 
                sumX = x[a] - boxX;
                sumY = y[a] - boxY;
 
                if (sumX > sumY){
                    if (x[a] < boxX){
                        n++;  // Значение должно сохраниться. Теперь значение n должно быть увеличено на +1 и сохранено.
                        System.out.println(n);
                        rightB = false;
                        downB = false;
                        upB = false;
                        leftB = true;
                        boxX = boxX - 5;
                    } else if (x[a] > boxX ){
                        n++;  //Аналогично и дальше.
                        System.out.println(n);
                        leftB = false;
                        upB = false;
                        downB = false;
                        rightB = true;
                        boxX = boxX + 5;
 
                    }
                }
                if (sumY > sumX){
                    if (y[a] < boxY ){
                       n++;
                        System.out.println(n);
                        rightB = false;
                        downB = false;
                        leftB = false;
                        upB = true;
                        boxY = boxY - 5;
 
                    }
                    if (y[a] > boxY){
                        n++;
                        System.out.println(n);
                        rightB = false;
                        leftB = false;
                        upB = false;
                        downB = true;
                        boxY = boxY + 5;
 
                    }
                } if (sumX == sumY) {
                    n++;
                    System.out.println(n);
                    System.out.println("Хо-хо!");
                    leftB = false;
                    upB = false;
                    downB = false;
                    rightB = true;
                    boxX = boxX + 5;
 
                }
           
                if (n == forN) {           //  Здесь должен начаться процесс.
                    ran = 0 + (int) (Math.random() * 5);
                    System.out.println("NEW");
                    if (ran == 1) {
                        leftB = false;
                        downB = false;
                        upB = false;
                        rightB = true;
                        boxX = boxX + 5;
                        boxX = boxX + 5;
                    }
                    if (ran == 2) {
                        rightB = false;
                        downB = false;
                        upB = false;
                        leftB = true;
                        boxX = boxX - 5;
                        boxX = boxX - 5;
 
                    }
                    if (ran == 3) {
                        rightB = false;
                        leftB = false;
                        upB = false;
                        downB = true;
                        boxY = boxY + 5;
                        boxY = boxY + 5;
                    }
                    if (ran == 4) {
                        rightB = false;
                        leftB = false;
                        downB = false;
                        upB = true;
                        boxY = boxY - 5;
                        boxY = boxY - 5;
 
                    }
                }
 
             }
 
          }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.06.2019, 14:06
Ответы с готовыми решениями:

Почему переменная не сохраняет значение при выходе из прерывания?
uint16_t rxB=0; /*---------------receive--------------------*/ void RxCpltCallback() { Rdata = USART1-&gt;DR; rxB++; ...

Почему при использовании цикла, переменная которая находится внутри него не сохраняет значение при его завершении?
Почему при использовании цикла, переменная которая находится внутри него не сохраняет значение при его завершении.Пример: ...

Какое значение примет переменная после выполнения фрагмента алгоритма, если переменная а имела значение 'ИНФОРМАТИКА'
Имеется фрагмент алгоритма, записанный на алгоритмическом языке: m := 10 b := Извлечь(а, m) нц для k от 4 до 5 с := Извлечь(а,...

31
Заблокирован
19.06.2019, 14:09
CarlVinson, очень сложно понять просто код без комментариев и цели задачи. Если скажете цель данной программы- можем подумать вместе. Под целью имею ввиду практическую составляющую, например "программа-угадайка")
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 14:14  [ТС]
Цель задачи сделать так, чтобы переменная n сохраняла свое значение вне условного оператора.
0
Заблокирован
19.06.2019, 14:18
CarlVinson, ну так уже понятнее)
Скажите пожалуйста, как вы определяете, что в данную переменную не сохраняется значение?
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 14:25  [ТС]
Через вывод значения на консоль проверяю. Здесь вывод на экран убрала, чтобы не грузить. В условном операторе выдает значение 1. Вне - 0.
P.S. Это часть кода персонажа "Коробка" из змейки. Цель коробки преследовать игрока, в случае столкновения коробки и игрока, игра будет прервана.
0
Заблокирован
19.06.2019, 14:26
CarlVinson, подскажите пожалуйста номер строки, после которой выдает значение переменной n равным 1, и номер строки, после которой значение переменной равно 0.
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 14:31  [ТС]
А нет, не убрала.
11 строка - 0;
19,27,39,49,59 - 1.
0
Заблокирован
19.06.2019, 14:37
CarlVinson, если это игра, то может быть не стоит столько переменных делать? Просто я уже изучаю десяток лет этот язык, но ваш код все-равно не смог понять. Может проще использовать ООП-метод, тем более для игры, в которой идет эмуляция процесса реального мира. Там проще гораздо спрограммировать элементы змейки и коробки.

Добавлено через 19 секунд
CarlVinson, минутку, посмотрю ваш код у себя в Нетбинсе и запущу.

Добавлено через 3 минуты
CarlVinson, код не работает, сможете весь код дать для вставки в Нетбинс?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
19.06.2019, 14:41
Цитата Сообщение от trgbvs Посмотреть сообщение
CarlVinson, минутку, посмотрю ваш код у себя в Нетбинсе и запущу.
Добавлено через 3 минуты
CarlVinson, код не работает,
ты это серьезно? скопировал один иф, даже не обернутый в метод и тем более не обернутый в класс, без сопутствующих переменных и удивляешься, что он не работает?
нет пути...
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 14:45  [ТС]
Весь код.
GUI

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Cats;
 
import javax.swing.*;
 
public class BoxT extends JFrame{
    public BoxT(){
        setTitle("Test");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        add(new BoxTest());
        setSize(620,860);
        setLocation(400,400);
 
        setVisible(true);
    }
    public static void main(String[] args) {
        BoxT t = new BoxT();
    }
 
}
Основной.

Java
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
package Cats;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Random;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;
import java.util.logging.Handler;
 
public class BoxTest extends JPanel implements ActionListener {
    private final int SIZE = 1400;
    private final int DOT_Size = 16;
    private final int All_DOTS = 700;
    private Image dot;
    private Image watermelon;
    private Image flyingBox;
    private Image dots_Image;
    private int arbuzX;
    private int arbuzY;
 
    private int boxX;
    private int boxY ;
    private int simple = 12;
    private int normal = 22;
    private int hard = 32;
    private int[] x = new int[All_DOTS];
    private int[] y = new int[All_DOTS];
 
    private int[] simplex = new int[simple];
    private int[] simpley = new int[simple];
 
    private int[] normalx = new int[normal];
    private int[] normaly = new int[normal];
 
    private int[] hardx = new int [hard];
    private int[] hardy = new int [hard];
 
    private int dots;
    private Timer timer;
    private Timer timerB;
    private boolean inGame = true;
    private boolean left = false;
    private boolean right = true;
    private boolean down = false;
    private boolean up = false;
 
    private boolean leftB = false;
    private boolean rightB = true;
    private boolean downB = false;
    private boolean upB = false;
 
    private boolean s = true;
 
    private int a = 1;
 
 
 
 
 
    public BoxTest(){
        setBackground(Color.YELLOW);
        loadImages();
        initGame();
        addKeyListener(new FieldKeyListener());
        setFocusable(true);
 
    }
    public void initGame(){
        dots = 1;
        for (int i = 0; i < dots; i++) {
            x [i] = 48 - i*DOT_Size;
            y [i] = 48;
        }
        timer = new Timer(250, this);
 
        timer.start();
        createARBUZ();
 
    }
 
    private void createARBUZ() {
        arbuzX = new Random().nextInt(50)*DOT_Size;
        arbuzY = new Random().nextInt(50)*DOT_Size;
    }
    @Override
    protected  void paintComponent(Graphics g){
        super.paintComponent(g);
 
        int scaledHeight = 10;
        int scaledWidth = 10;
 
 
 
        if (inGame){
            g.drawLine(0, 50, 2000, 50);
            g.drawLine(0, 150, 2000, 150);
            g.drawLine(0, 250, 2000, 250);
            g.drawLine(0, 350, 2000, 350);
            g.drawLine(0, 450, 2000, 450);
            g.drawLine(0, 550, 2000, 550);
            g.drawLine(0, 650, 2000, 650);
            g.drawLine(0, 750, 2000, 750);
            //Color oldColor = g.getColor();
 
            g.drawLine(150, 0, 150, 900);
            g.drawLine(300, 0, 300, 900);
            g.drawLine(450, 0, 450, 900);
            g.drawLine(600, 0, 600, 900);
            g.drawLine(750, 0, 750, 900);
            g.drawLine(900, 0, 900, 900);
            g.drawLine(1050, 0, 1050, 900);
            g.drawLine(1200, 0, 1200, 900);
            g.drawLine(1350, 0, 1350, 900);
            g.drawLine(1500, 0, 1500, 900);
 
            g.drawImage(watermelon,arbuzX,arbuzY, 150, 100,this);
 
 
 
 
 
            for (int a = 0; a < dots; a++) {
 
                g.drawImage(dot, x[a], y[a], 150, 100, this);
 
                g.drawImage(flyingBox, boxX, boxY, 150, 100, this);
 
 
 
 
 
 
            }
        }
    }
    public void move(){
        for (int i = dots; i > 0 ; i--) {
            x[i] = x[i - 1];
            y[i] = y[i - 1];
        }
 
        if (left){
            x[0] -= DOT_Size;
 
        }
        if (right){
            x[0] += DOT_Size;
 
        }
        if (up){
            y[0] -= DOT_Size;
 
        }
        if (down){
            y[0] += DOT_Size;
 
        }
    }
    public void boxMove() {
       // boolean  d = new Random().nextInt(25)==0;
        //boolean a2 = new Random().nextInt(25)==0;
        //boolean s = new Random().nextInt(25)==0;
        //boolean w = new Random().nextInt(25)==0;
 
 
 
        if (inGame) {
 
            int forN = 5 + (int) (Math.random() * 15);
            int sumX;
            int sumY;
            int ran;
 
 
 
            for (int a = 0; a < dots; a++) {
                int n = 0;
                System.out.println(n);
 
                sumX = x[a] - boxX;
                sumY = y[a] - boxY;
 
                if (sumX > sumY){
                    if (x[a] < boxX){
                        n++;
                        System.out.println(n);
                        rightB = false;
                        downB = false;
                        upB = false;
                        leftB = true;
                        boxX = boxX - 5;
                    } else if (x[a] > boxX ){
                        n++;
                        System.out.println(n);
                        leftB = false;
                        upB = false;
                        downB = false;
                        rightB = true;
                        boxX = boxX + 5;
 
                    }
                }
                if (sumY > sumX){
                    if (y[a] < boxY ){
                       n++;
                        System.out.println(n);
                        rightB = false;
                        downB = false;
                        leftB = false;
                        upB = true;
                        boxY = boxY - 5;
 
                    }
                    if (y[a] > boxY){
                        n++;
                        System.out.println(n);
                        rightB = false;
                        leftB = false;
                        upB = false;
                        downB = true;
                        boxY = boxY + 5;
 
                    }
                } if (sumX == sumY) {
                    n++;
                    System.out.println(n);
                    System.out.println("Хо-хо!");
                    leftB = false;
                    upB = false;
                    downB = false;
                    rightB = true;
                    boxX = boxX + 5;
 
                }
             //   System.out.println(forN + "  forN");
             //   System.out.println(n);
                if (n == forN) {
                    ran = 0 + (int) (Math.random() * 5);
                    System.out.println("NEW");
                    if (ran == 1) {
                        leftB = false;
                        downB = false;
                        upB = false;
                        rightB = true;
                        boxX = boxX + 5;
                        boxX = boxX + 5;
                    }
                    if (ran == 2) {
                        rightB = false;
                        downB = false;
                        upB = false;
                        leftB = true;
                        boxX = boxX - 5;
                        boxX = boxX - 5;
 
                    }
                    if (ran == 3) {
                        rightB = false;
                        leftB = false;
                        upB = false;
                        downB = true;
                        boxY = boxY + 5;
                        boxY = boxY + 5;
                    }
                    if (ran == 4) {
                        rightB = false;
                        leftB = false;
                        downB = false;
                        upB = true;
                        boxY = boxY - 5;
                        boxY = boxY - 5;
 
                    }
                }
 
 
 
            }
 
 
           }
 
 
    }
 
 
 
    public void loadImages(){
        ImageIcon arb = new ImageIcon("arbuz.png");
        watermelon = arb.getImage();
        ImageIcon dot_1 = new ImageIcon("Snake.png");
        dot = dot_1.getImage();
        ImageIcon box = new ImageIcon("Box.png");
        flyingBox = box.getImage();
        ImageIcon dots_1 = new ImageIcon("dots.png");
        dots_Image = dots_1.getImage();
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        if (inGame){
            move();
            boxMove();
            checkWatermelon();
            checkCollisions();
        }
        repaint();
    }
    class FieldKeyListener extends KeyAdapter{
        @Override
        public void keyPressed(KeyEvent e){
            super.keyPressed(e);
            int key = e.getKeyCode();
            if (key == KeyEvent.VK_LEFT && !right){
                left = true;
                up = false;
                down = false;
            }
            if (key == KeyEvent.VK_RIGHT && !left) {
                right = true;
                up = false;
                down = false;
            }
            if (key == KeyEvent.VK_UP && !down) {
                up = true;
                left = false;
                right = false;
            }
            if (key == KeyEvent.VK_DOWN && !up) {
                down = true;
                right = false;
                left = false;
            }
        }
    }
 
    private void checkCollisions() {
        for (int i = dots; i > 0 ; i--) {
            if (i > 5 && x[0] == x[i] && y[0] == y[i]){
                inGame = false;
            }
            if (x[0] > SIZE){
                x[0] = new Random().nextInt(20)*DOT_Size;
                y[0] = new Random().nextInt(20)*DOT_Size;
            }
            if (x[0] < 0){
                x[0] = new Random().nextInt(20)*DOT_Size;
                y[0] = new Random().nextInt(20)*DOT_Size;
            }
            if (y[0] > SIZE || y[0] < 0){
                x[0] = new Random().nextInt(20)*DOT_Size;
                y[0] = new Random().nextInt(20)*DOT_Size;
            }
 
        }
    }
 
    private void checkWatermelon() {
        if (x[0] == arbuzX && y[0] == arbuzY){
            dots++;
            createARBUZ();
        }
    }
}
0
Заблокирован
19.06.2019, 14:56
Welemir1, да, я это серьезно и к тому-же ничего страшного в этом нет, небольшой пустяк. А еще попрошу, проявить уважение к собеседникам.

Добавлено через 23 секунды
CarlVinson, 5 минут, посмотрю.

Добавлено через 8 минут
CarlVinson, у меня желтое поле и черная сетка и в консоли выводятся циферки. Что там происходить должно, куда жать?
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 14:59  [ТС]
Загрузить фото змейки, коробки и арбузика.
0
Заблокирован
19.06.2019, 15:01
CarlVinson, вообщем сложно читать код, большое количество переменных и цель непонятная. Я все-таки советую вам воспользоваться ООП-методом, разбить игру на объекты и уже все спроектировать и спрограммировать. Без ООП сложновато такой проект делать.

Добавлено через 43 секунды
CarlVinson, давайте свой арбуз, змею и коробку. Может с ними понятнее будет. Обычно когда все видешь наглядно- сразу приходит понимание кода. )
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 15:11  [ТС]
Не пугайтесь)





0
Заблокирован
19.06.2019, 15:11
CarlVinson, если что, ООП сокращает и украшает код в десятки раз.

Добавлено через 20 секунд
CarlVinson, 5 минут
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 15:16  [ТС]
Про ООП слышала, просто слабо представляю что это и каким образом это применять. Пока что хотелось бы написать то,что хотя бы будет работать. А там можно будет поэкспериментировать.
0
Заблокирован
19.06.2019, 15:27
CarlVinson, вообщем арбуз просто стоит и ничего не двигается, но ничего страшного, что есть, то есть.
Насчет переменной n скажу одно- сложный код написан вами и вам придется разбираться с ним самой, а это очень сложно, я лично не могу понять, где что происходит и с какой целью. Я рекомендую воспользоваться ООП программированием, которое есть в java, код будет в разы меньше и будете понимать. Код должен быть очень простым, иначе даже 20 летний стаж не поможет. А без ООП можете более простые программки и игры делать, но если чувствуете, что не понимаете- лучше бросить и что-то более простое сделать, а если хотите посложнее(особенно игры), то начинайте обязательно учить ООП, перед вами откроется бездна возможностей применения вплоть до создания виртуальных вселенных с миллионами объектов)

Добавлено через 7 минут
CarlVinson, скажу честно- у вас коллизии, несколько объектов, движения, и делать это без ООП- это затратно по времени и силам. Это уже сложный проект. Если какая-нибудь угадайка текстовая, то да можно без ООП обойтись, но тут уже объекты реального мира будут, поэтому применяет концепцию Объектно Ориентированного Программирования, которая создавалась для таких целей.
1
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 15:28  [ТС]
Хорошо, учту. Есть вопрос, каким образом надо применять ООП в данном случае? Надо создать отдельно коробку? Или прописать основные действия коробки в отдельном классе?
Арбуз двигаться не должен, это аналог яблока.

P.S. Или прописать концепт действий и их наследовать коробкой и змейкой?
0
Заблокирован
19.06.2019, 15:34
CarlVinson, и даже угадайку не каждый выпускник Вуза сможет сделать, а тут у вас почти полноценная игра, поэтому вы уже и не новичок можно сказать))

Добавлено через 3 минуты
CarlVinson, ну вот смотрите, есть объект, допустим Машина, у нее есть направление, скорость, ускорение, методы для каждого действия- газ, тормоз,влево, вправо. Мы просто создаем класс и там описываем все действия и объекты, которые будет иметь машина. А потом в главном блоке программе делает вот так:
Машина машина1= new Машина("Скорость 0", "Ускорение 10м/с", "Марка" );
машина1.газ();
машина1.влево();

Все, у нас три строчки всего получились, а в самом классе Машины спрятана вся реализация методов и полей объекта. Таким образом мы упростили программу и можем легко модифицировать все и менять.

Добавлено через 40 секунд
CarlVinson, подробнее можно прочитать в книгах или справочниках по Java.
0
1 / 1 / 0
Регистрация: 30.07.2018
Сообщений: 18
19.06.2019, 15:37  [ТС]
Ладно,буду разбираться...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2019, 15:37
Помогаю со студенческими работами здесь

Переменная типа string сохраняет не все данные
Всем привет! Помогите пожалуйста проблему решить, ума не приложу, почему переменная типа string перестаёт принимать то значение, что я ей...

Не удается присвоить значение члену переменная "in Some", так как это переменная только для чтения
namespace CSrharpApplicationTest { public struct Some { public int x; } public class Program {...

DataTable не сохраняет значение
Добрый день. Может кто подскажет в чем проблема, передаю результаты запроса в datagrid mysql.Open(); ...

не сохраняет значение радиокнопки после перезагрузки
Здравствуйте,в CMS Opencart создал radiobutton для вкл или отк навигации в каруселе ,все работает,но если еще раз зайти в модуль значения...

Запрос на обновление из VBA не сохраняет значение
Приветствую! Наверное, я как-то неправильно использую технологию запуска запроса из VBA Сам запрос на обновление записей, если его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru