Toster Posted December 17, 2007 Report Share Posted December 17, 2007 W linku http://toster.ps.pl/test/StateTests.exe mozna pobrac prosta maszyne stanow, ktora wlasnie testuje... jak sie komus nudzi to zapraszam do zabawy Kod dzieli sie na 2 sekcje (definicji stanow i przejsc) oraz (polecen do przelaczania/resetowania maszyny), musi zaczynac sie od jednj z 2 komend ::NoHashing lub ::UseHashing przelacza to maszyne w jeden z 2 wewnetrznych stanow majacy wplyw na jej predkosc pozniej nastepuje ciag komend w postaci +nazwa stanu ... +nazwa stanu2 nazwy stanow nie powinny zaiwerac znaku '=' oraz ',' i nie moga sie powtarzac bo bedzie buba pozniej zapisuje sie dozwolone przejscia z jednego stanu do drugiego w postaci >stan1,stan2 >Innystan,stan2 pozniej nastepuje slowo ::Execute i zaczyna sie zabawa z maszyna, dostepne sa 2 komendy !stan - resetuje maszyne tak aby wskazywala na poczatkowy stan o podanej nazwie >stan - kaze przelaczyc maszyne na zadany stan maszyna przelaczy sie jesli dodane jest odpowiednie przejscie, tzn dla przykladu mamy 3 stany +Stan1 +Stan2 +Stan2 i przejscia >Stan1,Stan2 >Stan2,Stan3 oznacza to ze po zresetowaniu maszyny na stan1 mozemy wykonac tylko przejscie ze Stan1->Stan2 i nic pozatym analogicznie ze stanu 2->3 Przejscia zawsze sa jednokierunkowe chyba ze dodamy przejscie 2 strony np >Stan1,Stan2 >Stan2,Stan1 Uwaga, nazwy zalez od wielkosci znakow ! (case sensitive) W zalaczonym programi jest przykladowy kod Always Dark<br /> Link to comment Share on other sites More sharing options...
sazian Posted December 18, 2007 Report Share Posted December 18, 2007 widziałem już różne dziwne programy twojego autorstwa ale ten jest wyjątkowo dziwny o co w tym chodzi jeśli zmienię cokolwiek to wyskakuje jakiś babol tylko ten "oryginalnym" kod działa poprawnie głupia ta gra nie umie w to klikać Link to comment Share on other sites More sharing options...
Toster Posted December 18, 2007 Author Report Share Posted December 18, 2007 No bo to nie jest gra Ten program pozawala sprawdzic czy dobrze dziala maszyna stanow i nic poza tym. Napisz to co wrzucasz i zle chodzi moze wlasnie znalazles blad Always Dark<br /> Link to comment Share on other sites More sharing options...
sazian Posted December 18, 2007 Report Share Posted December 18, 2007 biorąc pod uwagę że kompletnie nie wiem o co w tym chodzi to nic dziwnego że błędy wywala ale skoro chcesz przykład KOD::UseHashing +stan1 +stan2 +stan3 +stan4 >stan1,stan2 >stan1,stan3 >stan2,stan3 >stan2,stan4 ::Execute !stan1 >stan2 >stan3 >stan4 Link to comment Share on other sites More sharing options...
Toster Posted December 18, 2007 Author Report Share Posted December 18, 2007 Ok juz tlumacze od sekcji execute kazesz ustawic stan na stan1 - ok pozniej skaczesz do stanu2 - ok (dodales przejscie >stan1,stan2 wiec to przejscie jest dozwolone) maszyna jest w stanie2 kazesz przejsc do stanu3 - ok (dodales przejscie >stan2,stan3 wiec to przejscie jest dozwolone (jestes teraz w stanie2) po tej komendzie maszyna jest w stanie3 kazesz przejsc do stanu4 - blad, jestes w stanie3 i kazesz zrobic przejscie stan3->stan4, ale to przejscie jest nielegalne, nie dopisales takiej mozliwosci. Z twoich regul wynika że ze stanu3 nie mozesz przejsc juz do innego stanu. czyli wszystko jest ok Always Dark<br /> Link to comment Share on other sites More sharing options...
Force Posted December 18, 2007 Report Share Posted December 18, 2007 Proponuje zmienić składnie deklaracji na możliwe przejścia Wywaliłbym deklaracje jakie stany się będzie używać. To znaczy zależy gdzie użyjesz tę maszynę, bo w tym przykładzie wystarczy aby maszyna przy zasadach widziała, że jakiegoś nie ma to go sobie doda. I może lepiej aby reguły przejść były takie stan1 -> stan2,stan3,terminator stan2 -> stan3,terminator stan3 -> stan1, stan4 stan1 -> stan4 stan4 -> terminator Ogólnie, że pisze się po lewej stronie skąd, a potem po przecinkach dokąd. I jeszcze, że definicje przejść można kilka razy z tego samego stanu definiować (tak jak teraz już jest). A terminator to taki bonus co oznacza zakończenie. Baza tysięcy lotnisk: http://airportsbase.com Link to comment Share on other sites More sharing options...
TSr Posted December 18, 2007 Report Share Posted December 18, 2007 Tylko po co mieszać w programie testowym? Maszyna działa i to jest najważniejsze. Tutaj jest coś o maszynie stanów zastosowanej w Panda 3D (taki silnik do pisania gier) http://www.panda3d.org/wiki/index.php/Finite_State_Machines - strona niestety chwilowo nie działa. Ubuntu.pl user #10593 Link to comment Share on other sites More sharing options...
Force Posted December 18, 2007 Report Share Posted December 18, 2007 Wydaje mi się, że nie zaimplementowałeś jednej rzeczy, choć może się, mylę. Jak sie dodaje nowe przejście przydało by się też aby można było dać wskaźnik na czynność jaka ma się wykonać, jako procedura, że ma info skąd dokąd było przejście, to może się przydać Baza tysięcy lotnisk: http://airportsbase.com Link to comment Share on other sites More sharing options...
Toster Posted December 18, 2007 Author Report Share Posted December 18, 2007 Tsr -> True Force -> True Wlasnie pisze bardziej rozbudowany model tej maszyny tak aby dawalo sie podpinac eventy, bo w tej chwili to jest sam rdzen. Parser jest idiotycznie prosty ale tylko po to jak Tsr zauwazyl aby sprawdzic czy wszystko jest ok, bo w obecnej postaci to jej przydatnosc jest niska. Ale spoko wodza, dzisiaj wprowadze ja na nowy poziom.... Always Dark<br /> Link to comment Share on other sites More sharing options...
Dexarz Posted January 11, 2008 Report Share Posted January 11, 2008 I co są rezultaty ??Czeakam ,bo program dosyć ciekawy ,tylko dziwny Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link to comment Share on other sites More sharing options...
Toster Posted January 11, 2008 Author Report Share Posted January 11, 2008 mozna zaciagnac razem z DeDo Always Dark<br /> Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.