Добавлен Волчачка,
опубликован
Когда я писал некоторые функции, системы для своих некоторых карт, то подумал, почему не облегчить для себя построение скрипта в моем понятии. Хотя это может такое представление и наркомовский для других, но для меня удобный. Для чего я такое представлял в своей голове: для более быстрого написания кода. Который все равно бы преобразовался в нормальный код jass. Может даже и есть подобный подход, не проверял а др. источниках...
Вот собственно как я вижу для себя свой подход к скрипту для уменьшения своей трудоёмкости.
Как я себе представляю объявление глобальных переменных.
// KingJass (KJ)
Declare:
real gx = 0.,
real gy = 0.;
Объявление констант.
Const:
int A = 0,
str B = null;
Массивы.
Arrays:
int A[12], // A[1][1] -> A[1*12+1] || A[0..681*12+0..11]
int B, // B[0..8191]
Почему так представляю псевдокод. Потому, что мне так удобнее.
Пример простой функции и способа вызова другой функции
* Test2<*>:
DestroyTimer GetExpiredTimer,
BJDebugMsg "Hi!";
Ещё один примерный код функции, где >> заменяет function.
int Test<*>:
Inside:
real x = 0., real y = 0., timer t = CreateTimer;
TimerStart t 1. false >>Test2,
return 0;
Другой пример функции:
int MyCode<int a, real x>:
return I2R x / 2;
Пример цикла.
* Test3<*>:
Inside:
int i = 0;
loop:
BJDebugMsg I2S i,
i+,
>ifexit i == 15;;
arr3{arr2,arr,i} = 0 // set arr3[arr2[arr[i]]] = 0
//или
@i.arr.arr2.arr3 = 0 // set arr3[arr2[arr[i]]] = 0
Полное значение в параметр функции..
I2R [5 + i - 4]
Скорее это больше наркомания, но мне так было бы удобнее кодить псевдокодом jass, который конвертировался в обычный jass2.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
раньше они на cjass.xgm.guru были, не нашёл почему-то.
проще просто "exit" (что я, кстати, сам использую).
Отредактирован Волчачка
Мне без разницы на чем кодить vJass, сJass или JASS2...
Добавлю:
Хоть я и позабавился с дефайнами, но все равно не хватает несколько фишек....