Skocz do zawartości

Uzjel

Administratorzy
  • Postów

    2 015
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    15

Odpowiedzi opublikowane przez Uzjel

  1. Chciałem podrzucić przykład, który sam zrobiłem prawie 14 lat temu :D Ale coś się nam z pobieraniem zepsuło, no i nie wiem czy @gnysek konwertował na nową wersję GMa. W każdym razie tak jak gnysek napisał + przeliczenie za ile klatek doleci pocisk do przeciwnika w danej pozycji. Nie jest to oczywiście 100% gwarancja celności, bo obiekt może zmienić kierunek, ale jest to jakiś punkt wyjścia. 

  2. Ja używam prawie codziennie, ale trochę do innych rzeczy. Sprawdzam, czy kod można zoptymalizować i generuję prostą dokumentację. Przykład

     

    //Opisz proszę ten kod, jest w języku GML: 
    
    //Zwraca listę drzwi w postaci ds_mpay
    
    function scan_entrances(_doors,_list){
    	var _check = 0b_10000
    	
    	for(i=0;i<5;i++)
    	{
    		if _doors & _check > 0
    		{
    			ds_list_add(_list,i)
    		}
    		_check = _check >> 1
    	}
    	
    	return _list
    }

     

    Rezultat:

    Ten kod w języku GML definiuje funkcję o nazwie scan_entrances, która przyjmuje dwa argumenty: _doors i _list. Funkcja ta zwraca listę drzwi w postaci ds_list.

    Poniżej znajduje się krótkie objaśnienie poszczególnych linii kodu:

    1. var _check = 0b_10000 - tworzy zmienną _check i przypisuje do niej wartość binarną 0b_10000, czyli dziesiętnie 16. Ustawienie tej wartości pozwala na porównanie poszczególnych bitów zmiennej _doors.

    2. for(i=0;i<5;i++) - rozpoczyna pętlę, która wykona się pięć razy.

    3. if _doors & _check > 0 - sprawdza, czy wartość zmiennej _doors po AND z _check daje wynik większy niż 0. Wykorzystanie operatora AND (&) pozwala na porównanie poszczególnych bitów. Jeśli wynik jest większy niż 0, to oznacza, że bit dla aktualnie sprawdzanego drzwi jest ustawiony na wartość 1.

    4. ds_list_add(_list,i) - jeśli warunek w linii 3 jest spełniony, to dodaje wartość i do listy _list. Wartość ta oznacza indeks drzwi, które są otwarte.

    5. _check = _check >> 1 - po każdej iteracji pętli przesuwa wartość _check o jeden bit w prawo. Dzięki temu następna iteracja pętli porówna kolejny bit w zmiennej _doors.

    6. return _list - zwraca listę _list, zawierającą indeksy otwartych drzwi.

    Podsumowując, funkcja scan_entrances służy do skanowania zmiennej _doors, która przechowuje informacje o stanie otwarcia pięciu drzwi. Funkcja zwraca listę zawierającą indeksy drzwi, które są otwarte.

  3. 907! Tyle zgłoszeń ostatecznie pojawiło się na konkursie organizowanym przez Operę, YYG i Game Jolt. W tym stadzie gierek znajduje się kilka produkcji waszych GMClanowych kolegów, którzy naprawdę bardzo by się cieszyli z każdego lajka i komentarza pod ich pracą.

     

    Pod linkiem znajduje się playlista gierek GMClanowiczów, które udało mi się zebrać, jeżeli ktoś jeszcze chciałby się pochwalić to z chęcią dodam więcej gier. 

     

    https://gamejolt.com/playlist/gx-polskie/435083

     

    Zagrałem w ponad połowę gier, które są dołączone do konkursu (szkoda, że po 200 dopiero zacząłem dodawać do playlisty). Stworzyłem playlistę "Warto zagrać", abyście wy nie musieli szukać fajnych produkcji w stogu gierek, których celem jest zabicie gracza w 1 sekundę po odpaleniu poziomu ;) Na razie jest 38 tytułów, ale będę sukcesywnie aktualizował listę.

     

    https://gamejolt.com/playlist/gx-warto-zagrac/435262

     

    Dajcie znać jacy są wasi faworyci!

     

     

  4. Ogólne spostrzeżenia:

    • Górna belka fajnie poszła w minimalizm
    • Im niżej się schodzi tym ciężej dla oka się robi
    • Artykuły wyglądają świetnie
    • Menu rozwijane również świetne
    • Te skróty bardzo obciążają wizualnie całość
    • O sekcjach już się nie wypowiem, bo inni powiedzieli co myślą ;)

    Czekam na więcej szkiców ;) 

×
×
  • Dodaj nową pozycję...