Seryoga
-
Публикации
100 -
Зарегистрирован
-
Посещение
-
Победитель дней
6
Сообщения, опубликованные пользователем Seryoga
-
-
в "генераторе булыги" использовать геосканер, это все равно что большим адронным колайдером тефтельки варить.
А что если не одну тефтельку варить, а несколько килотонн в секунду?
Мы знаем, что робот должен ждать приблизительно 2 сек на матеариализацию новой булыги, но при этом оно не стабильно.
Можно это время потратить с умом и добыть булыги в других местах.
А эти другие места найти при помощи геосканера.
ps. можно конечно и без геосканера, но это другая история =)
-
Забыл скинуть ссылку на сорцы
https://github.com/DeveloperHacker/Pathfinder
Если кому-то будет интересно могу подробно описать, что там и зачем-
4
-
-
у меня на 70-80% завершена работа
-
Простите за офтоп...
Меня всегда удевляли люди, которые пытаются написать свою ОС. А большее удивление вызвает то, что они совершенно не понимают что такое ОС, зачем её придумали и что правильная ос должна уметь делать. В добавок ко всему, многие из этих людей не разбираются в языке, который хотят использовать для написания. Это очень огромный минус для человека, который хочет разработать свою ОС. Так как придётся описывать огромное количество стандартных алгоритмов и процессов, а это гиганское количество строк кода.
ОС это очень плохой выбор проекта для изучения языка.-
5
-
-
Класно было бы отлавливать сообщения роботов, и выводить их на здоровый монитор.
-
1
-
-
Насчёт вакуума. Например: у меня будет возможность отправить какие-то данные на свой комп, обработать их и вернуть обратно? Или все вычисления должны проходить только в роботах и только на том сервере, где проходит ивент?
-
Я хочу участвовать =з
Можешь ответить на вопросы?- Когда этот эвент будет проходить? (Прост скоро сессия)
- Где этот эвент будет проходить?
- Есть ли какие-нибудь ограничения на конфигурацию роботов, используемые ресурсы и etc?
- За сколько часов или дней до соревнования будут извесны карта и правила?
- На какой сверический вакуум можно расчитывать?
-
Не согласен.
Если идёт ComputerCraft, то OpenComputers тоже пойдёт.
OpenComputers подёт только так, если интерес есть.
Другое дело если интереса нету. =)
Создать чат бота на опен компах, который по возможностям хотябы на 50% будет достоен siri, сродни великому мазахизму. Более менее нормальная либа для написания НС на луа это torch. Даже если она вдруг запустится, в чём я мало уверен, то всё равно самые простетские сети прямого распространения будут обучаться неделями. До кучи, нужно где-то найти данные для обучения, не думаю, что яблочные ими поделятся. Хотя я не писал им.
-
BugReport
-
Пропуск пикселей
Если выбрать цвет, зажать клавишу и начать быстро водить мышкой по экрану, то кисть будет рисовать прерывистую линию.

Также если начать рисовать вне холста, то когда мышь дойдёт до листа она не будет рисовать. Это иногда мешает проводить линии.
-
Пропадание кнопки с текстом 'custom colors'
После создания нового цвета, пропадает кнопка для создания ещё одного цвета. Для того чтобы использовать её снова приходится делать довольно-таки хитрое действие.

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

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

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

-
2
-
Пропуск пикселей
-
Короче сохранение я вроде сделал, но проверить работоспособность не могу т.к. не могу разобраться как компилить
Загрузку я еще не начинал делать, вот код zzyJX5Xb
Неправильный подход к помощи в разработке.
Этот проект находится на github. Вы вполне можете сделать fork репозитория. Добавить какие-либо фичи и баги, оттестировать их.
Далее можно отправить pull request, а автор решит принять или отменить ваши изменения.
ps. Сугубо моё мнение, но всё же. Ваше предложение выглядит так: "Ну вот я тебе запилил какую-то хрень, я не знаю работает она или нет. Причём ты виноват в том, что я не смог протестировать и отладить этот кусок кода. Но ты радуйся."
Надо относиться с уважением друг к другу.
-
1
-
-
Мне кажется, если бы ему нужна была фотка материнки, то он бы сделал её сам =)
-
Вот поднарыл немного:
http://websbornik.com/2010/11/circuit-boards-texture/
http://www.pcbsourcing.com/Business/isp.html
http://www.deviantart.com/browse/all/resources/?q=circuit+board&offset=0http://wallpapersafari.com/hd-motherboard-wallpaper/
Мне нравится pcb-шка от альтеровского плиса. -
qwetyMAN, ты про синтезируемый uml? Или про что ты? Я плохо понял тебя.
-
А есть возможность повесить .png картинку на аватарку(чтобы в полупрозрачные цвета замешивался интерфейс сайта, а не чёрный цвет)?
-
1
-
-
Ссылка на программу - http://pastebin.com/yf8FGJW9
Замечания и предложения.
- Код чистенький и аккуратненький
- Чем локальнее переменная тем лучше. Использовать глобальные переменные стоит только в тех случаях, когда ты как минимум сутки сидишь и не можешь понять как написать код не исспользуя её. Когда используешь глобальные переменные, ты можешь изменить работу кривонаписаной библиотеки, совершенно не подазревая об этом. Также в обратную сторону.
- Переменные w и l нужно сделать локальными и передавать в функцию через аргументы
local function digandplace(lenght) --операция укладывания
- work_r и work_l лучше заменить вот на такую штуку
local function work(length, side) local turn = bot[(side == "right") and "turnRight" or "turnLeft"] digandplace(length) turn() bot.forward() turn() bot.forward() end @fixed by fingercompа вызывать эту функцию так:work(l, (i % 2 == 0) and "right" or "left")
- Функция, в названии которой первое слово check, должна возращать переменную типа bool
-
4
-
Есть одна идея, но там мало программирования. Да и на реализацию времени нет. Оставлю её сдесь вдруг кому интересно будет.
Конструктор конвеерного производственного процесса
Классно было бы иметь такую систему, в которой из небольших блочков можно было бы собрать небольшой заводик. Например по кравту каких-нибудь деталек, сборке урожая, сборке других закрытых систем. Или чтобы хардкорные майнкрафтеры могли легко создать структуру занимающеюся распределёнными вычеслениями.
Более формальное описание проекта:
Среда -- конструктор конвеерного процесса, который является темой этого поста;Система -- множество процессов, которые мы хотим наладить при помощи среды
Элементы среды- Блоки - это набор элементарных преобразований, которые имеют несколько входов и выходов. Входы делятся на два типа: основные и управляющие. Основные входы служат для передачи потока объектов по конвееру, управляющие -- для управления свойствами блока. Выходы также делятся на два типа: основные и сигнальные. Сигнальные выходы предназначены для предачи какой-либо информации управляющему копьютеру.
- Упраляющие компьютеры - это компьютеры, которые занимаются синхронизацией и управлением некоторым подмножеством блоков. Относительно внешнего мира, каждый такой компьютер определяет новый составной блок, который также имеет набор входов и выходов.
- Управляющее ПО - это ПО, которое должно стоять на каждом управляющем компьютере этой системы, через него должен описываться процесс охватываетмый компьютером. В этой программе блоки должны представлятся в виде объекта, у которого есть функции init, sleep, stop и поля, которые задают управляющие входы и выходы.
- Моделирующие ПО - это ПО, идёт отдельно и служит для виртуальной настроки системы. Одной из её возможностей является подгрузка библиотек с online ресурса, в которых содрежаться блоки, их спецификации и инструкция по сборке блока.
Задачи
- Создать формализм для описания моделируемого блока, управляемого блока, спецификации и схемы по сборке блока
- Создать формализм для описания управления распределённой структурой
- Создать управляющее и моделирующее ПО
- Создать ПО для описания спецификаций блока
Имея такой набор инструментов можно создать распределённую иерархическую систему любой сложности.
-
Стек - он такой.

FIFO -> очередь
LIFO -> стек
-
1
-
-
А обычный провод ведь является передатчиком аналогового сигнала? А вообще электронику ищем и покупаем тут.
-
237 байт Python3.5
Код без минимизации
import sys
def unpack(index, size, mp):
return sum([mp[index + j] << 8 * j for j in range(size)])
hexmap = open(sys.argv[1], 'rb').read()
shift = unpack(10, 4, hexmap)
width = unpack(18, 4, hexmap)
height = unpack(22, 4, hexmap)
symbols = ['█', '▓', '▒', '░', ' ']
delta = 256 / len(symbols)
for i in range(height):
line = []
for j in range(width):
k = 4 * (j + (height - i - 1) * height) + shift
if hexmap[k + 3] == 0:
line.append('·')
else:
max_component = max(hexmap[k: k + 2])
line.append(symbols[int(max_component / delta)])
print(''.join(line))
Код с минимизацией
import sys
r=range
m=open(sys.argv[1],'rb').read()
v=(lambda i:sum([m[i+j]<<8*j for j in r(4)]))
h=v(22)
for i in r(h):print(''.join([(lambda k:'█▓▒░ '[int(max(m[k:k+2])/51.1)] if m[k+3] else '·')(4*(j+(h-i-1)*h)+138)for j in r(v(18))]))
Одной строкой
"import sys\nr=range\nm=list(open(sys.argv[1],'rb').read())\nv=(lambda i:sum([m[i+j]<<8*j for j in r(4)]))\nh=v(22)\nfor i in r(h):print(''.join([(lambda k:'█▓▒░ '[int(max(m[k:k+2])/51.1)] if m[k+3] else '·')(4*(j+(h-i-1)*h)+138)for j in r(v(18))]))"
Запуск программы
python file_name.py <image_name.bmp>
-
2
-
-
Я наверное тоже оставлю это здесь. Мой подход немного не честный, но он не противоречит правилам. 152 байта Python3.5
Код программы
import sys,socket as o s=o.socket() a=sys.argv s.connect((a[2], 9090)) s.send(a[1].encode()) d=1 while d: d=s.recv(65534) sys.stdout.write(d.decode())Одной строкой
"import sys,socket as o\ns=o.socket()\na=sys.argv\ns.connect((a[2],9090))\ns.send(a[1].encode())\nd=1\nwhile d:\n\td=s.recv(65534)\n\tsys.stdout.write(d.decode())\n"
Запуск программы
python <file_name.py> <image_name.bmp> <server_ip>
Испытания


Ps. Позже попробую выложить минимизированный алгоритм прямой расшифровки.
-
2
-
-
Вот и нарисовал я свой первый пиксельный спрайт к игре, опробовал его в OpenSpace и понял, что можно накодить кое что ещё интересное.
А именно большой зацикленный мир, представляющий собой огромный прямоугольник, выйдя за пределы которого игрок оказывается в противоположной стороне (но так как все объекты будут это делать, то для игрока эта "граница" мира будет даже незаметна)
В мире можно будет летать в открытом космосе, находить случайные космические объекты, вроде заброшенного корабля например, который просто летит по инерции. Можно увидеть след от игрока и пуститься за ним в погоню, можно расстреливать чужие корабли (а так как корабль движется по инерции, то можно его разворачивать при стрельбе как угодно) В общем в этом и будет суть игры, сражаться с другими противниками (если сможешь их найти в этом огромном мире, при том что скорость - вещь относительная и она может иметь огромные значения среди разных игроков)
Не могу понять, как ты реализовал относительность модуля скорости? ???
-
А так мы тут вроде-бы для фана собрались. Зачем хобби должно превращаться в работу?
Чем по смыслу отличаются эти слова: игра, хобби, работа?
-
Не доклад, а презентацию своих мыслей и наработок.
Почему "тебе" из "то я должен тебе в одном сообщении целый доклад устраивать..."? Мне кажется, что всем, кто заинтересовался, хочется это увидеть. -
QwertyMAN, на Луне нет атмосферы не потому что там газа нет, а потому что там гравитация настолько слаба, что Луна не может удержать газы у себя.
У меня появилось понятие, но вот это плохое не работает, вылетает.
Ну дык сформулируй, что понял. Начиная от концептов, заканчивая всеми механиками и процессами.

Файловая система
в Разные (отсортировать)
Опубликовано:
Вот так?
local function split(str, delimeter) local delimeter = string.byte(delimeter) local arr = {} local sub = {} for i = 1, #str do if str:byte(i) == delimeter then arr[#arr + 1] = table.concat(sub, "") sub = {} else sub[#sub + 1] = string.char(str:byte(i)) end end arr[#arr + 1] = table.concat(sub, "") return arr end local filepath = "C:/extra" local files = {} local visitor = io.popen('dir "'..filepath..'" /b') for filename in visitor:lines() do local varname = table.concat(split(filename, "."), "_") files[varname] = filename end visitor:close() print(files.file_lua)