Thread ini akan menjelaskan segala sesuatu tentang JASS.
1. Mengapa memilih JASS?
JASS memiliki banyak sekali kelebihan dibandingkan dibandingkan GUI. Mungkin sy akan lebih menjelaskan kelemahan GUI:
- GUI terlalu banyak melakukan pengulangan pemanggilan fungsi yang tidak perlu sehingga effisiensi berkurang
- Terlalu banyak menggunakan fungsi BJ walaupun tidak semua fungsi BJ itu jelek, tetapi sebagian besar dari fungsi BJ itu sangatlah jelek dan tidak effisien. seperti
Code
call SetPlayerStateBJ( Player(0), PLAYER_STATE_RESOURCE_GOLD, 750 )
fungsi BJ yang satu ini. Salah satu fungsi BJ terburuk yang pernah saya jumpai, sekali Anda memanggil fungsi ini (di GUI namanya Player - Set player property) bila ditelusuri Anda sama saja melakukan 3 pemanggilan fungsi. pertama Anda akan memanggil fungsi
Code
function SetPlayerStateBJ takes player whichPlayer, playerstate whichPlayerState, integer value returns nothing
local integer oldValue = GetPlayerState(whichPlayer, whichPlayerState)
call AdjustPlayerStateBJ(value - oldValue, whichPlayer, whichPlayerState)
endfunction
kedua
Code
function AdjustPlayerStateBJ takes integer delta, player whichPlayer, playerstate whichPlayerState returns nothing
// If the change was positive, apply the difference to the player's
// gathered resources property as well.
if (delta > 0) then
if (whichPlayerState == PLAYER_STATE_RESOURCE_GOLD) then
call AdjustPlayerStateSimpleBJ(whichPlayer, PLAYER_STATE_GOLD_GATHERED, delta)
elseif (whichPlayerState == PLAYER_STATE_RESOURCE_LUMBER) then
call AdjustPlayerStateSimpleBJ(whichPlayer, PLAYER_STATE_LUMBER_GATHERED, delta)
endif
endif
call AdjustPlayerStateSimpleBJ(whichPlayer, whichPlayerState, delta)
endfunction
ketiga
Code
function AdjustPlayerStateSimpleBJ takes player whichPlayer, playerstate whichPlayerState, integer delta returns nothing
call SetPlayerState(whichPlayer, whichPlayerState, GetPlayerState(whichPlayer, whichPlayerState) + delta)
endfunction
di mana dengan menggunakan JASS Anda hanya perlu memanggil satu fungsi
Code
call SetPlayerState(Player(0), PLAYER_STATE_GOLD, Jumlah penambahan)
tetapi pembuatan fungsi BJ itu bertujuan baik yaitu supaya lebih mudah dimengerti oleh pengguna GUI.
- Banyak orang mengatakan GUI itu lebih user-friendly. Hel itu tidak sepenuhnya benar, NewGen WE telah membuat coding menggunakan JASS atau vJASS menjadi jauh lebih mudah, semua fungsi baik BJs maupun native sudah tersedia (tinggal lihat tabelnya).
- Anda tidak dapat membuat game yang baik menggunakan GUI. Kecuali game2 sederhana yang hanya memerlukan sedikit coding.
2. Bagaimana cara melakukan coding JASS yang nyaman
Gunakan JNGP.
3. Mempelajari JASS
nah, bagian utama dari thread ini, mari belajar JASS.
Minggu - 1 (link: Materi Pembelajaran)
minggu pertama ini kita akan mempelajari hal paling dasar dari JASS. Yaitu:
- jenis2 variabel
- perbedaan global dan local dan cara mendeklarasikan mereka
- cara membuat fungsi dan memanggilnya
- cara membuat trigger