NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: matter-js - jak vytvorit zaviratelnou branu

V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:14.6.2024 10:21

https://mlich.zam.slu.cz/…l-sorter.htm#…

Zkousim vytvorit serazovani kulicek podle barvy v enginu matter-js. viz link. Problem je, ze s matter si hraji treti den a s timto nemam moc zkusenosti.

Potreboval bych vytvorit neco jako branu, ktera bude poustet kulicku po kulicce podle podminek na ostatnich branach.
Vzdy dve brany budou provazane a pusti se kulicka podle podminky, ze je tezsi. A takhle postupne vysype vsechny kulicky ze zasobniku (1 a 1 kulicka). Totez na dalsim stupni, kde budou 2 a 2 kulicku. A na konci 4 a 4. Takze, v nadobe budou kulicky pak serazene.
Brana by mela fungovat tak, ze ma cidlo, zda je tam kulicka. Cili, treba senzor dotyku na zemi. Mela by byt zavrena, dokud se nevysypou vsechny kulicky z nadrazenych bran. Mela by pustit vzdy jen jednu kulicku. A porovnat hmotnost zleva a zprava.

Zkusil jsem: Prvne jsem zkousel z prikladu katapult lavicku. Ale brzo mi doslo, ze to sice funguje skvele na 1 a 1 kulicku (kdyz to necham vlastni vahou spadnout a nastavim airFriction, ze jedna pada pomaleji). Ale, kdyz jsou 2 a 2 v rade, tak se pri prevazeni sesypou vsechny kulicky z te rady, coz je nezadouci. Je nutne porovnat kazdou v poradi.
Koukal jsem na priklady se senzors a colission. Zkusim to podle toho udelat. Ale, kdyby mel nekdo vetsi zkusenosti a poradil lepsi reseni, nebranim se.

Chci docílit:

.\o...|....o/
..\o..|...o/
...\x..|.x/

o kulicky
\  / stena
x brana

Brany na leve a prave strane rozhodnou, ktera kulicka je tezsi a tu pusti dal. Na chvilku se leva nebo prava brana otevre a pusti kulicku. A pak se opet zavre a znovu se rozhoduje, zda je tezsi ta napravo nebo nalevo.

Je to princip serazovaci algoritmu sorted-list-merging-sort. Nebo take tournament-sort. Ze dvou souperu vitez postupuje do dalsiho kola jako prvni.

 
Odpovědět
14.6.2024 10:21
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.6.2024 14:33

Podarilo se mi to uz vyresit, viz link v dotazu. Neni to uplne, jak jsem chtel, ale i takto je to pekna ukazka sortovani :)

 
Nahoru Odpovědět
20.6.2024 14:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.