[Guide] Изучаем ComputerCraft [часть 2]

[Guide] Изучаем ComputerCraft [часть 2]

Всем привет, с вами снова poccu, и сегодня я решил
сделать вторую часть своего гайда по ComputerCraft.
В этой части мы продолжим изучать команды CraftOS,
и попробуем написать и разобрать по частям программу на Lua.

Если вдруг кто-то не читал первую часть, то вот она: Click!


В прошлом уроке мы немного научились работе с файлами в CraftOS.
Сегодня мы будем продолжать учится работе с файлами,
а также попробуем написать свою первую программу.


Давайте вспомним то, что мы узнали на прошлом уроке:

  • help — открыть помощь.
  • dir и ls — узнать, какие файлы и папки есть в этой директории.
  • edit — создать или изменить файл.
  • rename — переименовать файл.
  • delete — удалить файл.


Для копирования файлов в CraftOS используется команда copy.
copy [Путь к файлу] [Путь к тому месту, куда сохранится файл]


Например: У нас есть файл под названием test. Если мы напишем
команду copy test test1, то рядом с этим файлом появится файл под названием test1,
с полностью идентичной информацией в нем.

А теперь представим, что нам нужно переместить файл в другое место.
Мы можем сначала скопировать его в нужное место командой copy, а потом
удалить оригинал, но это не очень удобно. Для нашего с вами
удобства, существует команда move.
move [Исходный файл] [Директория, куда нужно переместить файл]

[Guide] Изучаем ComputerCraft [часть 2]

Теперь представим то, что нам нужно создать папку (директорию).
Для этого нам потребуется команда mkdir.
mkdir [Путь]


Если мы напишем mkdir folder1, то мы создадим новую пустую
папку с именем folder1, в которой мы теперь можем хранить файлы.

Теперь представим такую ситуацию:
Мы пользуемся обычным компьютером (не золотым), икогда мы пишем
команду dir или ls, мы не можем понять, какие это файлы. В золотом
компьютере папки помечены зеленым цветом, а в
обычном компьютере они не помечены вообще.
[Guide] Изучаем ComputerCraft [часть 2]

Так что же нам делать? Для этого есть команда type.
Она говорит нам, какой это тип файла.
type [Путь к файлу]

[Guide] Изучаем ComputerCraft [часть 2]


А теперь немного про пути к файлам. Если мы напишем команду cd ..,
то мы вернемся на одну директорию назад. Если мы хотив вернутся в начальную директорию,
нам нужно написать cd \.


Отлично, с работой с файлами в CraftOS мы разобрались!
Теперь я просто опишу некоторые команды,
и мы приступим изучать программирование!



  • Команда shutdown выключает наш компьютер.
    Для включения просто заного зайдите в него.
  • Команда reboot перезагружает наш компьютер.
  • Команда time позволяет узнать текущее игровое время.




Отлично! Вот мы и можем приступать к программированию.
Программирование происходит не в ОС CraftOS, а в
файлах, которые создаются командой edit. Давайте напишем нашу первую программу,
а потом разберем ее.
print ("Hello world!")

[Guide] Изучаем ComputerCraft [часть 2]

Для запуска программы мы должны обратно вернуться в CraftOS.
Сейчас мы должны просто написать название программы, и ничего больше.
После нажатия кнопки Enter мы увидим, что на экране появилась надпись
Hello world.
[Guide] Изучаем ComputerCraft [часть 2]


Давайте все разберем по порядку:

  • print — вызов функции print, которая печатает текст и переносит курсор на следующую строку.
  • Скобочки нужны для того, чтобы присвоить этой функции дополнительные параметры. В данном случае дополнительным параметром служит выводимый текст.
  • Про кавычки я расскажу чуть-позже.
  • Ну а Hello world! это текст, который мы выводим.


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

Первый из них — текстовый (String). Мы как-раз им и пользовались.
В Lua, как и во многих других языках программирования, кавычки используются
для отображения текста. Именно поэтому надпись Hello World мы заключили в кавычки.
В String'е могут находиться абсолютно любые знаки (буквы, числа, спецсимволы).

Второй — Boolean. В нем могут храниться лишь значения true (истина) и false (ложь).

Третий — числовой. В нем хранятся различные числа.

Ну и четвертый — nil. Nil это пустое значение.

Это не все типы данных, которые есть в Lua,
но нам пока-что будет достаточно и этого.

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

И еще кое-что: для ввода данных пользователем нужно использовать read().



Вот пример:
write ("Input: ")
a=read()
print ("Hello, ",a)

При запуске программы нас попросит ввести данные с клавиатуры.
[Guide] Изучаем ComputerCraft [часть 2]

После ввода данных и нажатии кнопки Enter, введенные данные запомнятся
в переменной a, и будут выведены командой print.
[Guide] Изучаем ComputerCraft [часть 2]

Давайте мы разберем и этот код:
  • В самом начале мы видим команду write. Она очень похожа на print, но у нее есть одно отличие. При выводе данных через print, в конце автоматически ставится Enter. В случае в write'ом это не так.
    [Guide] Изучаем ComputerCraft [часть 2]
  • Про доп. параметры и типы данных я уже рассказал.
  • На второй строчке мы видим переменную a. В ней будут храниться введенные нами данные.
  • После переменной стоит знак равно. Он означает присваивание переменной данных.
  • После знака равно, мы видим функцию read(), которая обеспечивает ввод данных пользователем с клавиатуры.
  • На третей строчке мы видим вывод через print. Причем хочу обратить ваше внимание на дополнительные параметры.
    ("Hello ",a)
    Там мы видим то, что после String'а, записанного в кавычках, стоит запятая.
    А уже после запятой стоит переменная. Почему так?
    Да потому-что разные данные должны отделяться друг от друга запятой.
    Сначала у нас идет String "Hello ", а после него через запятую переменная a.


Думаю, что на сегодня все. Если вы что-то не поняли, перечитайте гайд
или спросите об этом в комментариях. С вами был poccu, всем пока!


Голосуй за новость:
(+18.9018,7-0.20)
  • Просмотров: 20 016
  • Комментариев: 46
Рекомендуемое для Вас:

  1. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (3 июня 2014 23:31) | Комментариев: 781 | Новостей: 18 |
    • +2

    Жду оценок axez

    Цитата: poccu2
    Если вы заметили ошибки в тексте, то напишите об этом в комментариях.


  2. Посетители
    Зарегистрирован: 20.01.2013
    Репутация
    (+16.70,4-16.3)
    roma3110 | Пользователь offline | (4 июня 2014 00:55) | Комментариев: 76 | Новостей: 0 |
    • +2

    Да ты что какие оценки здесь только одна оценка безупречно !!5 мем


  3. Главные редакторы
    Зарегистрирован: 5.07.2012
    Репутация
    (+1626.71583-43.7)
    dedepete | Пользователь offline | (4 июня 2014 02:05) | Комментариев: 839 | Новостей: 131 |
    • +3

    Юзфул[hide][/hide]
    -----------------------------------------------------------------------------
    http://steam.pm/id/dedepete


    #FomenMustDie


  4. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 07:36) | Комментариев: 781 | Новостей: 18 |
    • 0

    roma3110,
    dedepete,
    Спасибо axez


  5. Посетители
    Зарегистрирован: 28.05.2013
    Репутация
    (+16.516,4-0.1)
    and_sha | Пользователь offline | (4 июня 2014 08:39) | Комментариев: 64 | Новостей: 3 |
    • 0

    Не nil, а nul или null
    А так как всегда 5 мем


  6. Посетители
    Зарегистрирован: 20.03.2013
    Репутация
    (+3.9-1,8-5.7)
    ОцЕлОтИк | Пользователь offline | (4 июня 2014 10:11) | Комментариев: 10 | Новостей: 0 |
    • 0

    Норм, чо. rainbow-face


  7. Посетители
    Зарегистрирован: 26.05.2013
    Репутация
    (+9.05-4.0)
    Andryshik345 | Пользователь offline | (4 июня 2014 10:21) | Комментариев: 61 | Новостей: 3 |
    • 0

    А можно ли, задать пароль который проверяется и если он правильный, комп подает сигнал на редстоун?
    -----------------------------------------------------------------------------
    Моя первая новость
    Моя вторая новость


  8. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 10:22) | Комментариев: 781 | Новостей: 18 |
    • 0

    Цитата: and_sha
    Не nil, а nul или null

    По моему правильно Nil axez

    Потом поищу в интернете, если что — исправлю...

    and_sha,
    ОцЕлОтИк,
    Спасибо =)


  9. ТруЪ Олдфаги-с
    Зарегистрирован: 4.06.2013
    Репутация
    (+192.3163,2-29.1)
    Ivan1765 | Пользователь offline | (4 июня 2014 10:29) | Комментариев: 506 | Новостей: 8 |
    • +1

    poccu,
    И не Inter, а Enter. axez
    Это уже точно.


  10. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 10:55) | Комментариев: 781 | Новостей: 18 |
    • 0

    Ivan1765,
    Я и сам уже заметил, когда перечитал. Потом исправлю.

    Andryshik345,
    Да, можно.


  11. Посетители
    Зарегистрирован: 26.05.2013
    Репутация
    (+9.05-4.0)
    Andryshik345 | Пользователь offline | (4 июня 2014 11:28) | Комментариев: 61 | Новостей: 3 |
    • 0

    poccu,
    Можешь написать гайд?
    -----------------------------------------------------------------------------
    Моя первая новость
    Моя вторая новость


  12. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 12:03) | Комментариев: 781 | Новостей: 18 |
    • 0

    Andryshik345,
    На ютубе куча туториалов по этому. Даже на русском языке.

    Но в принципе могу.


  13. Просто хорошие люди
    Зарегистрирован: 2.05.2013
    Репутация
    (+168.8167,4-1.4)
    Olmaznii | Пользователь offline | (4 июня 2014 12:14) | Комментариев: 491 | Новостей: 0 |
    • +2

    Превосходно.Правда опять было лень читать.


  14. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 12:56) | Комментариев: 781 | Новостей: 18 |
    • 0

    Olmaznii,
    Ну axez


  15. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 13:30) | Комментариев: 781 | Новостей: 18 |
    • 0

    Andryshik345,
    Вот довольно простой код (очень хорошо подходит для золотого компьютера):
    local function opendoor()
    term.setCursorPos(1,1)
    term.setTextColor(8192)
    print ("Successful!")
    rs.setOutput("right", true)
    sleep(4)
    rs.setOutput("right", false)
    end
    
    local function err()
    term.setTextColor (16384)
    term.setCursorPos(1,1)
    print "Wrong answer!"
    sleep (5)
    end
    
    while true do
    term.clear()
    term.setTextColor(1)
    term.setCursorPos(1,1)
    write ("Code: ")
    code=read()
    term.clear()
    if code=="tEst123" then opendoor()
      else err()
    end
    end
    


    Пароль: tEst123, можно заменить на любой другой.

    Примечание: дверь должка располагаться справа от лицевой части компьютера. Если она слева, тогда нужно на строках 5 и 7 заменить right на left


  16. XXXL ПХЛ
    Зарегистрирован: 16.05.2014
    Репутация
    (+119.0117,1-1.9)
    Welex | Пользователь offline | (4 июня 2014 13:46) | Комментариев: 151 | Новостей: 23 |
    • 0

    Очень полезно, обязательно прочитаю в свободное время. sincere-troll


  17. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 13:50) | Комментариев: 781 | Новостей: 18 |
    • 0

    Welex,
    Спасибо sincere-troll


  18. Просто хорошие люди
    Зарегистрирован: 21.05.2014
    Репутация
    (+91.689,4-2.2)
    poccu2 | Пользователь offline | (4 июня 2014 14:57) | Комментариев: 45 | Новостей: 0 |
    • -1

    Цитата: and_sha
    Не nil, а nul или null

    Клик!


  19. ТруЪ Олдфаги-с
    Зарегистрирован: 20.05.2014
    Репутация
    (+313.0291,4-21.6)
    Injustice | Пользователь offline | (4 июня 2014 15:03) | Комментариев: 149 | Новостей: 29 |
    • +1

    Зачем в бездну то? 5 Мем.


  20. Просто хорошие люди
    Зарегистрирован: 21.05.2014
    Репутация
    (+91.689,4-2.2)
    poccu2 | Пользователь offline | (4 июня 2014 15:10) | Комментариев: 45 | Новостей: 0 |
    • 0

    Injustice,
    Спасибо =)


  21. Просто хорошие люди
    Зарегистрирован: 10.06.2013
    Репутация
    (+54.553,5-1.0)
    cymrak12 | Пользователь offline | (4 июня 2014 15:17) | Комментариев: 103 | Новостей: 6 |
    • 0

    Ещё одна часть. УРА! 5 мем


  22. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 15:51) | Комментариев: 781 | Новостей: 18 |
    • 0

    cymrak12,
    Спасибо mil


  23. Посетители
    Зарегистрирован: 26.05.2013
    Репутация
    (+47.246,8-0.4)
    Цеф | Пользователь offline | (4 июня 2014 18:51) | Комментариев: 207 | Новостей: 0 |
    • 0

    5 мем.
    -----------------------------------------------------------------------------
    Спасибо всем за +40 репы


  24. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 19:07) | Комментариев: 781 | Новостей: 18 |
    • 0

    Цеф,
    Спасибо =)


  25. Goldфаги
    Зарегистрирован: 11.07.2013
    Репутация
    (+1467.11382,7-84.4)
    Пумба :D | Пользователь offline | (4 июня 2014 19:39) | Комментариев: 1 134 | Новостей: 327 |
    • +2

    Цитата: Injustice
    Зачем в бездну то? 5 Мем.

    XXXL ПХЛ могут только в бездну.


  26. XXXL ПХЛ
    Зарегистрирован: 8.01.2014
    Репутация
    (+255.5247,8-7.7)
    Maksimym200 | Пользователь offline | (4 июня 2014 20:00) | Комментариев: 399 | Новостей: 44 |
    • +1

    Конечно, 5 мем! default3


  27. Просто хорошие люди
    Зарегистрирован: 22.10.2013
    Репутация
    (+35.31,8-33.5)
    Golddrak | Пользователь offline | (4 июня 2014 20:24) | Комментариев: 164 | Новостей: 9 |
    • 0

    5 мем, неплохо
    -----------------------------------------------------------------------------



  28. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (4 июня 2014 22:06) | Комментариев: 781 | Новостей: 18 |
    • 0

    Maksimym200,
    Golddrak,
    Спасибо =)


  29. Посетители
    Зарегистрирован: 17.03.2013
    Репутация
    (+7.25,3-1.9)
    GLaDOS3_0 | Пользователь offline | (4 июня 2014 22:50) | Комментариев: 27 | Новостей: 0 |
    • 0

    Очень увлекательная и интересная новость , 5 мем rainbow-face
    -----------------------------------------------------------------------------
    Живу в Украине и мне всё равно что говорят о моей стране!


  30. Посетители
    Зарегистрирован: 19.05.2014
    Репутация
    (+10.66,4-4.2)
    Bagrovich | Пользователь offline | (4 июня 2014 23:41) | Комментариев: 73 | Новостей: 3 |
    • 0

    Спасибо за адский труд. Все разжевано как надо! Оформление зашибись! ОДна оценка - 5 мем!!!
    -----------------------------------------------------------------------------
    Мудрым словом и пистолетом можно добиться куда большего, чем просто мудрым словом.



  31. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (5 июня 2014 00:01) | Комментариев: 781 | Новостей: 18 |
    • 0

    GLaDOS3_0,
    Bagrovich,
    Большое спасибо =)


  32. ТруЪ Олдфаги-с
    Зарегистрирован: 3.04.2013
    Репутация
    (+349.8313,6-36.2)
    Stallman | Пользователь offline | (5 июня 2014 10:43) | Комментариев: 242 | Новостей: 29 |
    • 0

    Очень мало таких новостей в бездне. 5 мем.


  33. XXXL ПХЛ
    Зарегистрирован: 8.01.2014
    Репутация
    (+255.5247,8-7.7)
    Maksimym200 | Пользователь offline | (5 июня 2014 15:13) | Комментариев: 399 | Новостей: 44 |
    • +2

    Цитата: Winlocker
    Очень мало таких новостей в бездне

    Потому что там им не место.


  34. ТруЪ Олдфаги-с
    Зарегистрирован: 12.01.2014
    Репутация
    (+267.8230,1-37.7)
    blaster135790 | Пользователь offline | (5 июня 2014 15:28) | Комментариев: 521 | Новостей: 12 |
    • 0

    заключилив

    абсолютнолюбые

    ошибка файла ошибка файла перезагрузка перезагрузка.
    Кароч, опять нечего не понял.
    Оценка: Отлично ( 5 мем)
    -----------------------------------------------------------------------------
    Пиу-пиу!

    Если Вы хотите найти меня где-либо, кроме румине, то ищите меня по нику blaster135790. Везде.

    Играет в King's Squad


  35. Посетители
    Зарегистрирован: 1.06.2014
    Репутация
    (+14.314,30.0)
            | Пользователь offline | (5 июня 2014 16:07) | Комментариев: 6 | Новостей: 0 |
    • -5

    Больше похоже на гайд для начинающих программистов dudecomeonmeme


  36. Просто хорошие люди
    Зарегистрирован: 21.05.2014
    Репутация
    (+91.689,4-2.2)
    poccu2 | Пользователь offline | (5 июня 2014 19:54) | Комментариев: 45 | Новостей: 0 |
    • 0

    Winlocker,
    blaster135790,
    Спасибо!

    Человек без имени O_o,
    axez


  37. Посетители
    Зарегистрирован: 28.05.2013
    Репутация
    (+16.516,4-0.1)
    and_sha | Пользователь offline | (6 июня 2014 10:37) | Комментариев: 64 | Новостей: 3 |
    • 0

    poccu,
    Порылся в CraftOS, действительно nil.


  38. Посетители
    Зарегистрирован: 19.02.2013
    Репутация
    (+5.3-27,2-32.5)
    XDEN | Пользователь offline | (6 июня 2014 14:22) | Комментариев: 45 | Новостей: 0 |
    • -1

    5 мем что скизать и плиз можешь зделать так чтоб когда вкл комп надо ввести пароль чтоб получить к нему доступ badumtss


  39. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (6 июня 2014 20:20) | Комментариев: 781 | Новостей: 18 |
    • 0

    XDEN,
    Ага, сейчас пилю третью часть. В ней будет описано что-то похожее.

    and_sha,
    Я был прав poker-face2


  40. Посетители
    Зарегистрирован: 22.03.2012
    Репутация
    (0.000.0)
    Miner020 | Пользователь offline | (6 июня 2014 23:47) | Комментариев: 10 | Новостей: 0 |
    • +1

    Lua на C++ похож


  41. Посетители
    Зарегистрирован: 20.10.2012
    Репутация
    (+23.322,5-0.8)
    markvolyn | Пользователь offline | (7 июня 2014 14:11) | Комментариев: 44 | Новостей: 0 |
    • 0

    Чувак,читать 3 года,да и ещё сам писал . Если можешь,сделай просто видео. Но все равно rainbow-face
    -----------------------------------------------------------------------------
    умер.


  42. ТруЪ Олдфаги-с
    Зарегистрирован: 25.08.2013
    Репутация
    (+350.1334,1-16.0)
    poccu | Пользователь offline | (8 июня 2014 10:13) | Комментариев: 781 | Новостей: 18 |
    • 0

    Цитата: markvolyn
    читать 3 года

    Я все это перечитал за 5 минут :/

    Miner020,
    Да в основном все языки программирования чем-то похожи друг на друга.


    Miner020,
    markvolyn,
    Спасибо!


  43. Олдфаги
    Зарегистрирован: 12.01.2012
    Репутация
    (+78.775,1-3.6)
    qwerty1 | Пользователь offline | (4 июля 2014 10:19) | Комментариев: 886 | Новостей: 0 |
    • 0

    Отличная новость, Оценка: 5 default3


  44. Посетители
    Зарегистрирован: 25.07.2013
    Репутация
    (+35.233,8-1.4)
    DjSapsan | Пользователь offline | (10 ноября 2014 14:44) | Комментариев: 37 | Новостей: 11 |
    • 0

    то че надо 5 мем
    -----------------------------------------------------------------------------
    Всем привет, с вами Сапсан. Добро пожаловать в мир высоких технологий!
    Полноценная змейка на тетрисе без модов
    Эпичный планшет из будущего в Minecraft !


  45. Гости
    Зарегистрирован: --
    Репутация

    Majesty | | (13 марта 2017 13:30) | Комментариев: 0 | Новостей: 0 |
    • 0

    Я так и не понял про переменные, зачем нужно писать a=read() или нельзя писать так print ("Hello",read()) и зачем скобки после read?


  46. Просто хорошие люди
    Зарегистрирован: 9.05.2017
    Репутация
    (+58.451,7-6.7)
    Nero_228 | Пользователь offline | (4 августа 2017 14:28) | Комментариев: 664 | Новостей: 9 |
    • 0

    когда я ввожу название программы, мне пишет: bios:14: [string "kra"]:1: ')' expected что с этим делать и как запустить программу?

Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию.

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Ищу АКТЕРА для съмок ВИДЕО по майнкрафту.

Тема в разделе: Новости

Junkie16

Просмотров: 81

Ответов: 0

Автор: Junkie16

Вчера, 22:10

Видео/Стримы канал Ritterydam

Тема в разделе: Флудильня

ritterydam

Просмотров: 110913

Ответов: 531

Автор: ritterydam

Вчера, 21:43

Загружается мир до 100% и все 1.16.5

Тема в разделе: Техническая поддержка сайта

Romanov_2

Просмотров: 84

Ответов: 0

Автор: Romanov_2

Вчера, 20:20

Помогите со сборкой на версии 1.7.10

Тема в разделе: Ваши вопросы по Minecraft

Zelsovich8321

Просмотров: 253

Ответов: 5

Автор: egg2003

Вчера, 15:06

Крутой сервер 1.20.4

Тема в разделе: Игры

Ytenok

Просмотров: 126

Ответов: 0

Автор: Ytenok

Вчера, 13:06