С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 6

Пишу змейку на Java

12.08.2014, 14:04. Показов 4248. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу строго не судить
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.08.2014, 14:04
Ответы с готовыми решениями:

В попытках написать змейку на Java (Snake (video game)
Тестовый вариант, в теории змейка из двух клеток должна "пробегать" вправо. Но на деле же такого не происходит ("хвост" змейки...

Java пишу мини paint не работает многопоточность
Здравствуйте, форумчане! Встала такая проблема: пишу мини-графический редактор. Вот часть кода: package Classes; ...

Пишу консольную змейку, крашит при увеличении размера
Появилось желание сделать свою игру на С++, так как нужно начинать с простого, решил сделать простую змейку. Нашёл в интернете пример, и...

20
 Аватар для dvano
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216
12.08.2014, 17:54
Що это? Когда новое видео?
0
Заблокирован
12.08.2014, 19:05
Прошу строго не судить
Но нудятина же жуткая
Какой-то ролик, в каком-то 2012 году... Разбирался в джаве, забросил... 8 часов утра... Ну кого это нафиг интересует?
Лучше бы рассказали, как будет выглядеть змейка, показали ее в работе и в двух словах рассказали, как будете ее делать (например, так: "сначала мы создадим окошко, потом сделаем то-то а потом сё-то").

Зачем минутами трындеть про все эти JFrame, new, import, если не поясняете, что все это такое и зачем?
Даже такую банальную вещь, как setResizable - могли бы буквально в двух словах описать, но даже этого не сделали.
Зачем вообще такое видео, если в нем кроме кода, который пишут чуть ли не часами, ничего и нет?
Публикуйте тогда просто коды на специальных сайтах и все, люди сами скорее разберутся, чем с этой видеотягомотиной.

Если ничего толком не знаете сами, то зачем пытаетесь учить других? Только ютуб захламляете, среди таких видео потом тяжело найти что-то путное.
0
 Аватар для chizz
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
12.08.2014, 21:22
На этом видео описывается отрисовка игрового поля на Java. Ждем следующих видео.

Добавлено через 31 секунду
laxi, не <censored>. Можешь сделать лучше - сделай
 Комментарий модератора 
Использование нецензурных выражений запрещено в любом виде
0
12.08.2014, 22:16

Не по теме:

и тут он успел нафлудить. такое же видео в контакте выложено.

0
Заблокирован
12.08.2014, 22:22
chizz,
не <censored>
К вашему сведению, тут модераторы, а мат и псевдомат запрещен.

На этом видео описывается отрисовка игрового поля на Java.
Вот именно.
На окне рисуется сетка заданных ширины и длины. И все.
И трындеж чуть ли не на 20 минут.

Можешь сделать лучше - сделай
А я не делаю?
А кто тогда написал, например, вот этот мануал, где рассказано и показано, как работать с протоколом IMAP на VB.NET?
Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
Код там не намного проще, чем в этом видео, однако такой нудятины, как в этом видео, там почему-то нет и близко. Там не написано "ой, у меня только что штекер питания из ноута выскочил, сейчас на место вставлю" или "я года два назад краны починять пытался, бла-бла-бла, бла-бла-бла, но потом забросил".
Да если и написано, можно ничего этого не читать, а сразу скопипастить или скачать код и применить в деле.

А где сделанное вами, чтобы вам об этом судить? Можете показать?
Или вы тоже 10 минут показываете, как хелловорлд писать? Тогда лучше не показывайте.
0
 Аватар для chizz
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
13.08.2014, 02:52
laxi, а видео есть?
0
Заблокирован
13.08.2014, 03:10
chizz, и видео есть, но мало - пара-тройка штук.
Например, в свое время, когда начинал писать под Android, мне очень не нравилась Java своей тормознутостью, в том смысле, что Eclipse тормозит сильно.
И я по пытался писать приложения Android не на Java, а на C# в среде dot42, вроде она быстрее. Ну новичку осознать всю убогость IDE трудно, мне вроде понравилось и я сдуру начал эту dot42 форсить на разных форумах и всем советовать.
Видеоурок как раз по ней снял, как написать хелловорлд под Android в dot42. На ютуб залил.
Ну IDE-то хрень, но факт тот, что в видеоуроке том голосовой озвучки не было вообще, а только было показано, что и как делать, все очень быстро (минут 20, с установкой IDE и пакета драйверов ADB - для новичков же), зато в описании были кое-какие пояснения и код хелловорлда, чтобы его желающие могли скопировать, а не приходилось набивать на клаве.
0
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 6
14.08.2014, 11:32  [ТС]
Вторую часть выложил
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
14.08.2014, 11:56
iXNomad, код должен располагаться на форуме. Видео - это бонус. Выложите код для оценки.
2
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 6
14.08.2014, 14:09  [ТС]
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
package ixn.snakegame;
 
import ixn.snakegame.objects.Snake;
 
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
 
public class SnakeGame extends JPanel implements ActionListener {
    
    private static final long serialVersionUID = -4201295877166777528L;
    public static final int SCALE = 32;
    public static final int WIDTH = 20;
    public static final int HEIGHT = 20;
    public static final int SPEED = 5;
    
    Snake s = new Snake(10, 10, 9, 10);
    Timer t = new Timer(1000/SPEED, this);
    
    public SnakeGame() {
        t.start();
    }
    
    public void paint(Graphics g) {
        g.setColor(color(5, 50, 10));
        g.fillRect(0,0, WIDTH*SCALE, HEIGHT*SCALE);
        g.setColor(color(255, 216, 0));
        
        for(int xx = 0; xx <= WIDTH*SCALE; xx+=SCALE) {
            g.drawLine(xx, 0, xx, HEIGHT*SCALE);
        }
        for(int yy = 0; yy <= HEIGHT*SCALE; yy+=SCALE) {
            g.drawLine(0, yy, WIDTH*SCALE, yy);
        }
        
        for(int d = 0; d < s.length; d++) {
            g.setColor(color(20, 30, 150));
            g.fillRect(s.snakeX[d]*SCALE+1, s.snakeY[d]*SCALE+1, SCALE-1, SCALE-1);
        }
    }
    
    public Color color(int red, int green, int blue) {
        return new Color(red, green, blue);
    }
    
    public static void main(String[] args) {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setResizable(false);
        f.setSize(WIDTH*SCALE+7, HEIGHT*SCALE+30);
        f.setLocationRelativeTo(null);
        f.add(new SnakeGame());
        f.setVisible(true);
    }
 
    public void actionPerformed(ActionEvent arg0) {
        s.move();
        
        repaint();
    }
}
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
package ixn.snakegame.objects;
 
public class Snake {
    
    public int direction = 0;
    public int length = 2;
    
    public int snakeX[] = new int[100];
    public int snakeY[] = new int[100];
    
    public Snake(int x0, int y0, int x1, int y1) {
        snakeX[0] = x0;
        snakeY[0] = y0;
        snakeX[1] = x1;
        snakeY[1] = y1;
    }
    
    public void move() {
        for(int d = length; d > 0; d--) {
            snakeX[d] = snakeX[d-1];
            snakeY[d] = snakeY[d-1];
        }
        
        if(direction == 0) snakeX[0]++;
        if(direction == 1) snakeY[0]++;
        if(direction == 2) snakeX[0]--;
        if(direction == 3) snakeY[0]--;
    }
}
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
14.08.2014, 21:10
iXNomad, не учите детей плохому (шучу конечно ): GUI всё-таки лучше создавать в отдельном потоке...
а-ля:
Java
1
2
3
4
5
6
7
8
public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new //моя форма собственно (JFrame)
            }            
        });
    }
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.08.2014, 22:31
ildwine, чем лучше?
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
15.08.2014, 20:20
Цитата Сообщение от turbanoff Посмотреть сообщение
ildwine, чем лучше?
turbanoff, разве от этого не будет выигрыша в скорости?
0
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311
15.08.2014, 20:27
Цитата Сообщение от Wado-Ru Посмотреть сообщение
разве от этого не будет выигрыша в скорости?
скорости чего? обьясните поподробнее
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
15.08.2014, 20:45
Не буду говорить слово "лучше".... кошернее, не зря же такая практика повелась, запускать гуи в потоке диспетчеризации событий...
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
15.08.2014, 20:48
Цитата Сообщение от EdisonMiranda Посмотреть сообщение
скорости чего? объясните поподробнее
- скорости выполнения/загрузки/инициализации приложения
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
15.08.2014, 21:00
Там есть еще вроде такой аспект, что безопаснее...
0
Заблокирован
16.08.2014, 04:41
Wado-Ru,
- скорости выполнения/загрузки/инициализации приложения
На многоядерных процессорах распараллеливание любых действий ускоряет, да.

Добавлено через 1 минуту
ildwine,
Там есть еще вроде такой аспект, что безопаснее...
Фобия какая-то - бояться однопоточных приложений.
Наоборот, многопоточность несколько усложняет код - и соответственно повышает риск ошибки.
0
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
16.08.2014, 21:29
iXNomad, когда продолжишь разработку змейки? Очень интересно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.08.2014, 21:29
Помогаю со студенческими работами здесь

Пишу программу "Змейку" и всё время такой серый фон,что делать?
Вот код,что не так я сделал? program Shapoval; uses crt, graph; const N=50; var snake: array of integer; ...

Пишу на JAVA
238-333-826

Пишу программы на Delphi, Pascal, Java, C++
Лабораторные, курсовые, дипломные работы на Delphi, Pascal, Java, C++. Выполню в требуемые сроки, качественно и недорого. ...

Пишу статью о WPF и Java Swing
Всем привет! Вот пишу статью, в которой я хотел бы сравнить Java Swing и WPF на счет создание интерфейсов и на счет существовании Swing и...

Пишу программы на Delphi, Pascal, Java, C++
Лабораторные, курсовые, дипломные работы на Delphi, Pascal, Java, C++. Выполню в требуемые сроки, качественно и недорого. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru