Gra w życie.

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Gra w życie.

Post autor: player_adax » 22 lut 2016 10:24

Hej wszystkim, jestem początkującym w świecie labVIEW. Pracuję nad projektem automatu komórkowego. Niestety wynik po każdym "dniu" jest różny od oczekiwanego.
Obiektami testowymi są małe oscylatory i figury niezmienne. Ich ewolucja w mojej implementacji zachowuje się w sposób którego nie rozumiem, komórki żywe rozchodzą się promieniście i nie potrafię tego naprawić. Używam instalacji LV 2013.
Załączniki
Projekt LabVIEW_GameofLife.zip
plik projektu do wglądu.
(44.16 KiB) Pobrany 104 razy

Awatar użytkownika
dajpanspokój
Posty: 109
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Re: Gra w życie.

Post autor: dajpanspokój » 23 lut 2016 00:05

Funkcja liczaca sasiadow zle liczy
Sciagnij moja (razem z coerce.vi) i uzyj ich

Te przyciski stopu nie beda działać bo do petli while caly czas wysylany jest ten sam sygnal (False). Wiec ta petla nigdy sie nie zatrzyma. Musisz umiescic kontrolki stopu w srodku petli, wtedy za kazdym razem beda odczytywane.

Zamiast 3 petli while w jednym casie, uzyj jednej petli while i case w srodku. Wtedy sposob wyswietlania symulacji (ktory tez bedzie w petli) bedzie odczytywany za kazdym razem i bedziesz mogl go zmienic bez potrzeby zatrzymania petli
Załączniki
ile sasiednich.vi
(11.13 KiB) Pobrany 97 razy
Coerce.vi
(11.59 KiB) Pobrany 92 razy

Awatar użytkownika
dajpanspokój
Posty: 109
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Re: Gra w życie.

Post autor: dajpanspokój » 23 lut 2016 11:03

Hej
Lepiej ci pomóc dobrze, niż nie pomagać wcale. W twoim rozwiązaniu są dość poważne błędy w architekturze.
Obejrzyj sobie projekt w załączniku i go dokończ zgodnie ze wskazówkami, otwórz Main, nacisnij ctrl+h i poobczajaj co tam jest użyte. Nauczysz sie paru sztuczek
Poczytaj też o maszynie stanów w LabVIEW
Załączniki
Game of Life 2013.rar
(53.37 KiB) Pobrany 106 razy

Awatar użytkownika
skoziate
NI Man
Posty: 243
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Warszawa
Kontakt:

Re: Gra w życie.

Post autor: skoziate » 24 lut 2016 14:46

Zainspirowany postem stworzyłem implementację gry w życie i bonusowo mrówki Langtona przy pomocy Formula Node w LabVIEW. Kto chętny niech pobiera i korzysta.
Załączniki
Logical Games.zip
(65.36 KiB) Pobrany 109 razy
Pozdrawiam,
Sebastian

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Re: Gra w życie.

Post autor: player_adax » 24 lut 2016 21:52

Dziękuję bardzo za dobre rady. Właśnie kończę implementację. Mimo mojego nikłego doświadczenia postaram się dokończyć program.

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Re: Gra w życie.

Post autor: player_adax » 24 lut 2016 22:34

nie wiem dlaczego nie działa mi zapis do pliku, oraz nie mam pomysłu jak zaimplementować zmianę trybu wyświetlania. Jeśli wyrzucę te dwie rzeczy to program działa.
Załączniki
Projekt LabVIEW.zip
(86.62 KiB) Pobrany 99 razy

Awatar użytkownika
skoziate
NI Man
Posty: 243
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Warszawa
Kontakt:

Gra w życie.

Post autor: skoziate » 25 lut 2016 09:12

W projekcie brakuje
gun.vi
oscylatory.vi
zapis do ppm.vi

Dorzuć to zerknę.
Pozdrawiam,
Sebastian

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Re: Gra w życie.

Post autor: player_adax » 25 lut 2016 10:44

już poprawiam paczkę
Załączniki
Projekt LabVIEW.zip
dodane pliki
(79.34 KiB) Pobrany 90 razy

Awatar użytkownika
skoziate
NI Man
Posty: 243
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Warszawa
Kontakt:

Re: Gra w życie.

Post autor: skoziate » 25 lut 2016 11:50

W zapisz do ppm.vi znajduje się pętla while, w którą gdy program wejdzie, to już nigdy nie wyjdzie. Zamiast pętli stosuj strukturę case. Załączam poprawkę.
Załączniki
zapis_do_ppm.png
Pozdrawiam,
Sebastian

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Re: Gra w życie.

Post autor: player_adax » 25 lut 2016 16:03

no właśnie wiedziałem że coś jest nie tak z pętlą. A mogę prosić o jakieś rady do trybu wyświetlania?

Awatar użytkownika
skoziate
NI Man
Posty: 243
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Warszawa
Kontakt:

Re: Gra w życie.

Post autor: skoziate » 25 lut 2016 16:16

Jasne. Najpierw jednak musisz mi wyjaśnić, jak te tryby mają działać. Po pierwsze są to 3 tryby:
1. ciągły
2. iteracja po iteracji
3. co kilka iteracji

Tryb 3. jest dla mnie jasny. Czy możesz wyjaśnić czym różni się 1. od 2. ?
player_adax pisze:no właśnie wiedziałem że coś jest nie tak z pętlą. A mogę prosić o jakieś rady do trybu wyświetlania?
Pozdrawiam,
Sebastian

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Gra w życie.

Post autor: player_adax » 25 lut 2016 17:50

w ciągłym animacja jest "płynna" a w drugim przejście do następnej iteracji jest wywoływane np. przyciskiem "następna iteracja"

player_adax
Posty: 7
Rejestracja: 16 lut 2016 02:37
Wersja środowiska: LabVIEW 2013

Gra w życie.

Post autor: player_adax » 25 lut 2016 21:26

chyba mnie przerósł pomysł, nie działa funkcja zapisująca tablicę do tekstu. Domyślnie chciałbym aby plik byl zapisany w formacie ppm.

Awatar użytkownika
skoziate
NI Man
Posty: 243
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Warszawa
Kontakt:

Gra w życie.

Post autor: skoziate » 02 mar 2016 09:38

Co to znaczy, że nie działa? Wyrzuca błąd, nic się nie dzieje, czy zapisuje, ale nieprawidłowe dane?
Pozdrawiam,
Sebastian

ODPOWIEDZ