Имя: Пароль:
LIFE
 
OFF: Морской бой (интеллектуальный конкурс 1сников)
☑
0 Конструктор1С
 
18.09.26
✎
10:59
1. Взлетит 59% (10)
2. Не взлетит 41% (7)
Всего мнений: 17

По мотивам
Интеллектуальный конкурс 1С-программистов

Идея: устроить программистское соревнование в классическую детскую игру "Морской бой". Будет некий бэкенд, который проводит игру. Участник пишет на 1С свой клиент (HTTP-сервис), через который проходит игра. Сервер будет закатывать/получать JSON с картой боя и ходами противника.
Каждый участник самостоятельно реализует логику ходов и начальной расстановки. Эдакая онлайн-игра на минималках должна получиться.
Серверную часть я напишу. Но нужен будет сервер, на котором это всё опубликуется

Кто что думает?
1 Конструктор1С
 
18.09.26
✎
11:04
Участник должен будет написать робота (алгоритм), который будет биться в игре
2 shuhard
 
18.09.26
✎
11:06
(0) ну получишь ты два решения от Cursor и Claude. чем меряться будешь - промтами и потраченными токенами ?

Не взлетит
3 Fragster
 
гуру
18.09.26
✎
11:07
блин, я бы серверную часть написал
4 Конструктор1С
 
18.09.26
✎
11:08
(2) разумеется победами
5 Fragster
 
гуру
18.09.26
✎
11:08
а то после пазлов для мисс мисты давно ничего не делал такого
6 Конструктор1С
 
18.09.26
✎
11:08
(3) да я сам напишу
7 Timon1405
 
18.09.26
✎
11:15
wiki:IT-чемпионаты_VK
было подобное лет 10 назад, потом как-то заглохло у них все

CodeWizards/2016
Чемпионат проводился с 7 ноября по 18 декабря 2016 года. Участники программировали искусственный интеллект для управления волшебником

Взлетит
8 Lama12
 
18.09.26
✎
11:46
API опиши. Если на разработку будет достаточно времени, я бы поиграл 😎.

Взлетит
9 Somebody
 
18.09.26
✎
11:49
а предоплата? ежеминутное упоминание 5 тр. /час? все вот эти атрибуты настоящего интеллехтуального баттла
10 Климов Сергей
 
18.09.26
✎
11:50
Я студэнтов заставляю крести-нолики писать. Но локально. Замутить вариант, с сервером игр, одновременно несколько сеансов, в разных вариантах человек-компьютер. Можно, но пока психов не нашёл.

Взлетит
11 Ненавижу 1С
 
гуру
18.09.26
✎
11:58
(0) а зачем тут сервис? передается алгоритм-обработка и все
12 Fragster
 
гуру
18.09.26
✎
11:59
(11) чтобы визуализировать для сообщества
13 PLUT
 
гуру
18.09.26
✎
12:01
на меня не рассчитывайте. я слишком стар для этого .... :)
14 Ненавижу 1С
 
гуру
18.09.26
✎
12:02
(12) ну можно и визуализировать потом
15 kittystark
 
18.09.26
✎
12:13
в качестве развлечения в отпуске написал и бэкенд на NodeJS с использованием WebSocket, и простейший фронт на JS/HTML, местами привлекая сына для его обучения программированию

могу поделиться
16 X Leshiy
 
18.09.26
✎
12:25
Херня)
Лучше как я предлагал)
На ринг)
И зрелищно и задорно)
17 Конструктор1С
 
18.09.26
✎
12:28
(8) пока в голову пришел только самый банальный вариант. Твой http реализует три метода:
GAMESTART - на входе id игры, в отчет ты посылаешь json со своей расстановкой кораблей. Пример:
["1А;2А;3А;4А","1В;1Г;1Д","1Ж;2Ж;3Ж","3В;4В","5А;6А","5В;5Г","7Д;7Е","9З;9И","9К;8К","6Ж;7Ж"]
SHOT - означает твой ход. На входе подается json c id игры, именем противника, всеми твоими ходами, всеми ходами противника, какие ячейки ты вскрыл и общим счетом. В ответ ты отправляешь свой ход, например "А2"
GAMEEND - означает завершение игры. На входе json с id игры, победил ты или проиграл, и общей детализацией, как в прошлом методе
18 Конструктор1С
 
18.09.26
✎
12:30
(15) исходниками поделишься?

О, кстати! В платформу же веб-сокеты завезли. Можно их использовать
19 Конструктор1С
 
18.09.26
✎
12:31
(11) чтобы другие (наблюдатели) могли смотреть результаты боёв
20 kittystark
 
18.09.26
✎
12:35
(18) не вопрос, надо до домашнего ноута добраться и завести его
21 PLUT
 
гуру
18.09.26
✎
12:36
(16) конкурс на самую отбитую башню?
22 Garykom
 
гуру
18.09.26
✎
12:41
(16) Угу. И вместо перчаток брать в руки ЖКК и драться ими.
23 Конструктор1С
 
18.09.26
✎
12:57
Картинка в нулевом сообщении не приложилась. Детская игра, но по взросло-программистскому!
24 X Leshiy
 
18.09.26
✎
12:58
(22) Это будет больно)))
25 PR
 
18.09.26
✎
15:11
(0) Думаю, что Геня не согласится
26 Сеньор Программист
 
18.09.26
✎
16:39
Сразитесь на Московской Бирже. Хоть на 1с хоть ручками.
Весь мир против Вас.

Призовой фонд неограничен.

Не взлетит
27 Конструктор1С
 
18.09.26
✎
15:44
(25) да он и не осилит
28 sikuda
 
18.09.26
✎
21:04
А если серверная часть и клиентская отдельно. То зачем здесь 1С?

Взлетит
29 Конструктор1С
 
18.09.26
✎
19:10
(28) можно и без 1с, кто во что умеет
30 Domovoi
 
18.09.26
✎
20:36
(29)А если давать на ход секунд 15-30, то можно даже без программирования :)
31 Tatitutu
 
19.09.26
✎
11:47
)))) Вы сначала Г1С правила игры хоть на пальцах объясните
В армии не служил, как бы не попутал чего

Не взлетит
32 Конструктор1С
 
18.09.26
✎
20:54
(30) можно и так. Хотя бы на период тестирования
33 Tatitutu
 
18.09.26
✎
21:04
нужно, что не только интересное ну и полезное.

Долгие годы не дает покоя байка про 15 летнего парня в Америке
который на первом уроке информатике написал приложение
квадрат 9 кнопок при  нажатии на которую раздается пикантный звук. выложил в Аппсторе и заробатал почти полляма зелени.

тут годами пишешь, думаешь, разработываешь.
Хотя сегодня 6 месяцев маленькому мелкому, но очень
нужному приложению всего за 299 руб. но 1000 покупателей.
34 xenos
 
19.09.26
✎
09:21
(23) Оба поля — расстановка дегенератов. Я лет в 8-9-10 отчётливо понимал, что надо большие корабли расставлять вдоль краёв, а однопалубные "случайным" образом на свободном пространстве.
35 PLUT
 
гуру
19.09.26
✎
11:12
(34) + однопалубный "летучий голландец"/подлодка. не указывать его расположение до последней возможной клетки ?
36 maxab72
 
19.09.26
✎
12:09
(34) лучше крупные ставить так, чтоб они максимально перекрывали зоны друг друга. Тогда свободного места для однотрубников остается немного больше чем если ставить крупные вдоль бортов. Мы на математике такую задачку решали с учителем в классе 4-ом.
37 Злопчинский
 
19.09.26
✎
12:58
Вы о чем? Какие конкурсы? На форуме застой и тина. Один Гений1с только баламутит изредка.

Если писать то писать уже что-то потенциально полезное.
И тут вопрос: что?
38 Domovoi
 
19.09.26
✎
15:21
(37)Вопрос не что, а для кого? А сейчас такая ситуация на рынке, что никому ничего не надо. Тупо ставим ЕРП (или другую типовую, в зависимости от деятельности, и пофиг что не очень подходит) и терпим. Бизнес не хочет развиваться. Отсюда и застой.
Лучше уж конкурс для веселья и разминки мозгов, чем вообще ничего.
39 xenos
 
19.09.26
✎
18:13
(36)
лучше крупные ставить так, чтоб они максимально перекрывали зоны друг друга.


Одно другому не мешает.

Тогда свободного места для однотрубников остается немного больше чем если ставить крупные вдоль бортов.



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

Какая расстановка дает больше клеток?
40 Пушкин
 
19.09.26
✎
19:53
Сомнительно

Не взлетит
41 maxab72
 
19.09.26
✎
20:11
(39) не меньше 60 клеток точно есть несколько вариантов. Возможно еще ставилось какое-то условие, например, чтоб свободная зона была как можно более квадратная или чтоб не работала тактика сперва стрелять через 1 клетку вдоль всех бортов и т.п. Но точно была позиция лучше чем все вдоль двух бортов.
42 sikuda
 
19.09.26
✎
20:36
(37) Застой не то слово, пока здесь обсуждают только возможность написания уже устаревают библиотеки для работы с новым python в примере морского боя...🤦
https://github.com/sorooshm78/sea

В Докере приходится запускать
43 xenos
 
19.09.26
✎
21:02
(41)
Но точно была позиция лучше чем все вдоль двух бортов.


Допускаю. Но хотелось бы пример.

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

Да, можно в углы загнать некоторые однопалубные и сделать ставку, что противнику надо будет искать один-два-три однопалубных на свободном поле но это другая стратегия.
44 Гений 1С
 
гуру
19.09.26
✎
20:57
(0) ты не можешь себе позволить арендовать сервер? или диванона боишься?
45 Конструктор1С
 
20.09.26
✎
01:12
(44) ген, объясни целесообразность аренды сервера для такого пустячного, разового мероприятия?
46 PR
 
20.09.26
✎
11:50
(44) Молчи уж... ты боишься потратить пару часов времени на конкурс, твоя бы корова мычала
47 malikov
 
20.09.26
✎
06:07
(0)А потом народный жим лежа, проведем. жим штанги от груди.  Жим лежа на скамье, вес штанги, собственный вес участника. Кто больше выжал на кол-во раз тот и победитель.

Взлетит
48 maxab72
 
20.09.26
✎
11:05
(43) Ну, например: (а1, б1, в1, г1), (е1б ж1, з1), (к1, к2, к3), (а3, б3), (г3, д3), (ж3, з3) - 40 клеток, не все вдоль бортиков.
Или (а1, а2, а3, а4), (в1, в2, в3), (д1, е1, ж1), (а6, а7), (а9, а10), (и1, к1) - 40 клеток, свободное место квадрат без уголка.
49 X Leshiy
 
20.09.26
✎
11:48
(47) Не пойдет) Тут у молодых да лёгких огромное преимущество)
50 xenos
 
20.09.26
✎
12:16
(48) Ну, например: (а1, б1, в1, г1), (е1б ж1, з1), (к1, к2, к3), (а3, б3), (г3, д3), (ж3, з3) - 40 клеток, не все вдоль бортиков.


Да, с занятием всех углов тупанул.

Но такая расстановка это по сути вариация когда корабли расставлены в две линии у края, и получаем все те же 60 клеток.


Или (а1, а2, а3, а4), (в1, в2, в3), (д1, е1, ж1), (а6, а7), (а9, а10), (и1, к1) - 40 клеток, свободное место квадрат без уголка.


58 свободных клеток вместо 60.
51 Гений 1С
 
гуру
20.09.26
✎
16:22
(45) полезно иметь свой сервер. Ну или по крайней мере не побираться на сервер
52 xenos
 
20.09.26
✎
16:42
(51) Любой компуктер выполняющий сервисную функцию является сервером. Например, поднимающий шлангбаум. Сейчас уже в любой более мене современной сиральной машинке или чайнике есть возможность подключится.
53 Garykom
 
гуру
20.09.26
✎
18:08
"Морской бой" это хорошо но слишком просто ибо на плоскости.
Лучше усложнить и делать "Космический бой" в трех измерениях.
Там вариантов побольше будет :)
54 Tatitutu
 
20.09.26
✎
21:44
(54) Может тогда просто - контактный бой
там вариаааантов....
55 Garykom
 
гуру
20.09.26
✎
22:25
(54) Уже предлагали (22)
56 RomanYS
 
20.09.26
✎
22:46
(19) для этого трём подпрограммам на одном сервере нужно общаться через http?
На xexod.ru в свое время была попытка запустить такие игры, "5 в ряд" было в пилоте... не взлетело. При наличии тысяч активных участников основного сервиса близкого к теме.

В клубе поклонников Г1С в принципе взлететь ничего не может, кроме кидания какахами.

Не взлетит
58 Злопчинский
 
20.09.26
✎
23:31
(53) ну, это посложнее конечно будет, но интереснее, например в 4-х мерном линейном измерении или 4хмерном 3д+время...
59 PR
 
21.09.26
✎
01:32
(53) Тогда уж в четырех
60 Garykom
 
гуру
21.09.26
✎
10:53
(58) 3д+время - очень интересный вариант
типа корабли могут двигаться а не только стрелять
стрельба и движение происходят по шагам но одновременно для противников
количество выстрелов зависит от числа оставшихся клеток своих кораблей (типа кол-во орудий)
как и скорость кораблей зависит от их ранга, чем меньше тем больше клеток может за ход или поворот на 90
направление движения только вперед или стояние на месте, задний ход убираем чтобы можно было прогнозировать как то
61 Конструктор1С
 
21.09.26
✎
04:49
(51) ген, ситуация из разряда "одолжить у соседа шуруповерт на полчаса". Перестань нести чушь. Никто не пустит на готовый сервер, так подключу статический ip и разверну всё на домашнем ПК
62 Конструктор1С
 
21.09.26
✎
04:50
(53) не так уж и просто, если писать алгоритм для автобоя. Ну и незачем переусложнять
63 Конструктор1С
 
21.09.26
✎
04:52
(56) почему на одном? Каждый участник будет со своего компа подключаться
64 Конструктор1С
 
21.09.26
✎
04:53
(60) можно просто увеличивать размер поля и количество кораблей
65 Web00001
 
21.09.26
✎
05:32
(18)Ты на 1с что-ли писать будешь?
66 Конструктор1С
 
21.09.26
✎
05:35
(65) сервер точно не на 1с. Но клиентская часть будет на 1с, раз уж мы тут все 1сники
67 malikov
 
21.09.26
✎
06:50
(49)в текущем конкурсе точно так же, преимущество у профи, а у начинающих нет шансов, у руководителей нет шансов. Поэтому участвовать будут не все.
68 RomanYS
 
21.09.26
✎
09:11
(63) Так кто к кому будет подключаться? В (0) написано каждый участник пишет http-сервис. Всем надо будет купить белый IP?
69 sikuda
 
21.09.26
✎
15:44
(66) (68) Да вообще разленились все.
Ни тебе ссылки на интернет ресурс.
Ни тебе описания АПИ
Ни тебе дополнительной ссылки на github

Как надо делать:
- Купить доменное имя 200 руб. далее 600 ежегодно
- Купить хостинг или использовать уже существующий (от 300 в месяц)
- Сделать API и документировать его
И только потом созывать народ!
Или 1С-ники нищеброды? По моему стоимость нашего часа больше всех приведенных сумм?

Мой пример по аналогии...
https://python1c.ru/

Взлетит
70 Анцеранана
 
21.09.26
✎
10:32
Давайте лучше Ataxx (7х7) или мини-шахматы
типа лос - аламоса или мини-сёги. В морском бое слишком высок фактор случайности поэтому не особо интересно.

Не взлетит
71 Конструктор1С
 
21.09.26
✎
10:48
(68) нет, не надо. Участник будет через WebSocket подключаться к серверу

(69) дык, надо же сначала проверить, есть ли вообще желающие. Хотя согласен, хотя бы демо-режим какой-то должен быть
72 Злопчинский
 
21.09.26
✎
10:52
можно в рэндзю 5 в ряд
73 Web00001
 
21.09.26
✎
12:39
(71) Если есть, что выкладывать, но некуда постучи ко мне. Я могу сделать доменное имя третьего уровня типа challenge.1c-cod.ru ну или ЛюбоеДругое.1c-cod.ru, ну или можешь свое имя зарегать, на меня указать. У меня есть домашний сервер, что-то простое, исходники чего я смогу прочесть, разместим тоже без проблем. Канал широкий, нагрузка на сервер в данный момент околонулевая.
74 Конструктор1С
 
21.09.26
✎
12:51
(73) отлично! На днях подготовлю
75 kittystark
 
21.09.26
✎
12:57
(18) итак, как и обещал, делюсь исходниками
https://drive.google.com/file/d/1TELKDYtA8XAfwwVer_W4uIoMCRR0wBkF/view?usp=sharing

инструкция как запустить под WIN, для локалки:
1. определяемся с машиной, на которой будет серверная часть, ее IP прописываем в C:\Windows\System32\drivers\etc\hosts,
например,
192.168.1.110 seabattle
2. такую же операцию проделываем на другой(-их) машине
(если есть локальный DNS-сервер, то лучше прописать на нем, чтоб не страдать)
3. скачиваем NodeJS, устанавливаем
4. под админскими правами запускаем cmd.exe, выполняем
C:\Program Files\nodejs\npm install ws
5. распаковываем прилагаемый архив в C:\Program Files\nodejs\
6. запускаем C:\Program Files\nodejs\node server.js

в браузере в адресной строке вводим http://seabattle

расстановка кораблей - драг-н-дроп мышью
поворот на 90 - правой кнопкой
после расстановки всех кораблей подтверждаем
после расстановки кораблей обоими игроками первый выстрел дается рандомному игроку
стреляет тот, под чьим полем последовательность черных и белых квадратиков

P.S. игра со звуком, писалась под небольшое разрешение экрана, справа вверху нечто вроде лога/чата
76 Конструктор1С
 
21.09.26
✎
14:01
(75) 👍🔥
77 Web00001
 
21.09.26
✎
17:47
(74)У меня там arch linux, ты же не под винду пишешь?
78 Fragster
 
гуру
21.09.26
✎
17:52
>4. под админскими правами запускаем cmd.exe, выполняем
C:\Program Files\nodejs\npm install ws
>5. распаковываем прилагаемый архив в C:\Program Files\nodejs\
>6. запускаем C:\Program Files\nodejs\node server.js

ужас
79 aka MIK
 
21.09.26
✎
18:18
(0) это слишком простая игра.

есть одна расстановка которая дает вероятность выигрыша 80-90% против случайной
80 Web00001
 
21.09.26
✎
18:49
(75)Интересно это отличительная черта 1сников игнорировать гитхаб? Зачем в архиве с игрой мульт на 400 метров?
81 Web00001
 
21.09.26
✎
19:03
Понял. Ради пары минут ролика, игра содержит двухчасовой мульт.
82 Волшебник
 
21.09.26
✎
19:43
Уважаемые участники, дорогие друзья… Я стою тут, в этом плаще, с этой волшебной палочкой, и понимаю, что сейчас она, пожалуй, ни на что не годится. Потому что призовой фонд… его нет. Я его отправил. На выплату кредиток.

Знаю, знаю — это звучит не как магия, а как бухгалтерия. И уж точно не как речь победителя. Но жизнь иногда подкидывает такие заклятья, против которых даже самые древние свитки бессильны. Долги росли, проценты шептали громче заклинаний, и в какой-то момент я решил: пусть лучше будет погашен долг, чем сияет кубок.

Я обещаю, что верну. Каждый медяк, каждый серебряный, каждый золотой. Всё, что должно было стать вашими призами, станет ими снова. Но… честно? Не знаю когда. Может, через луну, может, через три. Может, мне придётся продать этот плащ и выучить новое ремесло.

Простите меня. Простите, что вместо фейерверков и наград — вот эта неловкая тишина. Но я не исчезну. Я буду тут. Буду работать, копить, придумывать новые фокусы — и первым делом, как только смогу, верну всё до последней монеты.

Спасибо, что слушали. И если кто-то сейчас смотрит на меня не с гневом, а хотя бы с пониманием — этого уже хватит, чтобы не опустить руки. Спасибо.
83 Lama12
 
21.09.26
✎
20:25
(82) 👍🔥
84 maxab72
 
21.09.26
✎
21:03
(82) Самое время. Когда приза нет, можно и о конкурсе подумать, все халявщики на полставки и профессиональные нагревалы отвалятся, останутся только спецы и истинные гуру.
85 Волшебник
 
21.09.26
✎
21:10
(84) Сразу чувствуется нехватка финансовой грамотности. Нет кэша, но призовой фонд остался в виде расчётов или долгов.

спойлер
Кэш есть. Призовой фонд на отдельном счёте.
86 maxab72
 
21.09.26
✎
21:21
(85) Тогда не взлетит. Призы нужны как в старые добрые времена: Красный вымпел (3-е место), фото в заводской малотиражке (2-ое место), гипсовый бюст Миклухо-Маклая верхом на лошади Пржевальского (1-ое место).
87 Волшебник
 
21.09.26
✎
21:24
(86)
4 место - грамота на листочке А4
5 место - похлопать по плечу
88 Сеньор Программист
 
21.09.26
✎
21:44
Фотка с Волшебником будет ?
89 Сеньор Программист
 
21.09.26
✎
21:47
Через много лет книга с автографом будет стоить бешенных денег на аукционе
90 Волшебник
 
21.09.26
✎
22:17
(89) У Asmody есть особенный экземпляр, который будет стоить несколько биткоинов. Дело в том, что он не просто подписан Моею Рукою, а там я сделал кармашки и вложил листочки с текстами песен и QR-кодами. Это абсолютно уникальный экземпляр. Там каждый листочек можно продавать отдельно.
91 kittystark
 
22.09.26
✎
09:23
(78) так и знал, что эти страшные заклинания отвергнут тонкие ранимые души

батник можно было бы написать, но это своего рода отбор: только хардкорные мужики смогут в морской бой
92 kittystark
 
22.09.26
✎
09:28
(80) дело было в отпуске, писалось как развлекуха для домашнего пользования, видеоредактора под рукой не было, поэтому проще было сложить мульт и в коде задать тайминги, чем обрезкой заниматься

плюс второго зайца убил - дитяти с кап.Врунгелем познакомились заодно

если выложишь обрезанную версию - буду благодарен

а с гитхабом, да, все тяжко, проще на гуглодиск покласть
93 kittystark
 
22.09.26
✎
09:30
(81) зато уже понятно, как минимум двое запустили, посмотрели, что не может не радовать

будут еще дельные предложения, пишите
94 Web00001
 
22.09.26
✎
09:44
(92)>если выложишь обрезанную версию - буду благодарен
https://fs.1c-cod.ru/vrungel_cut.mp4
Оригинал был без звука. Кусок тоже без звука.
95 Web00001
 
22.09.26
✎
09:51
(93)>будут еще дельные предложения, пишите
Да там вагон замечаний нашла нейронка, только смысл в них, если это наколенная поделка для домашнего использования.
96 kittystark
 
22.09.26
✎
09:52
(94) сенкс
97 Fragster
 
гуру
22.09.26
✎
11:16
(91) ну тут скорее про то, что "мануал" не учитывает то, что текущий каталог cmd должен бытьтот, куда мы распаковали игру, правка hosts это прям вообще за гранью, что зависимости надо пихать в package.json с проверенными версиями и проверенной версией интерпретатора, что node и npm после установки в path. ну и отдельно отсутствие git доставляет, да.
98 Fragster
 
гуру
22.09.26
✎
11:16
а еще у некоторых не винда
99 Fragster
 
гуру
22.09.26
✎
11:17
>видеоредактора под рукой не было

ужас. ну закачайте в телефон и порежте на нем, если у вас по какой-то причине нет "видеоредактора"
100 kittystark
 
22.09.26
✎
11:33
100-ка
да уж, ужасный ужас, смысл жизни потерян
101 Fragster
 
гуру
22.09.26
✎
11:52
(100) ну т.е. новые знания, хоть и полученные вот так вот, не нужны?
102 Почтмейстер
 
23.09.26
✎
00:37
(0) Как твой сервер проверит что участник написал свой клиент на 1С?
Я (и кто-нибудь еще тоже) бы просто написал клиент на Джаве или на Питоне и одержал победу за счет читерства. Так не интересно.

Не взлетит
103 Конструктор1С
 
23.09.26
✎
03:46
(102) никак не проверит. Собственно, такие ограничения и не нужны. Можно хоть ИИ на своей стороне подключить
104 Почтмейстер
 
23.09.26
✎
05:25
(103) Ясно. Тогда первоначальное условие/правило про 1сников не имеет смысла. То есть это называется не "Морской бой (интеллектуальный конкурс 1сников)", а "Морской бой (интеллектуальный конкурс кодеров)"
105 maxab72
 
23.09.26
✎
09:50
(104) просто "Морской бой", сыграют по десять партий и выяснят победителя.
106 Гений 1С
 
гуру
23.09.26
✎
12:28
(0) так вот оно какое true-программирование. а я то думал.
Оказывается, Конструктор считает, что настоящее программирование - это разработка игрулек-бирюлек. Ясно-понятно.
107 PLUT
 
гуру
23.09.26
✎
12:37
(106) это просто конкурс на ненастоящее (игрушечное) погромирование

> Эдакая онлайн-игра на минималках

> Оказывается, Конструктор считает...

однако
108 sikuda
 
24.09.26
✎
08:16
(101) Новые знания так и получаем (Жизнь бьет ключом - и все разводным!)

Python Django путь:
Кстати прикольный проектик нашел - https://github.com/doclorenzo/BattleShip cтудента из Стокгольма (вот кто здесь победит 🤦)
- требует асинхронного сервера (например daphne)
-- pip install daphne
-- INSTALLED_APPS = [
    'daphne',...
- корабли могут соприкасаться
- начальная расстановка глючит

Взлетит
109 Злопчинский
 
23.09.26
✎
13:07
(106) настоящее программирование - это математика. Остальное - это не программирование, а ремесло, напряжения ума не требует. Но математику - надо знать. Поэтому предложенную на конкурс задачку про перестановки - отверг, остались игрушки-бирюльки ;-)
110 PLUT
 
гуру
23.09.26
✎
13:22
(109) нейролингвистическое еще?

на распознавание норм задачка?
111 PLUT
 
гуру
23.09.26
✎
13:34
игрульки-бирюльки:

тараканьи бега

https://share.google/aimode/EvURp7gj6GwFeQTj9

https://habr.com/ru/companies/cloud4y/articles/738262/

https://pikabu.ru/story/mikromyishinyie_bega_10280251

https://habr.com/ru/companies/yadro/articles/869888/


...Обычные алгоритмы поиска оптимального маршрута используют вариации алгоритма Беллмана, алгоритма Дейкстры, алгоритма поиска A*, различных алгоритмов обхода дерева и обхода графов.

...многие роботы теперь оснащены вентиляторами, которые прижимают их к поверхности лабиринта, увеличивая тягу. Это привело к скорости до 7 метров в секунду и перегрузки до 6G на поворотах.

можно забеги роботов-пылесосов устраивать :)
112 maxab72
 
23.09.26
✎
14:10
(111) Мой кот любит на роботе пылесосе кататься, так что экипаж уже есть.
113 Гений 1С
 
гуру
23.09.26
✎
14:42
(109) еще один, познавший это ремесло, бугога
114 PLUT
 
гуру
23.09.26
✎
14:47
(113) ну что там с окончательным решением вопроса RLS в одинэс?

чёт всё стухло
115 Злопчинский
 
23.09.26
✎
15:27
(113) ну куда нам, ремесленникам, до вас, "математиков"...
116 Почтмейстер
 
23.09.26
✎
15:40
Морской бой - это легкотня для детского сада. Я сейчас действительно сложный алгоритм для игры делаю.
Дано: игровое поле из клеток определенной формы, определенное количество прямоугольных зданий заданных размеров тоже из клеток.
К некоторым зданиям в зависимости от их типа должна подходить дорога от главного здания.
Требуется: Расставить здания на поле оптимальным образом, чтобы осталось как можно больше свободного пространства для постройки новых зданий стандартных размеров 2х2, 3х3, или 2х3, с возможностью подведения к ним дорог.
Дополнительное задание повышенной сложности: доказать что найденная расстановка является самой оптимальной.
117 Lama12
 
23.09.26
✎
16:28
(113) "Вот тут-то вы его и засветили". Ремесло и творчество, это несравнимые вещи. Многие программисты - творцы, и художники. Есть ремесленники. Ни первое, ни второе не плохо. Просто разное.
118 Злопчинский
 
23.09.26
✎
19:35
Ну, после художников - хоть картины остаются. Помнят хоть как-никак (правда выяснилось через 20 лет что квадрат Малевича вверх ногами висел). Вякие там Шишкин, Поленов, Левитан...
.
А кого погромистов помнить будут лет через 30-50..?
119 Сеньор Программист
 
23.09.26
✎
20:08
(118) тех кто курил табак и употреблял абсент
120 Сеньор Программист
 
23.09.26
✎
20:18
Типовой 1С ник из Питера может накидать историй на пару-тройку сезонов известного сериала про Петербург. При чем не ремейка, а дополнительных сюжетов первоначальной истории. Только эта тема сейчас никого не интересует больше.
121 Злопчинский
 
23.09.26
✎
20:48
А что сейчас интересует?
когда будет сериал "Возвращение человеков"..от Клауда?
122 Сеньор Программист
 
23.09.26
✎
21:36
Не знаю. Я только в покер и на бирже.
123 Волшебник
 
23.09.26
✎
22:28
Вам представляется для оценки новая песня "Робот-курьер", версия v1
https://wizard.mista.ru/music/my-songs/delivery-bot.html

на подходе версия v2... Ожидайте нового
124 Волшебник
 
23.09.26
✎
22:32
Просьба заценить новую версию песни
Робот-курьер v2
https://моипесни.рф/song/yIP2vr3EWPH8/robot-kur-yer
125 maxab72
 
23.09.26
✎
22:56
Эти роботы-курьеры иногда нагло прут на красный, сам видел... плохой пример пешеходам подают.
126 Волшебник
 
23.09.26
✎
23:10
(125) Они такие, да... На своей волне
127 Конструктор1С
 
24.09.26
✎
08:22
(116) ну не такая уж и легкая, когда надо написать алгоритм для игры, и чтобы он побеждал другие алгоритмы

Сейчас пишу на Java движок игры. Делаю три уровня сложности:
1. Классическое море 10х10 клеток
2. Увеличенное море 15х15 клеток. Количество кораблей:
5-палубник = 1
4-палубник = 2
3-палубник = 4
2-палубник = 6
1-палубник = 8
Итого 45 клеток кораблей на 225 клеток моря
3. Огромное море 20х20 клеток. Количество кораблей:
6-палубник = 1
5-палубник = 2
4-палубник = 4
3-палубник = 6
2-палубник = 9
1-палубник = 12
Итого 80 клеток кораблей на 400 клеток моря
В стандартной игре 20 клеток кораблей на 100 клеток моря. Везде 20% моря занято кораблями
128 Почтмейстер
 
24.09.26
✎
08:24
(127) Я бы не сказал что прям сложно. Просто долго, и надо много разных мелочей учесть.
129 Конструктор1С
 
24.09.26
✎
08:28
(128) попробуем, посмотрим что выйдет
130 kittystark
 
24.09.26
✎
11:58
предлагаю вместо дуэлей 1 на 1 реализовать режим deathmatch, вкруговую одновременно все против всех:
1-ый раунд 5 против 5-ти, каждому время на выстрел - 10 сек
2-ой раунд 10 против 10-ти, время на выстрел - 5 сек
и т.д., с каждым раундом время уменьшается

не успел выстрелить - твои проблемы, к тебе-то точно прилетит

выстрелил / прошло время - тебе подставляется поле следующего противника, и так по кругу, пока во всех возможных парах не закончатся бои

расстановка какого-то игрока отдается всем оппонентам в одном и том же виде
131 kittystark
 
24.09.26
✎
12:03
далее выставляется рейтинг по кол-ву побед/проигрышей
132 Сеньор Программист
 
24.09.26
✎
12:24
Мне кажется 1С это не про программирование.
Это психология,лидерство, мотивация персонала низшего и среднего звена без использования денег, управленческое карате с высшим звеном без наличия блата (административного ресурса). Искусство обработки напильником купленного паровоза до стадии танка/ самолета. Бартерный обмен геморой на геморой (ты мне свой я тебе свой) . Мордобой с особо умными.
Задачи на конкурс надо соответствующие.
Если просто программировать что скажут, то развалится кровать.
133 Злопчинский
 
24.09.26
✎
13:03
(130) Билеты зрителям будут?
135 kittystark
 
24.09.26
✎
13:19
(133) конечно!
из разряда "продаются бесплатные деньги"

но тут станет другой вопрос: что же созерцателю выводить?
все комбинации полей битв одновременно, или он будет листать и смотреть только за какой-то конкретной парой, или за конкретным ником и всеми его противниками

и еще реплей надо будет записывать...
136 Злопчинский
 
24.09.26
✎
13:30
Выводить "шахматку" отдельных скринов битв (ну типа как в менеджерах удаленного доступа или просмотра картинок в просмотрщиках). штук 20 наверное будет максимум. Выводить динамически только те битвы где эффективность стрельбы высокая (типа колвопопаданий/колво выстрелов). На дашборде показывать всякую статистику, колов участников, колов битв сейчас, колов выстрелов общее, колов попаданий, пятерку лидеров фио итд...
хочется зрителю посмотреть подробнее  жмак на нужный "кадратик" - открывается крупно.
137 Конструктор1С
 
24.09.26
✎
13:33
(130) >>реализовать режим deathmatch
Я не против, но не знаю как подобную механику технически реализовать
138 Конструктор1С
 
24.09.26
✎
13:34
(135) >>и еще реплей надо будет записывать.
Это само собой. Тут довольно просто
139 Злопчинский
 
24.09.26
✎
13:34
да, можно выбрать конкретный бой, можно конкретный ник...
140 Злопчинский
 
24.09.26
✎
13:35
(137) ну если все идет на сервере
то наверняка какой-то внешний "диспетчер" наваять который читает текущее состояние всех боев
141 kittystark
 
24.09.26
✎
13:59
еще вариант битвы "Крокодил против 5-ти" (предположим у хардкорного игрока ник "Крокодил")

- пятеро наносят одновременно по 1 выстрелу в крокодила, причем все могут не сговариваясь попасть в одну и ту же точку
- ход передается крокодилу и он в ответ лупит по каждому противнику по 5 раз

количество доступных выстрелов при попадании в цель не увеличивается, каждому строго или 1, или 5
149 sikuda
 
25.09.26
✎
09:41
И эти люди умудренные опытом будут обсуждать логирование событий(140) или тонкости игрового пространства(130) забыв сказать самое важное - как только Вы делаете онлайн дуэли между несколькими игроками Вы должны поддерживать онлайн соединение между ними!

Давайте уж лучше обсудим работу с Вэбсокетами и асинхронный сервер, который все это позволит сделать.
(127) Для Java что будете использовать? Netty или Spring WebFlux?
(75) Для любителей nodejs посоветуйте хостинг для таких проектов.

Взлетит
150 Конструктор1С
 
25.09.26
✎
11:11
(149) ещё не решил за сеть. Сначала напишу игровой движок. Затем с помощью ИИ и какой-то матери прикручу к игре декстопный интерфейс, чтобы желающие могли повтыкать, пообсуждать и накидать замечаний/предложений. А затем уже возьмусь за клиент-серверную часть. По хорошему и БД надо подцепить, чтобы историю боев сохранить
151 Web00001
 
25.09.26
✎
16:36
(149)>Вы должны поддерживать онлайн соединение между ними!
С какой целью это нужно делать? Пользователь делает ход. Сервер его принимает, если его очередь и он делает все правильно или не принимает, если косяк в запросе или ход от него не ожидается. На этом все.
152 Злопчинский
 
25.09.26
✎
17:53
(151) ну,  тут не только делать ход, но и получать ход от противника.
153 maxab72
 
25.09.26
✎
17:57
(151) организуйте на принципе pbem, оба ход делают одновременно.
154 Web00001
 
25.09.26
✎
19:24
(152)Да. прислать уведомление, что ход противника сделан тоже нужно.
155 Web00001
 
25.09.26
✎
19:25
(153)Мопед не мой.
156 Web00001
 
25.09.26
✎
19:29
(149) >Для любителей nodejs посоветуйте хостинг для таких проектов.
Если любите js то вам на cloudflare pages они могут, что угодно развернуть на тайпскрипте https://developers.cloudflare.com/workers/get-started/guide/

Можно и наше родное яндексовое https://yandex.cloud/ru/docs/functions/lang/nodejs/ у тех вообще хоть на пхп, хоть на go
157 sikuda
 
26.09.26
✎
20:43
(150) Ура я понял как надо делать идею сервера приложений! Я нашел https://cloud.amvera.ru/ (Потуги 1С элемента засчитываются)

Опубликовал приложение seabattle(108)
сделал доступным извне  https://seabattle-sikuda.amvera.io/

Теперь можно заниматься всякой хренью
- улучшать или переписывать игровой движок
- записать результаты и ходы в базу
- Делать клиентов на андройде или яблочных
---  далее и тому подобно

Но включать сервер тогда он действительно мною используется👍
158 sikuda
 
27.09.26
✎
11:57
(157) Включаем на воскресенье-понедельник https://seabattle-sikuda.amvera.io/
Внутренность проекта (108) оказалась простой и действительно студенческой
Асинхронный сервер просто пересылает все комманда из одного клиента другим
Но
Проверка пар играющих есть
Играют всегда два. Если хотите на одном компьютере запускайте другой браузер
Глюки с расстановкой
Можно выставлять не полный набор кораблей
Как вращать корабли не разобрался

Залипательно🔥
Просадим бесплатный баланс от amvera сегодня?
https://seabattle-sikuda.amvera.io/

Взлетит
159 Злопчинский
 
27.09.26
✎
16:51
приложение бяка
4хпалубного нет
поставил 3 на поле
вторую тройку - не получается поставить дагндропом, попытки с пятой поставилось.
корабли не запрещено ставить вплотную
не видно есть ли ожидающие поиграть, расставляешь корабли - send - ждем играющих... видел бы что нет играющих даже корабли не начал бы ставить
160 sikuda
 
28.09.26
✎
12:46
(159) То самое чувство что игра написания в 300 строк на js каким-то студентом(GamePrep.js) из недружественного государства вызывает возмущение, а болтовня на форуме в более 150 сообщений без единого примера готового решения легко удается?
Тыкая свой макбук, попивая в воскресенье вечером любимый коньяк...👍
Да поймал сам себя на этом!
161 Web00001
 
28.09.26
✎
05:58
(160) Наколенная поделка глючит и спроектирована так, что пользоваться этим невозможно. Ты опубликовал. Человек который попробовал об этом честно написал. Нет желания писать полуработающие наколенные поделки и выкладывать их в общий доступ. А чтобы сделать нормально работающую и хорошо документированную игру по теме которую мы здесь обсуждаем, нужно прилично времени и немного больше чем 300 строк кода. На это нет времени и ресурсов.  У конструктора видимо есть возможность развлекаться подобным образом, у меня к примеру нет, у Злопа скорее всего тоже. Очередь стоит из проектов. Причем здесь болтовня на форуме, коньяк и макбук совершенно непонятно.
162 Конструктор1С
 
28.09.26
✎
10:02
(161) ну не то чтобы много времени, но делаю. Движок почти готов, покрыт юнит-тестами
163 Конструктор1С
 
28.09.26
✎
10:03
У мну будет не наколенная поделка на отвяжись. Как-минимум должна работать и работать правильно
164 Злопчинский
 
28.09.26
✎
11:26
(160) А кто сказал, что кто-то тыкая здесь на форуме в клаву, лялякая и занимаясь болтологией, должен еще что-то напрограммить? это ваапсче не обязательно!
165 Кирпич
 
28.09.26
✎
14:02
фигня ваш морской бой. вот мужская игра http://135.106.229.120/
166 maxab72
 
28.09.26
✎
14:04
(165) пусть лучше найдут выигрышную стратегию для игры в "Ладушки". и запрограммируют ее в 1С.
167 sikuda
 
29.09.26
✎
10:15
(166) • «— Ладушки, ладушки! (хлопаем в ладоши)
• Где были? — У бабушки! (хлопаем)
• Что ели? — Кашку! (хлопаем)
• Что пили? — Бражку! ( и хлопнем )
И снова возвращаемся к приятному времяперпровождению в воскресенье вечером? - разбираемся в чужой подделке🔥
PullRequest принимаются https://github.com/sikudaPy/BattleShip
168 maxab72
 
29.09.26
✎
09:18
(167) и откуда эта пропаганда алкоголизма?
169 sikuda
 
29.09.26
✎
18:34
(168) Как в песне поется:
"Пристани корабликам, пристани корабликам
В небе не нужны.
Пристают кораблики, пристают кораблики
К маковке сосны..."

https://codepen.io/editor/sikuda/pen/01a0ece7-11c2-72ac-9d69-6266b66f4a5e

Я одного не понял, где у Волшебника на сайте раздел для производства игр?🔥
170 Волшебник
 
30.09.26
✎
01:29
(169) Вся наша Жызнь — игра!
171 PLUT
 
гуру
30.09.26
✎
10:21
вся наша Жызнь - борьба!

до обеда с голодом, после обеда со сном

и у верблюдов два горба, потому что Жызнь - игра!
172 maxab72
 
30.09.26
✎
10:28
(170) Герман графине: Где карта, Билли?
173 sikuda
 
30.09.26
✎
11:12
(171) «Что наша жизнь? Игра!»
Похоже это студент итальянец из Стогольма(монархическая Швеция для Софьи Ковалевской🤦) быстро сделал прототип и забросил его.
Да надо переделывать для простоты и понятности.

(163) Но по объему интересна именно клиенская часть, серверная часть проста и понятна(единственный нюанс (149))
174 Гений 1С
 
гуру
30.09.26
✎
13:31
(170) есть такая игра - Жизнь
но лучше соревноваться в Го
175 maxab72
 
30.09.26
✎
13:35
Еще ни одна ИИ не обыграла меня в бильярд и настольный теннис.
176 Lama12
 
30.09.26
✎
13:48
(175) Где-то я уже слышал про настольный теннис. Вроде был такой фантастический рассказ, когда машина начала обыгрывать человека в настольный теннис, и после этого он, как спорт, исчез.
177 maxab72
 
30.09.26
✎
13:57
(176) Компы уже давно обыгрывают чемпионов мира в шахматы, а шахматы как то еще не исчезли.
178 Злопчинский
 
30.09.26
✎
18:01
(175) ну, в настольный теннис роботы уже на уровне чемпионов.
179 maxab72
 
30.09.26
✎
19:34
(178) Чемпионы меня тоже еще ни разу не обыгрывали.
180 Злопчинский
 
30.09.26
✎
23:23
(179) Меня тоже
181 sikuda
 
01.10.26
✎
08:14
(178) Когда обычно по глупости точно сопоставлять достижения роботов и людей предлагаю идеального робота для настольного тенниса:
182 maxab72
 
01.10.26
✎
08:24
(181) У нас в 1980-ом в пионерлагере такие были. Называлось "играть против ёжика в тумане". А еще мы все "тюнинговали" свои ракетки. Каждый под себя. У меня ракетка была самодельная из листа фанеры с приделанной круглой ручкой, и я "позаимствовал" материалы для нее из кружка мягкой игрушки (меня туда записали насильно, зато я там научился крепко пришивать пуговицы, ставить на штаны заплатки и туго набивать плюшевых зайцев через задницу ватином). Одна сторона ракетки у меня была из полусантиметрового войлока, с наклеенным поверх мягким фетром - эта сторона идеально гасила любые крученые подачи, и позволяла самому закручивать шарик, правда скорость его не была высокой, а другая сторона - тонкий слой гладкой и твердой прессованной синтетической кожи, сверху я ее обработал слегка наждачкой - для быстрых и хлестких ударов.
183 sikuda
 
01.10.26
✎
09:18
(182) - Нравятся мне эти суровые сибирские романтики-идеалисты...
Когда меня затянуло в настольный теннис, я уже был переростком в школе а начинать надо было лет с шести.
Тренер у меня попалась настойчивая и один раз затянула меня профильный спортивный лагерь к юношеской школе союзного уровня где то на волжском водохранилище.
Вот тогда я и понял что уровнь игры это всегда относительная вещь!
Так с теннисом у меня проффесионально не сложилось, хотя всегда обыгрываю людей которые соблюдают правила и не хитрят...

Прикольно что года три назад в доме отдыха пришлось играть левой рукой, разыграться было не с кем и уровень был очень слабый. Дошел до второго места👍 В финале быстрое переключение на правую руку конечно не помогло - И это ошибка подготовки!
Сейчас классный ракетки и спортклубы есть, но если не поддерживать уровень постоянными тренировками все это быстро падает...
184 sikuda
 
02.10.26
✎
09:00
Ошибка подготовки продолжается и кажется я начинаю жалеть, что ввязался...
https://codepen.io/editor/sikuda/pen/01a0f267-cdf4-7563-b986-63a83228b85c
185 Timon1405
 
02.10.26
✎
09:20
(184) ну такое) я смог поставить сначала все точки в одну, а потом сделать из них линкор
186 Кирпич
 
02.10.26
✎
09:24
(185) а вы не тратьте время на поделки от сельских вайбкодеров.
187 Timon1405
 
02.10.26
✎
09:34
(186) да ладно Вам, размять с утра свой, а не искусственный мозг еще никому не мешало
188 sikuda
 
02.10.26
✎
10:38
(185) Да уж переписал уже все на SVG c масштабированием и произвольными размерами доски.
на https://codepen.io/editor/sikuda/pen/01a0f267-cdf4-7563-b986-63a83228b85c
Просто стал добавлять двух палубные и понял что это не так просто...
Да блин и одно палубные тоже с ошибками
189 kittystark
 
02.10.26
✎
10:37
(184) попробуй (75) адаптировать под кодепен :)
190 Timon1405
 
02.10.26
✎
10:44
(188) видимо где-то логика подводит
191 sikuda
 
02.10.26
✎
11:07
(187) Спасибо большое ошибку нашел, теперь не получиться с однопалубными!
Когда корабль не переставлялся надо снова установить его положение на shipsTable. А то когда он начинает движение его место должно стать пустым...
192 Timon1405
 
02.10.26
✎
11:10
(191) весело тут у вас
193 sikuda
 
02.10.26
✎
13:29
(192) Зеленые многопалубные кораблики рулят...
https://codepen.io/editor/sikuda/pen/01a0f267-cdf4-7563-b986-63a83228b85c
194 PLUT
 
гуру
02.10.26
✎
13:46
(193) а крутилка где? по диагонали не смог кораблик поставить

в тетрисах всяких "пробел" фигурки крутил
195 maxab72
 
02.10.26
✎
13:29
(193) а как поворачивать?
196 Timon1405
 
02.10.26
✎
14:41
(193) уже лучше. я в (185) сразу написал метод воспроизведения
198 sikuda
 
06.10.26
✎
07:36
(127) Кто там хотел разные размеры поля
А так задаем парамеры:
const countSquare = 20 - размеры доски
const countShipsBySection = [12,9,6,4,2,1] корабли

Взлетит
199 Злопчинский
 
03.10.26
✎
22:44
(198) хз что там такое, но дает 404
200 sikuda
 
06.10.26
✎
07:36
(199) Это санкции(или разделение нагрузки по секторам ip), через VPN работает
Но здесь надо сказать что-то патриотическое (БАНЗАЙ🤦 .RU)
https://sikuda.ru/ShipsBattle.html
Кто там хотел извращений 20x20?
201 sikuda
 
06.10.26
✎
14:27
Что-то как-то интерес ушел?
202 Конструктор1С
 
06.10.26
✎
15:36
(201) завтра-послезавтра выкачу десктопную версию игры
203 Злопчинский
 
06.10.26
✎
16:21
(202) ждём-с, потираем руки в ожидании косяков
204 maxab72
 
06.10.26
✎
18:40
"потираем руки в ожидании косяков" у меня приятель, когда я еще учился в универе, написал программку с игрой в покер. Из-за какого-то косяка программа иногда сдавала в одну руку 5 тузов разных мастей (у него в первой версии масти обозначались цифрами)...
205 Злопчинский
 
06.10.26
✎
18:45
(204) тузы и джокер
206 sikuda
 
09.10.26
✎
07:53
(202) Итак в эти выходные мы уже будем резаться в морской бой?
207 Конструктор1С
 
09.10.26
✎
08:23
(206) только с тупеньким NPC)
208 Конструктор1С
 
09.10.26
✎
08:27
И расстановка будет автоматическая. Не осилил перетаскивалку кораблей сделать
209 Конструктор1С
 
09.10.26
✎
09:11
Десктопный вариант почти готов. Надо только добавить какой-то анимации что ли, и плавности. Вечером постараюсь доделать
210 Гений 1С
 
гуру
09.10.26
✎
11:04
(204) лучше бы он играл в cocker. в этом возрасте полезнее