Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.08.2018
Сообщений: 6

Игра не хочет работать

13.08.2018, 18:31. Показов 883. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю свою игру, юзер строит лабиринт из блоков, а точка(курсор или стрелочка) должна найти выход из него, в интернете посмотрел идею с двумерным массивом т.е. 0 = пустая клетка, 1 = стоит блок, 2 = мы уже были в этой точке, значит я всё это оформил, по выводу в консоль - видно, что компьютер находит и определяет 1,0 и 2, но когда ударяется в стену или границу (красная линия), то направление менять не хочет, что делать посоветуете, вот часть кода Java и скрин:


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
private void checkCollisions() {        // Метод проверяет столкнулась ли стрелочка
        // Pointer with block:
        if (arraySquareMatrix[yPointer][xPointer] == 1) {
            if (right) {
                xPointer -= STEP;
            }
            if (left) {
                xPointer += STEP;
            }
            if (up) {
                yPointer += STEP;
            }
            if (down) {
                yPointer -= STEP;
            }
            searchExit();
        }
        // Pointer with border:
        if (xPointer < 5) {
            xPointer += STEP;
            searchExit();
        }
        if (xPointer > 629) {
            xPointer -= STEP;
            searchExit();
        }
        if (yPointer < 5) {
            yPointer += STEP;
            searchExit();
        }
        if (yPointer > 629) {
            yPointer -= STEP;
            searchExit();
        }
    }
 
    private void searchExit() {    // Метод, который должен искать другой путь
        up = false;
        down = false;
        left = false;
        right = false;
        if (arraySquareMatrix[yPointer + 16][xPointer] == 0 && yPointer + 16 <= 629) {
            down = true;
        }
        if (arraySquareMatrix[yPointer - 16][xPointer] == 0 && yPointer - 16 >= 5) {
            up = true;
        }
        if (arraySquareMatrix[yPointer][xPointer + 16] == 0 && xPointer + 16 <= 629) {
            right = true;
        }
        if (arraySquareMatrix[yPointer][xPointer - 16] == 0 && xPointer - 16 >= 5) {
            left = true;
        }
    }
 
    private void createMatrix() {     // Метод создаёт двумерный массив из 0, 1 и 2
         for (int y = 5; y < SIZE_FIELD - 5; y += 16) {
             for (int x = 5; x < SIZE_FIELD - 5; x += 16) {
                 if (arraySquareMatrix[y][x] != 1 && arraySquareMatrix[y][x] != 2) {
                     arraySquareMatrix[y][x] = 0;
                 }
             }
         }
//        for (int y = 5; y < SIZE_FIELD - 5; y += 16) {
//            for (int x = 5; x < SIZE_FIELD - 5; x += 16) {
//                System.out.print(arraySquareMatrix[y][x] + " ");
//            }
//            System.out.print("\n");
//        }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2018, 18:31
Ответы с готовыми решениями:

Не хочет работать com+ компонент черкз RDS
Посмртрел статью 'COM-объекты средствами MS Visual J++' в разделе 'Статьи' Написал COM-компонент (использую Visual J++ 6, ) как там...

Не хочет работать апплет: ошибка: 'Applet Applet1 error: java.lang.ClassFormatterError: Bad major version number'
Использую JBuilder-8, Создаю новый проект, создаю новый класс Applet1 из шаблона типа Applet, Компилирую - Получаю Applet1.class При...

Initialise() не всегда хочет работать
Есть 2 ChoiceBox, в которые я хочу setItems() Стандартно подгружаю сцену из SceneBuilder'a @Override public void start(Stage...

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.08.2018, 20:50
Цитата Сообщение от Jorey Посмотреть сообщение
что делать посоветуете
https://en.wikipedia.org/wiki/A*_search_algorithm
читать, и далее по ссылкам типа pathfinding тоже читать
https://www.baeldung.com/java-solve-maze
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.08.2018, 20:50
Помогаю со студенческими работами здесь

Интернет не хочет работать,все хорошо подключается а браузер открывать не хочет первую страницу отображает
ребят такой вопрос,установил винду 8,все норм только интернет не хочет работать,все хорошо подключается а браузер открывать не хочет первую...

Не хочет работать
#include&lt;time.h&gt; #include&lt;stdlib.h&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); int a; int n; int i, j,count =...

Не хочет работать ...
1. Установил ПХП. 2. Проверяю домен ruseller.loc Выскакивает При открытии файла выдает сам код Что делать ?... Windows...

Не хочет работать AND
Приветствую) Есть код: $query_last5 = &quot;SELECT * FROM mail WHERE (to_id = 1 AND read = 0) ORDER BY id DESC LIMIT 5&quot;; /*161*/ $last5 =...

Не хочет работать QT
Недавно начал изучать С++ и поставил QT creator 4.3.1(Community). Сначало было все норм, писал програмку, запускал и все работало, теперь...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru