Перейти к содержимому
  • 0
LuaGamer

Несколько вопросов по Lua

Вопрос

  • 1. Как вывести PNG\BMP файл ASCII символами в love2d и OC. (Пример программы с комментариями)

2. Чем отличаются таблицы от переменных?(Мне говорили, что без таблиц я не смогу сдлеать нормальной проги, но я особых отличий таблицы от переменной не нашёл)

3. Как можно реализовать многозадачность? (Есть-ли какая-нибудь либа? Как самому такую либу сделать, какие для этого знания понадобятся?) Многопоточность есть многозадачность?

4. Где можно найти аналоговый передатчик данных? (Какие знания потребуются для его создания?)

5. Нужно засунуть pngшные обои под кнопки этой либы. (Как это можно реализовать?)

 

Не закидывайте опять меня тапками!

 

Изменено пользователем Alex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 1. Как вывести PNG\BMP файл ASCII символами в love2d и OC. (Пример программы с комментариями)

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

  • 2. Чем отличаются таблицы от переменных?(Мне говорили, что без таблиц я не смогу сдлеать нормальной проги, но я особых отличий таблицы от переменной не нашёл)

Таблица отличается от переменной тем, что переменная это имеющая имя область памяти, которая может хранить какие либо данные. Таблица это один из нескольких типов данных, доступных в Луа. Например, t={1,2,3}. Здесь t - переменная, а {1,2,3} - таблица. Кроме таблиц в Луа присутствуют булевые, числовые, строковые данные, функции, потоки и что-то кажется еще. От всех остальных типов таблицы отличаются тем, что могут хранить одновременно несколько значений.

  • 3. Как можно реализовать многозадачность? (Есть-ли какая-нибудь либа? Как самому такую либу сделать, какие для этого знания понадобятся?) Многопоточность есть многозадачность?

Многозадачность и многопоточность это немного разные вещи. Многопоточность это способность одного приложения выполнять свой код в несколько потоков, например, имеются две функции, которые выполняются одновременно и независимо друг от друга. (На самом деле не одновременно, а по кусочкам. Сначала кусочек первой функции, потом кусочек второй, потом снова первой и т.д.). Многозадачность это особенность операционной системы, которая позволяет запускать одновременно несколько приложений. Что бы реализовать многозадачность тебе нужно написать свою операционку.

  • 4. Где можно найти аналоговый передатчик данных? (Какие знания потребуются для его создания?)

Что за передатчик? :umnik2:

  • 5. Нужно засунуть pngшные обои под кнопки этой либы. (Как это можно реализовать?)

Нужно переопределить функцию paint для формы.

Тебе нужно:

forms=require("forms")         -- подключить библиотеку
Form1=forms.addForm()          -- создать форму
Btn1=Form1:addButton(10,20,"Кнопка") -- создать кнопку на форме
function Form1.paint()          -- переопределить процедуру paint
  -- тут выводим картинку
end
forms.run(Form1)               --запускаем gui 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Как вывести PNG\BMP файл ASCII символами в love2d и OC. (Пример программы с комментариями)

 

Тут есть пример: http://computercraft.ru/topic/1759-konkurs-parsing-izobrazhenii-v-ascii-liuboi-iap/?do=findComment&comment=26244

 

 

Чем отличаются таблицы от переменных?(Мне говорили, что без таблиц я не смогу сдлеать нормальной проги, но я особых отличий таблицы от переменной не нашёл)

 

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

 

 

Как можно реализовать многозадачность? (Есть-ли какая-нибудь либа? Как самому такую либу сделать, какие для этого знания понадобятся?) Многопоточность есть многозадачность?

 

Хотя это и не считается многопоточностью, но я использую event.lister, (обработку эвентов) чтобы в ОС работали одновременно несколько программ.

 

 

Где можно найти аналоговый передатчик данных? (Какие знания потребуются для его создания?)

 

Тебе нужна беспроводная или обычная сетевая плата для двух усстройств. (лучше беспроводная)

Далее читай API

Далее как разберёшься можешь почитать про события беспроводной платы, если решишь вкрутить эвенты.

Изменено пользователем qwertyMAN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Этот пример без комментариев. Не понятно, что, к чему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  1. По первому пунтку: это уже будет помощь потенциальному конкуренту (хотя :lol: ), ты слишком неопытен для такого. Вон, даже про таблицы не знаешь, а ведь без них ничегошеньки не сделаешь. Наберёшься опыта — и комментарии не нужны будут.
  2. Таблица — это переменная, хранящая переменные. С твоим подходом на каждый телефонный номер ты бы издавал по тиражу книг. Таблица — как телефонный справочник: хранит сотни, тысячи номеров.
  3. Про многозадачность уже ответили.
  4. Для начала надо уяснить разницу между аналоговым и цифровым сигналами. Через кабель никакими судьбами ты не передашь аналоговые данные, только цифровые. Цифровой — это та же последовательность бит, аналоговый, например, — звуковая волна. Когда это понятно, ответь на вопрос, а каким образом, и главное, зачем ты собрался передавать аналоговые данные. И непонятны ни язык, ни сами данные, ни окружение. В общем, неотвечаемый вопрос.

Первый, третий и четвёртый пункты — это вообще для тебя рано. Разберись с работой Lua хотя бы и попиши банальные программки. Обязательно продумай досконально архитектуру проекта. И задавай конкретные вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

  1. По первому пунтку: это уже будет помощь потенциальному конкуренту (хотя :lol: ), ты слишком неопытен для такого. Вон, даже про таблицы не знаешь, а ведь без них ничегошеньки не сделаешь. Наберёшься опыта — и комментарии не нужны будут.
  2. Таблица — это переменная, хранящая переменные. С твоим подходом на каждый телефонный номер ты бы издавал по тиражу книг. Таблица — как телефонный справочник: хранит сотни, тысячи номеров.
  3. Про многозадачность уже ответили.
  4. Для начала надо уяснить разницу между аналоговым и цифровым сигналами. Через кабель никакими судьбами ты не передашь аналоговые данные, только цифровые. Цифровой — это та же последовательность бит, аналоговый, например, — звуковая волна. Когда это понятно, ответь на вопрос, а каким образом, и главное, зачем ты собрался передавать аналоговые данные. И непонятны ни язык, ни сами данные, ни окружение. В общем, неотвечаемый вопрос.

Первый, третий и четвёртый пункты — это вообще для тебя рано. Разберись с работой Lua хотя бы и попиши банальные программки. Обязательно продумай досконально архитектуру проекта. И задавай конкретные вопросы.

 

2 - про переменную, хранящую переменные я уже знаю:)

3 - :)

4 - Вот хочу я передать Васе сигнал на 10 тыщ блоков ( Если чанклодеры распихаю), а железка на провода мало, есть только дофигищщща рэдстоуна вот и хочу через него сигналы передавать. 

 

5 - на этот вопрос никто не дал ответа:( Написать про io.read(), io.write() могут, а на такой вопрос что-то не отвечают :blink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 - Вот хочу я передать Васе сигнал на 10 тыщ блоков ( Если чанклодеры распихаю), а железка на провода мало, есть только дофигищщща рэдстоуна вот и хочу через него сигналы передавать.

5 - на этот вопрос никто не дал ответа :( Написать про io.read(), io.write() могут, а на такой вопрос что-то не отвечают :blink:

 

4) http://minecraft-ru.gamepedia.com/OpenComputers/%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0

5) Для того, чтобы сделать это, тебе надо разобраться как работает библиотека GUI, разобраться с выводом картинок в ОС (для этого придётся всётаки собраться и вооружиться Гуглом - и не говори что там нету - там есть даже в нескольких местах).

 

А вообще все эти вопросы дааааалеко за пределами твоих знаний по Луа.

Это всё равно как если бы ты вервые в жизни увидел отвёртку и начал спрашивать:

1) Как мне собрать автомобиль с нуля (пожалуйста инструкции с подробными комментариями)

2) Чем отличается плоская отвертка от крестовой? Мне рассказывали, что я не смогу ничего собрать, если не буду пользоваться крестовой отвёрткой.

3) Как мне писать в чат не через интернет, а радиопередатчиком, используя отвёртку?

и т.п.

 

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

В бесконечном цикле задаётся вопрос - какое число загадала программа. Игрок вводит ответы, а игра отвечает - "больше" или "меньше".

Если угадал - загадывается новое число. И так далее.

Только напиши её сам. Все ответы есть в интернете.

Изменено пользователем Totoro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А обычный провод ведь является передатчиком аналогового сигнала? А вообще электронику ищем и покупаем тут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

4) http://minecraft-ru.gamepedia.com/OpenComputers/%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0

5) Для того, чтобы сделать это, тебе надо разобраться как работает библиотека GUI, разобраться с выводом картинок в ОС (для этого придётся всётаки собраться и вооружиться Гуглом - и не говори что там нету - там есть даже в нескольких местах).

 

А вообще все эти вопросы дааааалеко за пределами твоих знаний по Луа.

Это всё равно как если бы ты вервые в жизни увидел отвёртку и начал спрашивать:

1) Как мне собрать автомобиль с нуля (пожалуйста инструкции с подробными комментариями)

2) Чем отличается плоская отвертка от крестовой? Мне рассказывали, что я не смогу ничего собрать, если не буду пользоваться крестовой отвёрткой.

3) Как мне писать в чат не через интернет, а радиопередатчиком, используя отвёртку?

и т.п.

 

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

В бесконечном цикле задаётся вопрос - какое число загадала программа. Игрок вводит ответы, а игра отвечает - "больше" или "меньше".

Если угадал - загадывается новое число. И так далее.

Только напиши её сам. Все ответы есть в интернете.

Эти "угадайки" я уже стряпал, но не выкладывал. И либу forms знаю на изусть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эти "угадайки" я уже стряпал, но не выкладывал. И либу forms знаю на изусть

 

Так выложи. Заодно глянем на твой код, и дадим советов бесплатно. :D

P.S. Ты не можешь знать либу наизусть - т.к. не знаешь Луа. Что изменять что-то надо знать не только как этим пользоваться, но и как оно работает внутри.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...