Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Spis operatorówZ przykładami


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 30.05.2011 22:30

*
Popularny

W TEMACIE R3X'A JUŻ JEST NIECO O BITACH WIĘC JEŻELI SĄDZICIE ŻE TO PLAGIAT TO PROSZĘ WYEDYTOWAĆ DANĄ CZĘŚĆ TEMATU :)

Postaram się wam wytłumaczyć, co oznacza dany operator :)

Operatory arytmetyczne

+ dodawanie
- odejmowanie
* mnożenie
/ dzielenie

integerA = integerA * integerB;


Jednak są też skrócone wersje

+=
-=
*=
/=


dla przykładu mnożenie

integerA *= integerB;



Operator % (modulo)

Dwuargumentowy operator obliczający resztę z dzielenia.

Naprzykład

21%3

reszta z dzielenia = 0

22%3

reszta z dzielenia = 1

client_print(id, 3, "%d", 13%5); // wyświetli się 3


Operatory inkremantacji i dekrementacji

++ zwiększenie danej liczby o 1

integerA++;


-- zmniejszenie danej liczby o 1

integerB--;


Przydatny temat: a++ czy ++a?

Operatory relacji

< mniejszy niż

if(a < b) //jeżeli a jest mniejsze niż b


<= mniejszy lub równy

if(a <= b) //jeżeli a jest mniejsze lub równe b


> większy niż

if(a > b) //jeżeli a jest większe niż b


>= większy lub równy

if(a >= b) //jeżeli a jest większe lub równe b


Dlaczego operatory relacji ?
W wyniku nich otrzymujemy odpowiedzi true/false (prawda / fałsz)

Operatory sumy logicznej i iloczynu logicznego

|| operacja logiczna or (LUB)

if(a == b || a == c) //jeżeli a jest równe b lub jeżeli a jest równe c


&& operacja logiczna and (I)

if(a > b && a > c) //jeżeli a jest większe niż b i jeżeli a jest większe niż c
//Wartości wyrażeń są obliczane od lewej, jeżeli pierwszy czynnik koniunkcji nie będzie prawdziwy sprawdzanie (obliczanie) zostanie przerwane


Operator negacji

! wyrażenie ma wartość true jeżeli czynnik jest mniejszy lub równy ( <= ) 0, natomiast false jeżeli jest większy lub równy ( >= ) 1

if(!a) // w wypadku typu logicznego jeżeli a nie przyjmuje wartości true, w innym wypadku jeżeli a jest równe 0


Operatory bitowe

W Pawn'ie stosowane np do sprawdzania obrażeń.
Wytłumacze tylko te najczęściej używane w amxie. Po więcej zapraszam do tematu R3X'a Operacje bitowe


& bitowy iloczyn logiczny

if(damageBits & (1<<24))


~ bitowa negacja

if(damageBits & ~(1<<24))


Jeżeli popełniłem błędy, krytykowanie mile widziane :)

Użytkownik diablix edytował ten post 31.05.2011 13:13

  • +
  • -
  • 7

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 30.05.2011 23:25

fajne podsumowanie operatorów ;)

podobny temat jest tu: Operatory - AMXX.pl: Support AMX Mod X ale wyłącznie o operatorach relacji
in i dekrementacji są 2 sposoby: a++ czy ++a? - AMXX.pl: Support AMX Mod X

nie wyobrażam sobie takiego tematu bez słowa o skróconej wersji używania operatorów np. +=
  • +
  • -
  • 0

#3 diablix

    emeryt

  • Autor tematu
  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 31.05.2011 12:59

fajne podsumowanie operatorów ;)

podobny temat jest tu: Operatory - AMXX.pl: Support AMX Mod X ale wyłącznie o operatorach relacji
in i dekrementacji są 2 sposoby: a++ czy ++a? - AMXX.pl: Support AMX Mod X

nie wyobrażam sobie takiego tematu bez słowa o skróconej wersji używania operatorów np. +=


Cholera tak myślałem że coś przeocze :kwiaty:
  • +
  • -
  • 0

#4 JLB. Leo

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:180
  • Imię:Paweł
  • Lokalizacja:Bielawa
Offline

Napisano 31.05.2011 18:34

dobre dla początkujących ale pełne nieścisłości...:/

np. jak mamy sprawdzanie zgodności:

if (a==b && a==c)


to program zawsze sprawdza jako pierwsze zgodność warunku po lewej stronie operatora "&&" i wystarczy że tylko ten po lewej jest nieprawdziwy, nie sprawdza reszty tylko zwraca wartość 'false' (upraszczając)

To wbrew pozorom przydatne do optymalizacji, jak mamy kod składający się z X-dziesiąt tysięcy linijek.

Jak wrócę do domciu to dopisze jeszcze pare uwag ;)

PS nie bierz tego do siebie, ogólnie temat potrzebny dla nowych

Użytkownik JLB. Leo edytował ten post 31.05.2011 18:50


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1339
Godlike

  • Postów:3556
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 31.05.2011 18:46

to program zawsze sprawdza jako pierwsze zgodność warunku po lewej stronie operatora "||" i wystarczy że tylko ten po lewej jest nieprawdziwy, nie sprawdza reszty tylko zwraca wartość 'false' (upraszczając)



wlasnie ze nie jesli a bedzie rozne od b to wtedy sprawdzi program czy a jest rowne c i jesli jest to wykona operacje sytuacja ktora opisales to gdyby zamiast || byly &&
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 JLB. Leo

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:180
  • Imię:Paweł
  • Lokalizacja:Bielawa
Offline

Napisano 31.05.2011 18:50


wlasnie ze nie jesli a bedzie rozne od b to wtedy sprawdzi program czy a jest rowne c i jesli jest to wykona operacje sytuacja ktora opisales to gdyby zamiast || byly &&


oj wybacz jestem troche nieświeży po treningu, oczywiście racja

edytuje post

@edit ok juz jest, nie czepiam się

Użytkownik JLB. Leo edytował ten post 31.05.2011 19:03





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych