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

Массив змейка

22.11.2014, 14:28. Показов 2774. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Vsem privet. ya nachenaushij programist po jave. i u menya takoi vopros. u menya est zadanie napisat metodu kotoraya proveryaet esli danij dvuhmernij massiv on zmeika ili net. massiv po suti naprimer takoi: {
{ 1,2,3,4};
{ 8,7,6,5};
{ 9,10,11,12};
{
ya napisala kod on pravda eshe nezakonchen no est voprossi kotorie mne neponyatni. kod sam takoi:
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
    private static void check(int[][] snack) {
 
        for (int i = 0; i < snack.length; i++) {
            
            if((i+1)%2 == 0){ 
                for (int j = 0; j < snack[i].length; j++){
                    if(snack[i][j] <= snack[i][j+1]){
                        System.out.println("The array is not snack");
                    }
                    else 
                        continue;
                }
            }
 
 
 
            if((i+1)%2 != 0){
                for (int j = 0; j < snack[i].length; j++){
                    if(snack[i][j] >= snack[i][j+1]){
                        System.out.println("The array is not snack");
                    }
                    else
                        continue;
                }   
            }
        }
    }
pochemu posle togo kak kod proveryaet pervuu stroku massiva neperehodit na vtoruu??
mojet u kogoto est varianti na kod poluchshe???
zaranee spasibo
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2014, 14:28
Ответы с готовыми решениями:

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

MVC (Змейка)
Здравствуйте, пытаюсь сделать змейку(Точнее просто змейку уже сделал) нужно переделать ее под MVC Пытаюсь разнести все в модель и...

Змейка на Java
Здравствуйте. Очень нужен готовый проект со всеми исходниками игры &quot;Змейка&quot; на Java (изучаю NetBeans).Кому не жалко, пришлите пожалуйста на...

14
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
23.11.2014, 21:26
дай весь код пожалуйста
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
23.11.2014, 21:37  [ТС]
kod uje nemnogo inoi no smisl totje:

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
public static void main(String[] args) {
        int [][] snake =  {
                {4,34,36,45},    //0
                {103,101,69,67}, //1
                {108,109,134,165},//2
                {210,208,192,167},
        };
 
        print(snake);
        check(snake);
    }
 
 
    private static void print(int[][] snack) {
 
        for (int i = 0; i < snack.length; i++) {
            for (int j = 0; j < snack[i].length; j++) {
                if((i) %2 == 0)
                    System.out.print(snack[i][j]+ " ch "); // 
                else
                    System.out.print(snack[i][j]+ " nech ");
            }
            System.out.println();
        }
    }
 
 
    private static void  check(int[][] snake) {
        for (int i = 0; i < snake.length; i++) {
            int j;
            if(i%2==0){
                for ( j = 0; j < snake[i].length-1; j++){
                    if((snake[i][j]> snake[i][j+1]) || (snake[i][j] > snake[i+1][j])){
                        System.out.println("The array not snake");
                    }
                }
            }
            if(i%2!= 0){
                for ( j = 0; j < snake[i].length+1; j++){
                    if((snake[i][j]< snake[i][j+1]) || (snake[i][j] < snake[i+1][j])){
                        System.out.println("The arra not snake");
                    }
                }
            }
            else{
                System.out.println("The array is snake!");
 
            }
 
        }
    }
}


Добавлено через 3 минуты
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
public static void main(String[] args) {
        int [][] snake =  {
                {4,34,36,45},    //0
                {103,101,69,67}, //1
                {108,109,134,165},//2
                {210,208,192,167},
        };
 
        print(snake);
        check(snake);
    }
 
 
    private static void print(int[][] snack) {
 
        for (int i = 0; i < snack.length; i++) {
            for (int j = 0; j < snack[i].length; j++) {
                if((i) %2 == 0)
                    System.out.print(snack[i][j]+ " z ");
                else
                    System.out.print(snack[i][j]+ " iz ");
            }
            System.out.println();
        }
    }
 
 
    private static void  check(int[][] snake) {
        for (int i = 0; i < snake.length; i++) {
            int j;
            if(i%2==0){
                for ( j = 0; j < snake[i].length-1; j++){
                    if((snake[i][j]> snake[i][j+1]) || (snake[i][j] > snake[i+1][j])){
                        System.out.println("The array not snake");
                    }
                }
            }
            if(i%2!= 0){
                for ( j = 0; j < snake[i].length+1; j++){
                    if((snake[i][j]< snake[i][j+1]) || (snake[i][j] < snake[i+1][j])){
                        System.out.println("The arra not snake");
                    }
                }
            }
            else{
                System.out.println("The array is snake!");
 
            }
 
        }
    }
}
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
23.11.2014, 21:56
В чём вопросы заключаются?
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
23.11.2014, 23:24  [ТС]
вопрос в том что нужно написать методу которая принимает массив который есть в коде и проверяет если этот массив построен по спирали. тоесть если четная линия массива то цыфры в ней растут если нечетная то убывают. также первая цыфра каждой линии обязаны быть меньше чем первые и последние цыфры следующей линии. напишу массив еще раз :
4 6 7 8 9
25 20 16 10
27 29 31 35
это пример змейки. -> --> -->
<-- <-- <--
--> --> -->
короче говоря нужна метода которая проверит и даст True если этот массив змейка :-)

Добавлено через 7 минут
мой код неработает. почемуто проверяет только i=0 и дальше неидет тоест га i=1уже непереходит и также проверяет невсе номера в массиве
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
24.11.2014, 00:22
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
    public static void main(String[] args) {
        int[][] snake = {
            {1, 2, 3, 4},
            {8, 7, 6, 5},
            {9, 10, 11, 12},
            {16, 15, 14, 13},};
 
        print(snake);
        check(snake);
 
    }
 
    private static void print(int[][] snack) {
 
        for (int i = 0; i < snack.length; i++) {
            for (int j = 0; j < snack[i].length; j++) {
                System.out.print(snack[i][j] + " ");
            }
            System.out.println();
        }
    }
 
    private static void check(int[][] snake) {
        boolean result = true;
        for (int i = 0; i < snake.length; i++) {
            if (i % 2 == 0) {
                for (int j = 0; j < snake.length - 1; j++) {
                    if (snake[i][j] >= snake[i][j + 1]) {
                        result = false;
                    }
                }
            }
            if (i % 2 == 1) {
                for (int j = snake.length - 1; j > 0; j--) {
                    if (snake[i][j] >= snake[i][j - 1]) {
                        result = false;
                        System.out.println("lol");
                    }
                }
            }
        }
        if (result == true) {
            System.out.println("Змейка");
        } else {
            System.out.println("Не змейка");
        }
    }
Вот мой вариант
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
24.11.2014, 08:40  [ТС]
спасибо:-) все очень просто а я запуталась:-)
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
24.11.2014, 13:49
Нашёл у себя ошибку... там ещё одну проверку надо сделать
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
24.11.2014, 14:10  [ТС]
да нужно еще слелать проверку что номера должны быть на настоящей линии обязательно меньше чем наследующей
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
24.11.2014, 14:22
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
    public static void main(String[] args) {
        int[][] snake = {
            {1, 2, 3, 4},
            {8, 7, 6, 5},
            {9, 10, 11, 12},
            {16, 15, 14, 13},};
        boolean result = true;
 
        print(snake);
        check(snake, result);
 
    }
 
    private static void print(int[][] snack) {
        for (int i = 0; i < snack.length; i++) {
            for (int j = 0; j < snack[i].length; j++) {
                System.out.print(snack[i][j] + " ");
            }
            System.out.println();
        }
    }
 
    private static void check(int[][] snake, boolean result) {
        for (int i = 0; i < snake.length; i++) {
            if (i % 2 == 0) {
                if (snake[i][snake.length - 1] >= snake[i + 1][snake.length - 1]) {
                    result = false;
                }
                for (int j = 0; j < snake.length - 1; j++) {
                    if (snake[i][j] >= snake[i][j + 1]) {
                        result = false;
                    }
                }
            } else {
                if (snake[1][0] >= snake[2][0]) {
                    result = false;
                }
                for (int j = snake.length - 1; j > 0; j--) {
                    if (snake[i][j] >= snake[i][j - 1]) {
                        result = false;
                    }
                }
            }
        }
        if (result == true) {
            System.out.println("Змейка");
        } else {
            System.out.println("Не змейка");
        }
    }
Вот. но тут тоже много доработок можно сделать. Этот код рассчитан на матрицу в 4 строки
1
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
24.11.2014, 14:34  [ТС]
Java
1
2
3
4
else {
                if (snake[1][0] >= snake[2][0]) {
                    result = false;
                }
etot kusok koda, ya ego neponila shtoto((
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
24.11.2014, 14:42
это проверка на "змейность" нулевого(первого) элемента первой(второй) строки с тем же элементом второй(третьей строки). Аналогично этому,
if (snake[i][snake.length - 1] >= snake[i + 1][snake.length - 1]) {
result = false;
}, только по левой стороне.
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
24.11.2014, 15:02  [ТС]
esli ya zamenu telo else{} na
Java
1
2
3
4
 } else {
                if (snake[i][snake.length - 1] >= snake[i + 1][snake.length - 1]) {
                    result = false;
                }
tak je kak v pervom uslovii pochemu on oshibku daet???

Добавлено через 13 минут
ya sdelala vot shto
Java
1
2
3
4
} else {
                if (snake[i-1][0] >= snake[i][0]) {
                    result = false;
                }
Добавлено через 4 минуты
vse rabotaet ))))))))
0
5 / 5 / 1
Регистрация: 28.11.2013
Сообщений: 72
24.11.2014, 21:25
Ошибка из за того, что в конце проверки он начинает сравнвать строку с несуществующим индексом.. На это нужно ещё условия в код дописывать. Если нужно, допишу
0
-1 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 35
24.11.2014, 21:37  [ТС]
ну для интереса напиши что за проверка если не сложно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.11.2014, 21:37
Помогаю со студенческими работами здесь

Игра Змейка
Помогите дописать игру, в Java практическм ноль(((( Нужно, чтобы: 1) при окончании игры выскакивало окошко с количеством собранных...

Snake. Змейка рассыпается на фрагменты
Здравствуйте, я, пока ещё(надеюсь пока), полный нуб в яве. Пожалуйста помогите мне с кодом. Пишу змейку. Всё вроде бы хорошо, но возникает...

Игра змейка. У кого нибудь есть исходник?
Игра змейка. У кого нибудь есть исходник? Интересует только JAVA. Заранее благодарен.

Ограничение по скорости нажатия клавиш - Игра Змейка
Написал код для Змейки, но возникла небольшая проблема - если быстро нажать вниз/вверх + вправо/влево Змея резко развернется на 180...

Использование sleep в игре змейка, для постепенной отрисовки
Доброго времени суток. Начал учить Java и, после решения N простеньких задачек, решил попробовать сделать змейку. Застрял на простой...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru