Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Operacje na zmiennych
autor: gnysek (5.11.09)
W Game Makerze wyróżniamy dwa typy zmiennych:

1) Zmienne liczbowe (real) - są to po prostu liczby rzeczywiste, np. a = 5, a=17.32, a = $A1 (szesnastkowo 161);

2) Łańcuchy tekstowe (string) - są to zmienne zawierające tekst, np. a = 'tekst';

Należy jednak zauważyć, że a=5 to nie to samo co a='5', gdyż tekst nie jest liczbą i na odwrót i tych dwóch typów nie wolno bezpośrednio ze sobą porównywać.

Do zamiany liczby w tekst służy funkcja string(), do zamiany tekstu w liczbę służy funkcja real(), jednak tekst taki może zawierać tylko cyfry, znak minus, kropkę oddzielającą część dziesiętną oraz znak wykładniczy E (np. 1.E+1), bez liter i innych znaków.

Istnieje również wiele funkcji pozwalających na bardziej zaawansowane działania na zmiennych, skupię się jednak tylko na operatorach.

Operacje na łańcuchach tekstu:

Na tekście możemy dokonać dwóch operacji:

1) Konkatenacja, czyli łączenie tekstów: np. a = 'xxx' + 'yyy', a+='xxx';

2) Konkatenacja tekstu z samym sobą określoną ilość razy, np. a = 5 * 'x' zwraca 'xxxxx';


Operacje na liczbach:

Na liczbach można wykonać następne operacje:

Dodawanie: a=5+7; a=a+5, a+=5;

Odejmowanie: a=5-7; a=a-5; a-=5;

Zmiana znaku na przeciwny: a = -a;

Mnożenie: a=5*7; a=a*7; a*=7;

Dzielenie: a=5/7; a=a/7; a/=7; (nie można dzielić przez 0!)

Dzielenie całkowite div (dzielenie bez reszty / z zaokrągleniem w dół): a = 7 div 3 (7 div 3 = 2, bo 7/3 = 2, reszty 1);
Wynikiem dzielenia całkowitego jest zawsze liczba całkowita.

Reszta z dzielenia modulo : a = 7 mod 3 (7 mod 3 = 1, bo 7/3 = 2 reszty 1);
Reszta z dzielenia x mod y jest zawsze liczbą z zakresu od 0 do y-1.

Porównania:
Do porównań funkcji służą następujące operatory:
>, >=, ==, !=, <> , <, <= : większe, większe równe, równe, nierówne, różne, mniejsze, mniejsze równe

W Game Makerze nie ma funkcji post/pre-inkrementacji oraz post/pre-dekrementacji, które występują w innych językach.


Operacje logiczne:

W operacjach logicznych rozróżniamy dwie wartości: true, false. Wartość true (prawdę) oznaczają wszystkie liczby > 0, oraz stała true, wartość false (fałsz) oznaczają wszystkie zmienne <= 0 oraz stała false. Wykorzystywane są głównie do operacji warunkowych (if, while, etc.)

Rozróżniamy następujące operacje logiczne:

&&, and: prawdziwa, gdy wszystkie wartości wyrażenia mają wartość true, fałszywa w pozostałych przypadkach, np. 7 and 14 to prawda, 7 and -1 to fałsz.

||, or: prawdziwa, gdy co najmniej jedno wyrażenie jest prawdziwe, fałszywe tylko gdy wszystkie są fałszywe, np. 7 or -1 to prawda, 0 or -1 to fałsz.

^^, xor: prawdziwa, gdy oba argumenty są sobie przeciwne, fałszywa, gdy są takie same, np. 7 xor -1 to prawda, 7 xor 14 to fałsz

!: negacja, zamienia prawdę w fałsz i na odwrót, np. x = !7 to fałsz, x = !0 to prawda, x = !x zamienia prawdę w fałsz i na odwrót



Operacje bitowe:

Operacje bitowe to operacje, które zachodzą bezpośrednio na bitach liczby w systemie dwójkowym, np. liczba 12 to binarnie 1100.

>> : przesunięcie podanej ilości bitów w liczbie w prawo, poprzez usunięcie bitów na najmłodszej pozycji i dopisanie zer na najstarszej
np. 12 >> 1 to 6, 12 >> 2 to 3 (bo 1100 >> 1 = 0110 czyli 6, 1100 >> 2 = 0011, czyli 3)
Przesunięcie bitów w prawo o 1 jest równoznaczne z operacją dzielenia przez 2.

<< : przesunięcie podanej ilości bitów w liczbie w lewo, poprzez usunięcie bitów na najstarszej pozycji i dopisanie zer na najmłodszej
np. 12 << 1 to 24, 12 << 2 to 48 (bo 1100 << 1 = 1 1000 czyli 24, 1100 << 2 = 11 0000, czyli 48)
Przesunięcie bitów w lewo o 1 jest równoznaczne z operacją mnożenia przez 2.

|, &, ^ : operacje or,and,xor na bitach liczby
12 | 3 = 15, bo 1100 | 0011 = 1111
12 & 4 = 4, bo 1100 & 0100 = 0100
5 ^ 3 = 6, bo 0101 ^ 0011 = 0110

~: negacja bitowa liczby, np. ~12 = -13, bo 12 = ~0000 0000 ... 1100 = 1111 1111 ... 0011 (zmieniany jest także bit parzystości, liczby w GM mają 8 bajtów, od -9223372036854775808 do +4611686018427387904, dla których oznaczenie INF (nieskończoność) nie pozwala na operacje dodawania / odejmowania)

**********

Funkcje takie jak potęgowanie, pierwiastkowanie, logarytmowanie etc. wykonywane są przez funkcje wbudowane w Game Makera, nie są jednak operatorami, więc do ich poznania polecam lekturę dokumentacji programu.
głosów: 5 | ocena: 6.40 oceń zasób | dodał: gnysek
Komentarze
stron: 21

2


av

MagnusArias (18:13, 25.03.2010)

A czy w operacjach logicznych, wykrzyknika nie można zamienic cząstką"not" ? no zamiast "if !instance_exists", to "if not instance_exists"

av

Makary155 (13:30, 26.03.2010)

! - not
&& -and
|| -or.

stron: 21

2



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
4 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 3, userów: 1, ukrytych: 0
ANtY
Użytkownicy na czacie discord
Wojo (10:48, 16.10.18):
www.youtube.com...h?v=XhmsV_IBles tutaj masz jakieś wyjaśnienia
I am Lord (9:18, 16.10.18):
swędzenie ni występuje po przedwakowaniu kofeiny tylko beta alaniny, na niektórych w tym mnie bardzo negatywnie to wpływa
I am Lord (9:17, 16.10.18):
ale ten filmik jest pocięty i moco zmanipulowany, obejrzyj full 5 minutowy wywiad i tam sprawia wrażenie normalnego tylko lekko nabuzowanego i tyle
MaxGaming (1:49, 16.10.18):
Osoby które nie mają doczynienia z mefedronem itp nie mają pojęcia że tu nie chodzi tylko o te jego drapanie po nosie czy oczy. Chodzi nawet o sposób ekspresji emocji. A raczej nadekspresji w taki bardzo nie typowy sposób. Jak to wyjąsnić? No najlepiej obejrzyjcie ten filmik z adbusterem bo to przykład 1:1
MaxGaming (1:47, 16.10.18):
natomiast na 90% mogę stwierdzić że ćpał
MaxGaming (1:46, 16.10.18):
jedno w tym wszystkim jest pewne - prawdy nie da się udowdnić, ani że był trzeźwy ani że ćpał
MaxGaming (1:46, 16.10.18):
mój kolega który nigdy nie brał amfetaminy a palił codziennie trawę na badaniach na mocz miał amferaminę ktorej nigdy w życiu nie brał i thc nie wykryto
MaxGaming (1:45, 16.10.18):
kolejna sprawa to jakość tych testów... miałem kiedyś robione testy na mocz dzień po paleniu trawy. THC ku mojemu zaskoczeniu nie wyszło wcale
MaxGaming (1:45, 16.10.18):
i czy serio oni robili wgl testy na rcki czy tylko narkotyki tradycyjne?
MaxGaming (1:44, 16.10.18):
co więcej są rcki na które nawet nie ma testów jeszcze
MaxGaming (1:44, 16.10.18):
nie wychodzi za bardzo w moczu. Ludzie donoszą że nawet dzień po nie ma śladu w moczu, po tylu dniach nie ma opcjo na pewno
MaxGaming (1:44, 16.10.18):
z ciekawości sprawdziłem, jesli już weźmiemy testy które obejmują RCki, do tego dodamy że to tylko najpopularniejsze to... najbardziej osławiony 3mmc(aka mefedron) jest do wykrycia w praktyce do 3 dni(testy drugie były robione bodaj po 10 dniach a przed walką to wiadomo...), ale już dzisiaj niemal równie popularny 4cmc(to nie mefedron ale sprzedają go jako mefedron bo działa tak samo a do niedawna był legalny - mefedron od wielu lat nie jest)
MaxGaming (1:24, 16.10.18):
to nie jest do końca takie proste, od zawsze przedtreningówki budzą kontrowersje. Na pewno żadna ilośc kofeiny tak nie robi
MaxGaming (1:23, 16.10.18):
pamiętajmy że kiedyś legalnie w przedtreningówkach stosowano eufedrynę dzisiaj uważaną za narkotyk, a leki z pseudefedryną(praktycznie zerowy efekt psychoaktywny w stsunku do efedryny) są ograniczone w sprzedaży
MaxGaming (1:21, 16.10.18):
nawet jedząc. Nie trzeba wcale walić w nos nawet
MaxGaming (1:21, 16.10.18):
jego oczy są porobione jak nie wiem. Wojo czerwone oczy są po trawie nie po takich rzeczach. Uwierzcie że doskonale wiem jak człowiek się zachowuje po takich rzeczach i jakie ma oczy. Testy na narkotyki wykryją amfę ale jej nawet nikt nie stosuje. Nie wykryje za to np 3mmc, 4mmc, 3cmc, 4cmc, hexenu.... mam wymieniać dalej? Każdy z tych środków działa dokładnie jak na filmiku. Jest tego tyle że nie można sobie wybierać i przebierać. Każdy z nich można zażyć po prostu w płyni
I am Lord (0:09, 16.10.18):
Co ciekawe też pod nosem mnie najbardziej swędziało i tam często próbowałem się drapać
I am Lord (0:08, 16.10.18):
dodajmy do tego adrealinę w kosmicznych ilościach u niego
I am Lord (0:07, 16.10.18):
trzymało mnie dobrą godzinę, myślałem że umrę
I am Lord (0:06, 16.10.18):
wszystko przez to zasrane swędzenie które czujesz pod skóra i drapanie na nie nie pomaga
I am Lord (0:06, 16.10.18):
mi tak ryj też wykręcało jak napalmshota przedawkowałem, a to była dawka tylko dwukrotna
Wojo (22:18, 15.10.18):
A adbuster się po prostu popisywał przed kamerami
Wojo (22:14, 15.10.18):
To, że oczy mi się robią czerwone (zwłaszcza zimą) to nie jest wina narkotyków (ani przedtreningówek)
Wojo (22:13, 15.10.18):
Mnie cały czas podejrzewają o branie narkotyków ludzie, którzy mają o tym nikłe pojęcie
Wojo (22:12, 15.10.18):
Ale co wy w ogóle opowiadacie, w życiu nie widzieliście naćpanego człowieka. Spójrzcie na jego oczy, są one normalne. To, że robi z siebie głupa i jest pobudzony wygraną i przedtreningówkami to jest inny temat
Ignatus (21:06, 15.10.18):
Trenując 20 lat na siłowni testowałem chyba wszystkie przedtreningówki na rynku- żadna nawet w podwójnej dawce nie porabia tak jak Adbustera- naćpany jest jak z podręcznika, zresztą widziałem wszystkie jego filmiki-totalnie inaczej się zachowuje normalnie
MaxGaming (16:03, 15.10.18):
a to czy on wrąbał mefę albo inny rcek do przedtrenigówki i wypił czy walnął w nos to wszystko jedno. Raczej dziwne gdyby walnał w nos bo spożycie oralne cechuje się tym że działanie trwa od kilkudziesięciu minut do kilku godzin a noski działają maksymalnie kilkadziesiąt minut, no może godzinkę zależy co wiadomo
MaxGaming (16:02, 15.10.18):
każdy kto widział kogoś po mefie ten z kilometra rozpozna co z tym typem jest
MaxGaming (16:02, 15.10.18):
nieźle lata ta szczęka, niezłe oczka a zachowanie wgl. Na pewno przedtrenigówka standardowa Na kofeinie na pewno
MaxGaming (16:00, 15.10.18):
ale gdzie duch sportu? Naćpany że ledwo co mówi i cieszy się że zwyciężył
MaxGaming (15:59, 15.10.18):
i jest problem. ale to jest problem że ciężko zakazać wszystkiego bo jest tyle stimów że nie da się nawet tego ogarnąć
MaxGaming (15:59, 15.10.18):
tylko potem zawodnikowi pikawa za którymś razem pada
MaxGaming (15:59, 15.10.18):
w lidze amatorskiej najcześciej to legalne co jest najśmieszniejsze
MaxGaming (15:58, 15.10.18):
znam ludzi którzy walczą amatorsko z takimi przedtrenigowkami zaprawianymi RCekami
MaxGaming (15:58, 15.10.18):
Wojo wiem co mówię, on był naćpany jak meserszmit. Ta przedtreningówka to conajmnej z 3mmc była haha
I am Lord (11:37, 15.10.18):
rafonix chyba go jeszcze tam wyzwał jak go magicala na noszach zawijali
Wojo (9:46, 15.10.18):
i nie byl pod wplywem narkotykow tylko co najwyzej emocji oraz ewentualnie przedtreningówek
Wojo (9:46, 15.10.18):
niepotrzebnie wysmiewal binkowskiego
MaxGaming (23:25, 14.10.18):
ten jego wywiad, ja nie wiem ile on tej nocy skonsumował narkotyków ale powinni zrobić anty doping nawet jeśli to freak fight w stylu reality show a nie sportowe wydarzenie
MaxGaming (23:25, 14.10.18):
Adbuster naćpany tak że to była porażka
MaxGaming (23:04, 14.10.18):
dobrze pociśnięta ta walka z magicalem, 40 sekund i połamany a 4lata spiny
MaxGaming (23:03, 14.10.18):
ale z rafonixa psychopata
MaxGaming (19:30, 11.10.18):
ale nie takie było pytanie
MaxGaming (19:30, 11.10.18):
Da się konfigurować php.ini dla subdomeny? Wrzucene pliku php.ini do katalogu subdomeny nie działa. Obsługa technicna odpowiedziała po prostu że zmiany dokonywane w php.ini przez directpael są przeprowadzane dla całej domeny
MaxGaming (19:13, 11.10.18):
? haha
I am Lord (18:52, 11.10.18):
Sorry ale chodziło mi o zdjęcie z tą kulką papieru
MaxGaming (15:52, 11.10.18):
nie no jeśli chodzi o to w sidebardze no to nieźle wyszłeś, przyznaję
MaxGaming (15:52, 11.10.18):
Johny Depp przy Tobie to zwykły nerdziak haha
ANtY (6:44, 11.10.18):
to w sidebarze? xDD
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2018 {=|=} fable_inside();

[ Czas generowania strony: 0.02115 sekund ] [ Liczba zapytań MySQL: 13 ]