Polish

Logowanie 

Nowiny z Internetu 

Reklama 

button rpgmakerbutton szowelbutton gamestiabutton tsukurubutton fantasybestarium manganimebutton kyaa

Kto jest on-line 

Odwiedza nas 147 gości oraz 0 użytkowników.

Wstęp do pisania kodu 

Logika

Logika w wielu miejscach w Mugenie opiera się na wartościach boolean czyli: 0/1, fałsz/prawda.

Przy warunkach (założeniach) czyli triggerach, trigger musi się ustawić na prawdę żeby zadziałać czyli np.: trigger1 = 1. Dokładnie "prawda" to po prostu "nie 0" czyli zapis: trigger1 = 2 też spowoduje że trigger zaskoczy.

trigger1 = 0 ;Fałsz
trigger2 = 1 ;Prawda
trigger3 = -8 ;Prawda

Dla tego przy wstawianiu funkcji musisz myśleć o wartościach jakie one zwracają. Używając znaku "=" możesz doprowadzić do sprawdzania wartości funkcji, co zwróci wynik na zasadzie: prawda/fałsz.

trigger1 = x = 5

Jeżeli to prawda że: x = 5 to efekt jest taki sam jak:

trigger1 = 1 ;Prawda

Dodatkowo można też stosować nawiasy, ustawiając kolejność działań lub ustalając przedziały wartości, tu przykład:

1 = (2 = (1 > 0) + !(0 > 1)) * (0.5 = (0,1))

Ponieważ: 1 > 0 to prawda, nawias można zastąpić następująco: (1 > 0) = 1. Ponieważ: 0 < 1 to zapis: 0 > 1 oznacza fałsz czyli można to zastąpić: (0 > 1) = 0, ale znak "!" oznacza przeciwieństwo, a przeciwieństwo fałszu to prawda, dla tego zapis: !(0 > 1) można zastąpić jako: !(0 > 1) = 1.

1 = (2 = 1 + 1) * (0.5 = (0,1))

Ponieważ: 1 + 1 = 2 to prawda, więc nawias można zastąpić: (2 = 1 + 1) = 1. Ponieważ zapis: (0,1) oznacza przedział liczbowy od 0 do 1, to zapis: (0.5 = (0,1)) jest prawdziwy bo liczba 0.5 zawiera się miedzy 0 a 1, można zastąpić to jako: (0.5 = (0,1)) = 1.

1 = 1 * 1

Ponieważ: 1 * 1 = 1 to prawda, więc na końcu: prawda = prawda, można bez problemu użyć takiego zapisu przy triggerze:

trigger1 = (2 = (1 > 0) + !(0 > 1)) * (0.5 = (0,1))

Taki zapis spowoduje uruchomienie triggera ponieważ wynikiem będzie: trigger1 = 1.

 

Przykład

Taki zapis w pliku CMD postaci, który może po przez różne poziomy energii przekierować postać do danego stanu z danym ciosem można łatwo skrócić:

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power < 1000
value = 3000

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power >= 1000
value = 3001

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power >= 2000
value = 3002

Tak może wyglądać zapis po skróceniu:

[State -1]
type = ChangeState
trigger1 = command = "a"
value = 3000 + (power >= 1000) + (power >= 2000)

Napisz komentarz w tym Artykule