Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 26.04.2020
Сообщений: 1
1

Обход препятствий на игровом поле (например по волновому алгоритму)

26.04.2020, 07:20. Показов 2175. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет Я совсем новичок на Java и вообще в программировании, но сегодня должен успеть сдать.

Надо создать прямоугольную матрицу с цифрами, соответствующую этому игровому полю. Нужно расставить выбранные цифры там так, чтобы отрисовалось на игровом поле небольшое количество, примерно до 12 клеток , препятствий-кирпичиков темного цвета. И должен быть реализован обход препятствий твоим единственным юнитом, например по волновому алгоритму. Правой кнопкой мыши указываешь куда должен перейти юнит, и юнит должен поклеточно перейти в новое место, обходя кирпичики. Все это должно быть доделано в этом же проекте.

Буду очень благодарен если поможете

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
class MyGame;
package javaapplication61;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
 
public class MyGame extends JFrame{
    int size = 50;
    int rows = 8, cols = 8;
    int left = 100, top = 100;
    int srcX = 4, srcY = 4; 
    public static void main(String[] args) {
        MyGame game = new MyGame();
        game.setBounds(10, 10, 800, 600);
        game.setDefaultCloseOperation(2);
        game.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println("Мышку щелкнули");
                game.srcX = (e.getX()-game.left)/game.size;
                game.srcY = (e.getY()-game.top)/game.size;
                game.repaint();
            }
 
            @Override
            public void mousePressed(MouseEvent e) {
                System.out.println("Мышку вжали");
            }
 
            @Override
            public void mouseReleased(MouseEvent e) {
                System.out.println("Мышку отжали");
            }
 
            @Override
            public void mouseEntered(MouseEvent e) {
                System.out.println("Мышку отжали");
            }
 
            @Override
            public void mouseExited(MouseEvent e) {
                System.out.println("Мышка вышла");
            }
        });
        game.setVisible(true);
    }
 
    @Override
    public void paint(Graphics g) {
        super.paint(g); 
        MyGrid.paint( g , size, rows, cols, left, top);
        g.setColor(Color.green);
        g.fillOval(size*srcX+left ,size*srcY+top, size, size);
        }
    
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class MyGrid
package javaapplication61;
 
import java.awt.Color;
import java.awt.Graphics;
 
public class MyGrid {
 
    public static void paint(Graphics g, int size, int rows, int cols,
        int left, int top){
        g.setColor(Color.RED);
        for (int _i = 0; _i < rows + 1; _i++) {
            g.drawLine(left, _i * size + top, size*cols + left, _i*size+top);
        }
        for (int _i = 0; _i < cols + 1; _i++) {
            g.drawLine(_i * size + left, top, _i * size + left, size*rows+top);
        }
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class JFrame
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication61;
 
/**
 *
 * @author Student
 */
class JFrame {
    
}
Вложения
Тип файла: rar Java.rar (26.4 Кб, 16 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2020, 07:20
Ответы с готовыми решениями:

Сложности с реализацией. Задача по волновому алгоритму.
Задача на первый взгляд простая, на бумаге решить - нет проблем, но написать код... Не могу...

Обход препятствий
Здравствуйте, пишу курсовой проект, возникла одна проблема. При нахождении препятствия движение...

обход препятствий
Здравствуйте, передо мной стоит следующая задача. Есть алгоритм муравья, реализованный на Visual...

Обход препятствий
Вообщем то, есть полигон заданный набором вершин, внутри него есть такие же полигоны - препятствия....

3
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
17572 / 10325 / 2820
Регистрация: 21.10.2017
Сообщений: 22,388
26.04.2020, 09:43 2

Не по теме:

Цитата Сообщение от sn4pfire Посмотреть сообщение
Мышку вжали
Упал пацтол


1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.04.2020, 11:03 3
Завтра сдавать, а ничего нет в коде, ни волнового алгоритма, ни гуя. Интересно.
1
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
26.04.2020, 12:30 4
Цитата Сообщение от sn4pfire Посмотреть сообщение
но сегодня должен успеть сдать.
тогда вот https://www.cyberforum.ru/post14474234.html и набрать слово "лабиринт", при условии, что ты очень сообразительный, либо не за так...
1
26.04.2020, 12:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2020, 12:30
Помогаю со студенческими работами здесь

Обход препятствий стаей
Суть задачи заключается в том, что нужно децентрализовано обходить препятствия стаей из 5-6 (для...

Обход препятствий ломаной линией - по вертикали
Доброго времени суток, уважаемые форумчане. Помогите решить непростой вопрос. Есть макрос...

Обход препятствий (модель движения толпы к выходу)
Всем доброго времени суток. Уважаемы товарищи-программисты, столкнулся с проблемой при написании...

Реализовать волновой алгоритм с OpenGl (обход препятствий)
Помогите реализовать волновой алгоритм с OpenGl, пожалуйста

Программа по теме нечеткая логика (Обход препятствий роботом)
Доброго времени суток. По предмету искусственный интеллект задали сделать задачу по нечеткой...

Нарисовать линию на игровом поле
Задание: нарисовать на игровом поле линию(потом переделаю на то что нужно) при клике Проблема:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru