Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
AS 3.0

Морской бой: алгоритм для бота, ищущего место для корабля нужной длины

27.01.2017, 12:40. Показов 1284. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, пишу игру морской бой. Попытался написать алгоритм для бота, который ищет где на поле есть место для корабля нужной длины. Вот Алгоритм
ActionScript 3
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
private function clevearRandom(map:Array):Array {
            var len:int = lenShip[lenShip.length - 1]; //Максимальная длина корабля на данныймомент
            var correct:Boolean = false;
            var various:Array = new Array();
            
            for (var i:int = 0; i <= 10-len; i++) {
                for (var j:int = 0; j <= 10-len; j++) {
                    for (var n:int = 0; n < len; n++) {
                        if (map[i + n][j] == 0 && area(map,[i,j])) correct = true; //map - карта выстрелов
                        else {                                              //где 0 - куда ещё не стреляли
                                                                            //area(map,[i,j]) - возвращает true,            
                                                                            //если вокруг этой клетки нет корабля
                            correct = false;
                            break;
                        }
                    }
                    if (correct) various.push([i,j]);
                    else{
                        
                        for (var n:int = 0; n <= len; n++) {
                            if (map[i][j+n] == 0 && area(map,[i,j])) correct = true;
                            else {
                                correct = false;
                                break;
                            }
                        }
                        if (correct) various.push([i,j]);
                    }
                }
            }
            
            var i:int = (int)(Math.random() * (various.length)); //выбираем случайную клетку из подходящих
            
            return various[i];
        }
Проблема в том, что он не работает. Долго думал что не так, поэтому прошу Вашей помощи)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2017, 12:40
Ответы с готовыми решениями:

Морской бой: написать проверку для расстановки последнего корабля
program morskoi_boy ; var m, n: integer; a: array of char; f1, f2: text ; procedure vvod(n, m: integer ); var ...

Морской бой для 1 игрока
Помогите,пожалуйста. Сказали сделать морской бой,но только для 1 человека(типа сапера). Перед тобой боле 10 на 10, и нажимая на клетку...

Поле для игры морской бой
Нужно будет написать игру морской бой, хотел бы реализовать такое же поле как на скрине. Как это сделать?) Или может еще какие...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2017, 12:40
Помогаю со студенческими работами здесь

прога для игры морской бой
Здравствуйте. Подскажите где можно скачать игру в этой теме - https://www.cyberforum.ru/cpp-builder/thread309976.html Скачиваю исходник в...

Написать программу для игры в морской бой
Помогите с заданием на курсовую, проболел, времени совсем не хватает... 1-курс..

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

Создайте поле для игры Морской бой
Помогите пожалуйста с игрой. Создайте поле для игры Морской бой. Корабли располагаются случайным образом или пользователь расставляет сам....

Морской бой. Форма для расстановки кораблей
Добрый день! Нужна помощь в реализации Морского боя на формах. Помогите пожалуйста сделать форму для полей двух участников и расстановки...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru