0 / 0 / 0
Регистрация: 24.11.2017
Сообщений: 45
1

Комментарии к коду

23.06.2019, 14:12. Показов 442. Ответов 2
Метки нет (Все метки)

добрый день, форумчане! у меня немного странный вопрос-просьба: нужно написать комментарии к проге (прям вот почти на каждую строку). сама прога работает, проблем нет. нужно просто описать как она работает. особенно важен метод tick(). заранее спасибо всем откликнувшимся!
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.HashMap;
import java.util.Map;
 
public class Rect extends JPanel implements KeyListener{
 
    RenderingHints rh = new RenderingHints(
            RenderingHints.KEY_TEXT_ANTIALIASING,
            RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
 
    private class Action {
        boolean pressed;
        float speed;
    }
 
    long t = 0;
    float x = 100;
    float y = 100;
    float w = 40;
    float h = 60;
    float r = 0;
 
    Map<Integer, Action> actions = new HashMap<Integer, Action>(){{
        put(KeyEvent.VK_W, new Action());
        put(KeyEvent.VK_S, new Action());
        put(KeyEvent.VK_A, new Action());
        put(KeyEvent.VK_D, new Action());
    }};
 
    @Override
    public void paint(Graphics g) {
        tick();
        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHints(rh);
        g2d.clearRect(0,0, 10000, 10000);
        g2d.translate(x +w/2, y+h/2);
        g2d.rotate(r);
        g2d.translate(-w/2, -h/2);
        g2d.fillRect(0, 0, (int)w, (int) h);
        g2d.dispose();
    }
 //вот здесь ОЧЕНЬ нужны комменты с описанием
    private void tick() {
        long millis = System.currentTimeMillis();
        float dt = (millis - t) / 300f;
        for (Integer key : actions.keySet()) {
            Action action = actions.get(key);
 
            if (action.pressed)
               action.speed = Math.min(action.speed + dt, 1);
            else if (action.speed > 0)
                action.speed = Math.max(action.speed - dt, 0);
 
            float dir = key == KeyEvent.VK_W || key == KeyEvent.VK_D ? 1 : -1;
            
            if (key == KeyEvent.VK_W || key == KeyEvent.VK_S) {
                y += Math.sin(r) * action.speed * dir;
                x += Math.cos(r) * action.speed * dir;
            }
            
            if (key == KeyEvent.VK_A || key == KeyEvent.VK_D)
                r += action.speed / 30 * dir;
        }
        t = millis;
    }
 
    Rect() {
        t = System.currentTimeMillis();
        new Timer(11, new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                repaint();
            }
        }).start();
    }
 
    public static void main(String[] args) {
        JFrame f = new JFrame();
        Rect rect = new Rect();
        f.add(rect);
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        f.setSize(500, 500);
        f.setLocationRelativeTo(null);
        f.setVisible(true);
        f.addKeyListener(rect);
    }
 
    @Override
    public void keyTyped(KeyEvent e) {}
 
    @Override
    public void keyPressed(KeyEvent e) {
        act(e, true);
    }
 
    @Override
    public void keyReleased(KeyEvent e) {
        act(e, false);
    }
 
    void act(KeyEvent e, boolean state){
        Action action = actions.get(e.getKeyCode());
        if (null != action)
            action.pressed = state;
    }
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2019, 14:12
Ответы с готовыми решениями:

Задача: написать комментарии к коду. Код простенький)
/* 4.2.6. 1 вариант. Для матрицы А(4 строки, 5 столбцов) вычислить выражение Y=M1M5+M2M4+...+M5M1,...

Помогите, пожалуйста написать комментарии к коду задачи
Ребята, помогите, пожалуйста написать комментарии к коду задачи (300 строк). Просто, что да как...

Нужны комментарии к коду
День добрый, кто шарит может написать комментарии к этому коду, пожалуйста! public class pr5...

Комментарии к коду
Добрый вечер. Нужен комментарий к каждой строчке кода. Сможете помочь? Если потребуется...

2
2048 / 1617 / 395
Регистрация: 17.02.2014
Сообщений: 8,007
23.06.2019, 17:49 2
Цитата Сообщение от blackzero90 Посмотреть сообщение
немного странный
спешу тебя разуверить, просьбы такого рода, тут, не редкость)). а тот, кто специализировался на такого рода помощи, на даче.
0
0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 2
24.06.2019, 20:56 3
Могу немного только прокомментировать.

Java
1
public class Rect extends JPanel implements KeyListener{ // класс Rect наследуется от JPanel и имплементирует интерфейс KeyListener
Java
1
private void tick() { // приватный метод который ничего не возвращает
Цитата Сообщение от blackzero90 Посмотреть сообщение
long millis = System.currentTimeMillis();
Присвоить переменной типа лонг текушее значение времени в милисекудах

Цитата Сообщение от blackzero90 Посмотреть сообщение
float dt = (millis - t) / 300f;
Считается разница присваивается переменное типа float

Дальше обработка события нажатия клавиш
Цитата Сообщение от blackzero90 Посмотреть сообщение
Rect() {

Цитата Сообщение от blackzero90 Посмотреть сообщение
Rect() {
конструктор класса Rect.
Цитата Сообщение от blackzero90 Посмотреть сообщение
public static void main(String[] args)
основной метод public класса.

Дальше переопределение методов нажатия:
Цитата Сообщение от blackzero90 Посмотреть сообщение
@Override
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2019, 20:56

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Комментарии по коду
Есть библиотека, помогите разобраться с строками, под кодом напишу их namespace UserArrays { ...

Комментарии к коду
Здравствуйте, может мне кто-нибудь, пож-та, объяснить участок кода, который представлен ниже? А то...

Комментарии к коду
Ребят, не могу разобраться с кодом) Что, где и за что отвечает? Если можно по каждой строчке)...

Комментарии к коду
Здравствуйте. Можете пожалуйста добавить комментарии к данному коду? Что значит Sender as TShape и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.