Сейчас 02:33:48 Воскресенье, 26 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Bru  
[JASS] Урок 1. Знакомство с JASS
DuosoraДата: Воскресенье, 24 Марта 2013, 22:24:46 | Сообщение # 1
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Когда кто-то говорит: «Я хочу язык программирования, который может делать все, что ему скажу», то я даю этому человеку леденец.
Алан Джей Перлис

Приветствую всех на первом уроке, посвящённом языку JASS!
По хорошей традиции, для начала представлюсь тем, кого я буду обучать. Меня зовут Руслан и в этой школе я буду обучать всех записавшихся имеющему простую структуру, но множество подводных камней языку скриптописания, который сокращённо называется JASS (Just Another Scripting Syntax - ещё один язык скриптописания). Написан этот язык компанией Blizzard, которая разработала его для использования в своих играх (серии StarCraft и WarCraft). В этом и последующих уроках я буду разбирать исключительно тот JASS, который сделан для WarCraft III.

Рад видеть, что здесь собралось довольно много людей, которые желают познать этот язык. Значит, WarCraft будет жить ещё долго, пока в нём работают модмейкеры.
Итак, начнём потихонечку?

Вы хотите изучать JASS. Некоторые, наверное, впервые открывают World Editor (для тех, кто об этом впервые слышит - так называется редактор карт для WarCraft 3. Далее я буду называть его просто WE или Редактор) с такой стороны. Для начала стоит сразу осветить несколько моментов. Конечно, новичкам это будет не совсем понятно, поэтому я буду пояснять все незнакомые понятия.
Во-первых, JASS - язык событийно-ориентированный. То есть любое действие выполняется после того, как совершается какое-либо событие. Об этом у нас ещё будет время поговорить, пока что ограничимся таким определением.
Во-вторых (сказано специально для тех, кто обожает GUI и считает его верхом творения), JASS - такой язык, который, конечно, ФАКТИЧЕСКИ ничего общего по созданию действий с GUI не имеет (в этом интерфейсе, нажав Ctrl-R, вы не получите списочка с действиями: всё надо будет писать, используя только руки и клавиатуру). Да и GUI в сущности - графическая надстройка для языка JASS. Всё то, что вы делали в GUI, при сохранении карты переводится именно в JASS. Поэтому при изучении JASS вы будете иметь дело не с производной, а с исходной частью триггеров.

На первом уроке стоит разобрать и такую важную часть, как где пишется код JASS. Думаю, многие из вас мне на этот вопрос однозначно не ответят.
Однозначно не отвечу и я сам. Понимаете, какое тут дело... Есть несколько редакторов кода JASS, поэтому тут на вкус и цвет, как говорится. Я вам перечислю такие редакторы, какие у нас есть на нашем уютном сайтике, а вы выберете из них тот, который придётся вам по душе.
Прежде, чем перечислять, что у нас есть, стоит заметить, что приведённый мной JASS New Gen Pack является IDE. Эта аббревиатура в том смысле, в котором я имею её в виду, обозначает Integrated Development Environment, то есть интегрированную среду разработки. В буквальном смысле, IDE - это то, где мы пишем код и с ним работаем. Так будет проще и понятнее.
Итак, выбирайте себе по душе!
  • Jass New Gen Pack 5d - расширение оригинального WE с подсветкой синтаксиса и кучей удобных вещей для любого мапмейкера. Спасибо за билд говорите нашему комодератору под ником Ty3uK, который и вдохновил меня на изучение cJASS.
  • JASSCraft - отличный редактор кода на языке JASS, с которым я сам работаю. Отличительной чертой является очень приятный для глаза дизайн и возможность редакции кода mdl-моделей.
  • JASS++ - ещё один редактор кода всех диалектов с подсветкой синтаксиса и грамотным парсером. Автор - Ty3uK.
  • Jass Highlighter - правила подсветки языка JASS для популярного редактора Notepad++, сами правила подсветки сделали пользователи нашего сайта - Ty3uK и SirNikolas, за что им огромное спасибо.

Где писать код, разобрались. Как писать код (согласно всем правилам), мы будем разбирать в течение всего нашего курса. Хотя, одну немаловажную мелочь можно упомянуть уже сейчас. Когда вы создаёте триггер, вы не видите никакого способа написания кода: только три слова "События", "Условия" и "Действия". Оставим их назначение и перейдём к нашему делу. Чтобы увидеть код любого триггера, нужно в Редакторе триггеров (он вызывается через клавишу F4) проследовать в меню Правка -> Конвертировать в текст и всё. Код предстанет перед вами во всём своём "великолепии". Конечно же, по умолчанию этот код очень груб и громоздок, но вы ещё научитесь делать из него нормальный.

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

Для первого урока вполне достаточно. Вопросы и задания я дам на следующем уроке, а пока задавайте вопросы по материалу, мы с радостью на них ответим!
Duosora, Ty3uK.


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.


Сообщение отредактировал Duosora - Понедельник, 25 Марта 2013, 17:52:44
 

BruДата: Воскресенье, 24 Марта 2013, 23:20:57 | Сообщение # 2
i<3bo4k@
Группа: Акулы
Сообщений: 4750
Награды: 2
Репутация: 1960
Блокировки:
Официально записываю себя trollface

Цитата (Duosora)
Меня зовут Руслан и

Покатился со смеху на этом моменте. Сам знаешь почему.)
Цитата (Duosora)
Jass New Gen Pack 5d - расширение оригинального WE с подсветкой синтаксиса и кучей удобных вещей для любого мапмейкера. Спасибо за билд говорите нашему комодератору под ником Ty3uK, который и вдохновил меня на изучение cJASS.
JASSCraft - отличный редактор кода на языке JASS, с которым я сам работаю. Отличительной чертой является очень приятный для глаза дизайн и возможность редакции кода mdl-моделей.
JASS++ - ещё один редактор кода всех диалектов с подсветкой синтаксиса и грамотным парсером. Автор - Ty3uK.
Jass Highlighter - правила подсветки языка JASS для популярного редактора Notepad++, сами правила подсветки сделали пользователи нашего сайта - Ty3uK и SirNikolas, за что им огромное спасибо.

Поскачивал.

Правда не знаю, зачем мне нужны будут первые ~20 уроков. И сам вроде неплохо разбираюсь... Больше хочу познать сJass/vJass
 

Ty3uKДата: Понедельник, 25 Марта 2013, 09:20:57 | Сообщение # 3
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Bru, vJASS
cJASS


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Imba_pvLДата: Понедельник, 25 Марта 2013, 09:32:21 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Цитата (Duosora)
Меня зовут Руслан

меня Рустам :D
Вопрос, ну вот я выбрал
Цитата (Duosora)
JASSCraft

а другие ДЖНПЖ, и что у них будут разные задания???
для каждого индивидуально по уровню, или же всем на общак?


 

DuosoraДата: Понедельник, 25 Марта 2013, 11:07:59 | Сообщение # 5
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Цитата (Imba_pvL)
для каждого индивидуально по уровню, или же всем на общак?

Всем одно и то же, просто вы выбираете, где будете писать код ;)

Добавлено (25 Марта 2013, 11:07:59)
---------------------------------------------

Цитата (Bru)
И сам вроде неплохо разбираюсь...

Повторение - мать учения.


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

FredbobДата: Понедельник, 25 Марта 2013, 13:15:10 | Сообщение # 6
1 уровень
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Блокировки:
что такое линковщик?
 

Ty3uKДата: Понедельник, 25 Марта 2013, 13:17:13 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
ru.m.wikipedia.org/wiki/Компоновщик

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

peinДата: Понедельник, 25 Марта 2013, 13:41:26 | Сообщение # 8
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
JASSCraft
+1
 

DuosoraДата: Понедельник, 25 Марта 2013, 13:59:31 | Сообщение # 9
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Цитата (pein)
JASSCraft
+1

Подсвечивал бы vJass и cJass - цены не было бы ему.


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

peinДата: Понедельник, 25 Марта 2013, 14:13:48 | Сообщение # 10
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
Цитата (Duosora)
Подсвечивал бы vJass и cJass - цены не было бы ему.

а плагин под него нелзя нписать?
 

DaroДата: Понедельник, 25 Марта 2013, 14:52:41 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 105
Блокировки:
как сделать массив и как с ним работать?local array ,а что дальше

 

DuosoraДата: Понедельник, 25 Марта 2013, 16:20:18 | Сообщение # 12
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Цитата (Daro)
как сделать массив и как с ним работать?local array ,а что дальше

Эти вещи раскроются на других уроках. Вообще, local (тип) array (имя), например, local integer array i


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

SirNikolasДата: Понедельник, 25 Марта 2013, 17:24:29 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (Duosora)
Подсвечивал бы vJass и cJass - цены не было бы ему.
Можно переписать подсветчик N++ для другой цветовой гаммы. Вообще говоря, "переписать" - громко сказано. Там надо всего несколько hex-кодов в файле заменить.
Цитата (Duosora)
Одна из важных частей любого языка программирования - парсер. Для несведущих в этом деле поясню: парсер - синтаксический анализатор кода, проверяющий его правильность и изменяющий его структуру. Другие важные части - компилятор и линковщик. Именно эти части и собирают код воедино в целостный файлик. Не стоит путать эти два понятия.
Ну, парсер является частью компилятора, а компоновщик JASS'еру недоступен, так что можно было и не упоминать. Только запутаешь народ.
Цитата (Fredbob)
что такое линковщик?
Вот видишь.


 

DuosoraДата: Понедельник, 25 Марта 2013, 17:42:55 | Сообщение # 14
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Цитата (SirNikolas)
Ну, парсер является частью компилятора, а компоновщик JASS'еру недоступен, так что можно было и не упоминать. Только запутаешь народ.

Тузик предлагал - я добавил.


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

Ty3uKДата: Понедельник, 25 Марта 2013, 17:52:13 | Сообщение # 15
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Я предложил потом это выкинуть, причем я писал это чисто тебе, потому что ты сказал, что в WE есть компилятор.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DuosoraДата: Понедельник, 25 Марта 2013, 17:53:15 | Сообщение # 16
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
DragoN,
Сделал.
Ty3uK,
my bad :|
FFFAAAAIL
Ну да ладно.


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

goldplay99Дата: Вторник, 26 Марта 2013, 01:37:21 | Сообщение # 17
1 уровень
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: 0
Блокировки:
Я так понял, сджасс изучать не будем?

Я знаю *ВСЕ*, но *ВСЕ* - ничегошеньки незнает обо мне.
 

Ty3uKДата: Вторник, 26 Марта 2013, 10:33:48 | Сообщение # 18
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Пока нет.
А что его изучать? Читайте мануал, он неплохо задокументирован.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

H_A_PKДата: Вторник, 26 Марта 2013, 10:54:55 | Сообщение # 19
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
ещё помню такую утилиту как Jass Editor ссыль

проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

DuosoraДата: Вторник, 26 Марта 2013, 11:30:55 | Сообщение # 20
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Цитата (goldplay99)
Я так понял, сджасс изучать не будем?

Будем. Всё от начала и до конца, детально))


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

FredbobДата: Вторник, 26 Марта 2013, 13:06:43 | Сообщение # 21
1 уровень
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Блокировки:
когда следующий урок?
 

goldplay99Дата: Вторник, 26 Марта 2013, 13:30:03 | Сообщение # 22
1 уровень
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: 0
Блокировки:
Просто написанно 'именно про варовский джасс от близзов' - та да, мануал на уровне, но структуры чот не идут:3

Я знаю *ВСЕ*, но *ВСЕ* - ничегошеньки незнает обо мне.
 

Ty3uKДата: Вторник, 26 Марта 2013, 13:59:45 | Сообщение # 23
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Структуры - это vJASS. Тоже хорошо описаны в мануале.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Вторник, 26 Марта 2013, 17:14:04 | Сообщение # 24
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Цитата (Fredbob)
когда следующий урок?

лучше задать вопрос так "где сам шмуос?"


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

PUVerДата: Вторник, 26 Марта 2013, 18:42:39 | Сообщение # 25
Сухопутные крысы!
Группа: Модераторы
Сообщений: 4462
Награды: 8
Репутация: 1845
Блокировки:
Очень интересно-_-
 

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz