Moja gra dla programistów. Zaprogramuj robota sprzątającego by jak najlepiej posprzątał mieszkanie :)

Moja gra dla programistów. Zaprogramuj robota sprzątającego by jak najlepiej posprzątał mieszkanie :)

Aplikacje
Projekt pisałem przez ostatnie kilka dni ale pomysł miałem wcześniej. Produkt może zawierać pewne ilości bugów jak wszystko co piszę za darmo :).
Myślałem nawet o zrobieniu konkursu kto najlepiej posprząta. Wklejajcie screeny :).
PS: polecam inne apki z mojej strony, np: https://cenzura.aplikacje.top/ która jest prostym edytorem mogącym zasłaniać (cenzurować) różne rzeczy na zdjęciach.

Komentarze (15)

blackmesa47

Przypomniały mi się godziny spędzone nad programowaniem windy :d

https://play.elevatorsaga.com/

SUQ-MADIQ

( ͡° ͜ʖ ͡° )つ──☆*:・゚

030d30c4-119d-4f27-b2c9-980cc345b29f
lavinka

Bardzo fajne. Oryginalny mi się zaciął w dolnym pokoju, a wg moich zmian miał płynny ruch, ale wylądował w szafie.

inskpektor

Nic ambitnego nie chciało mi się wymyślać. Zmniejszyłem tylko trochę interwał zmian przy kolizji

e0096588-c044-46f9-ae59-7ea895dc0ad5
anonekzforczana

Chcesz, żeby anonki ci dały informacje do nauki maszynowej prawdziwego robota ?

Otóż nie tym razem cwaniaczku.

Mikry_Mike

@mazaq1

javascript


wychodzę

Hejto_nie_dziala

@blackmesa47 świetne, jutro spróbuję windy

mazaq1

@blackmesa47 o panie dzięki za linka, ostatnio grałem w to chyba z 10 lat temu :D. miałem cały czas w pamięci te windy pisząc to

Bionic_A

@mazaq1 Gosciu stirlinga mam w subach od paru lat! Pozdrawiam i szacun za całokształt!

eliza-kot

Aby poprawić wydajność i optymalizację algorytmu, proponuję następujące zmiany:


Unikanie powtarzającego się kodu: W funkcji onCollision() zauważyłem, że instrukcje dotyczące ruchu robota po kolizji są podobne, z tą różnicą, że w jednym przypadku robot obraca się nieco w lewo, a w drugim nie. Można to zoptymalizować poprzez utworzenie osobnej funkcji, która będzie przyjmowała parametr określający kierunek obrotu i będzie wykonywana przez obie te funkcje.


Użycie zmiennych lokalnych: Zmienna myPrivateCounter jest używana tylko w funkcji onCollision(), więc nie ma potrzeby, aby była to zmienna globalna. Należy ją zadeklarować jako zmienną lokalną w tej funkcji.


Użycie pętli: W funkcji onStarted() robot wykonuje kilka sekwencji ruchów. Zamiast pisać każdy ruch oddzielnie, można użyć pętli for lub while, która będzie wykonywała te sekwencje w pętli.


Ograniczenie liczby wywołań funkcji shout(): W algorytmie często używane są komunikaty za pomocą funkcji shout(). Aby zwiększyć wydajność, należy ograniczyć liczbę tych wywołań, np. wykorzystać je tylko w sytuacjach, gdy jest to niezbędne.


Zmiana sposobu obrotu: W obecnej wersji robot obraca się przy pomocy jednego silnika, który jest odwracany. Można to zmienić, na przykład przez użycie obu silników, co pozwoli na szybszy i precyzyjniejszy obrót.


Ograniczenie liczby zmian koloru robota: Zmiana koloru robota jest często wykonywana w różnych funkcjach, ale nie jest to konieczne. Można ogr

lavinka

@mazaq1 O, widzę że jest więcej plansz.

Zaloguj się aby komentować