Skocz do zawartości

Raalsky

Użytkownicy
  • Postów

    52
  • Dołączył

  • Ostatnia wizyta

O Raalsky

  • Urodziny 21.04.1996

O mnie

Osiągnięcia Raalsky

Smart Newbie

Smart Newbie (2/13)

0

Reputacja

  1. Amaterasu, fajnie, na to to ja też wpadłem. Problemem stało się dla mnie przekształcenie tekstu. Potrzebowałbym znać podmiot, orzeczenie, synonimy danego słowa oraz najlepiej przekształcić to potem na bezokoliczniki lub id nadrzędnego słowa (bezokolicznika czy mianownika). Ma ktoś może bazę (nawet dość małą) synonimów w hierarchizowanej formie?
  2. Rozpoznawanie mowy już mam. Potrafię słuchać, ale nie rozumieć, co słyszę.
  3. Witam Poszukuję materiałów nt. przetwarzania języka naturalnego. Chciałbym stworzyć coś na podobieństwo Siri czy S-Voice jednak przeznaczeniem jest tutaj system sterowania domem. Jestem w stanie przetwarzać mowę na tekst z dość dobrymi wynikami oraz odczytywać odpowiedzi. Tekst jest już posegmentowany i poprawny ortograficznie. Poniżej coś, co chciałbym ostatecznie otrzymać: - Ustaw budzik na godzinę 6:30 - [budzik został nastawiony] - Obudź mnie o godzinie 6:30 - [budzik został nastawiony] itp. Mając grupę formuł czyli np. odnajdowanie czegoś, budzik itp. Chciałbym wyciągnąć kontekst i wymagane informacje niezależnie od formy zadanego pytania/polecenia. Google daje krótkie materiały lub odsyła do stron z ofertami zaprojektowania tego typu rozwiązań. Pozdrawiam i liczę na skromne podpowiedzi.
  4. A jaka jest różnica pomiędzy padem, a joystickem? (nie, nie w wyglądzie). Jakieś gałki, jakieś przyciski itp. Wszystko znajdziesz w eventach. Nie ma dla GM'a różnicy czy korzystasz z Joystick'a czy Pada
  5. Poszukuję ciekawszych artykułów na temat tworzenia silnika fizyki 2D/3D. Zależy mi głównie części teoretycznej jak radzić sobie z różnymi wektorami sił działających na ciało i implementację tego ewentualnie najlepszą strukturę danych. Język polski/angielski. Myślę, że temat przyda się innym.
  6. Tablica ma ograniczenie z tego powodu, że w pamięci przechowywana jest jako szereg komórek. Czyli tablica o rozmiarze n=10 zajmie w pamięci 10 kolejnych miejsc. System nie zawsze może znaleźć wystarczającą ilość wolnego miejsca i to sprawia, że mamy ograniczenia dla tablic. Najbezpieczniejszy rozmiar tablicy to coś koło 10^6. Listy wyglądają tak, że kolejne jej elementy trzymają się za rączki :D. Mamy element oraz wskaźnik na następny element tej listy, który może być w dowolnym miejscu w pamięci. Dlatego ograniczeniem dla list jest wyłącznie ilość pamięci jaką posiadamy. @down: Luzik, porównałem tylko zwykłą tablicę, a listę.
  7. Musiałbyś tutaj wykorzystać metrykę miejską, tzn. obrócić punkt o 45* otrzymując, że poruszanie się "izometryczne" stanie się normalnym. Musimy pamiętać o obracaniu przy każdym przemieszczeniu się. Nie mam tutaj GM'a więc nie mam jak tego pokazać. Mogę jednak jeszcze dodać miły wzorek na obrót punktu o 45*: x=x-y; y=x+y; Musisz trochę pokombinować z tym.
  8. To może lepiej jak nie lubisz pisać: Utwórz sprita pomniejszonego o 1px w każdą stronę czy jak tam chcesz i użyj go jako maski dla danego obiektu -> Masz to jako pole wyboru poniżej wyboru obrazka. Nie pamiętam czy GM dysponuje jakimś systemem tworzenia nowych obrazków i transformacji ich, bo można by wtedy wykorzystać raczej niezbyt skomplikowany kod, aby każdy wybrany obiekt od razu miał tak utworzoną klasę. @down: aaaa.... bo to tylko dla prostokątów...
  9. Witam Mam w C++ dość doświadczenia, aby przejść trochę dalej i wybrać jakąś bibliotekę "okienkową". W Pythonie używałem kiedyś GTK, ale podobno w C++ jest dość niekomfortowy na początek. W C++ myślałem o Qt, ale jakoś mi się nie podoba. Czy macie jakieś inne propozycje lub czy moglibyście wymienić swoje doświadczenia związane z GTK lub Qt? Dodam, że programuję pod Ubuntu z Gnome 3. Pozdrawiam
  10. GML t = true; zmienna = t*wartosc1+!t*wartosc2; t = !t; :-] Teoretycznie powinno działać. W C/C++ siedzę ostatnio, a tam raczej coś podobnego zadziała. Nie wiem tylko czy false interpretuje jako 0, a true jako 1. Jeśli tak to taki mój "smaczek".
  11. Zdarzenie kolizji wywołuj się tak szybko jaki masz room_speed cały czas jeżeli maski dwóch obiektów mają wspólne punkty. Możesz to wykorzystać sprawdzając wtedy pozycję obiektów.
  12. Miodnie. Tak, wiem co oznacza inline. Znam też klasy. Po prostu zbyt mało o strukturach znalazłem materiałów i nie wiedziałem jak głęboko sięga to utożsamianie się z klasami. Znasz jakiś dobry kurs średnio zaawansowanego C++? Uczyłem się z: http://cplusplus.com/files/tutorial.pdf ,jednak przyda się jeszcze jakieś materiały.
  13. Ja nie mówię, że to źle działa. Problem nie był z samym "this", ale z kolejnością definiowania struktur. Podałem poprawnie działający kod. Problem jest taki: struct a; struct b { a * parent; void bla( a * p ) { p->val = 4; }; }; struct a { int val; b * son; } I tutaj będzie problem. Bo, aby uniknąć problemów to najpierw definiuję tylko "wspomnienie" o strukturze A. Potem W strukturze B używam wskaźnika na A oraz mam metodę, która używa jakiejś właściwości z A, którą dopiero definiuję później. Czy jest możliwość, aby najpierw zdefiniować tak jakby część struktury, a potem dopisać do tego całą resztę? @up: spokojnie, użyłem tego szukając błędu. Poprzedni fragment wyglądał tak jak powinien "p->parent".
  14. Okej, problem leży trochę w innym miejscu. Daję pełny kod: #include <iostream> #include <vector> using namespace std; //Opakowanie strutkur w przestrzeń nazw "world" namespace world { //Preinformowanie kompilatora o użytych strukturach struct stTown; struct stHouse; struct stMan; //Struktura ulicy struct stStreet { //Nazwa ulicy string name; //Wektor wskaźników na domy vector<stHouse *>house; //Miasto do którego przynależy stTown * parent; //Konstruktor stStreet( string tName , stTown * p = NULL ) { name = tName; parent = p; }; }; //Typ do przechowywania informacji o płci danej osoby enum enSex { MALE , FEMALE }; //Struktura miasta struct stTown { //Każde miasto ma swoją nazwę np. "Warszawa" string name; //Wektor wskaźników na ulice vector<stStreet *>street; //Konstruktor stTown ( string tName ) { name = tName; }; //Dodawanie ulicy void push_street( stStreet * p ) { street.push_back( p ); street.back()->parent = this; } //Usuwanie ulicy void pop_street( stStreet * p ) { vector<stStreet *>::iterator it; int i; for( i=0; i<street.size(); i++ ) { if( street[i] == p ) break; } it = street.begin()+i; street.erase(it); } }; //Struktura domu struct stHouse { //Numer domu int number; //Wektor wskaźników na mieszkańców vector<stMan *>in; //Konstruktor stHouse( int tNumber ) { number = tNumber; }; }; //Struktura mieszkańca struct stMan { //Płeć enSex sex; //Wiek int age; //Imię string firstname; //Nazwisko string lastname; //Dom stHouse * home; //Konstruktor stMan( string tFirstname , string tLastname , int tAge , enSex tSex ) { firstname = tFirstname; lastname = tLastname; age = tAge; sex = tSex; }; //Przyłącz do domu void bind( stHouse * p ) { home = p; stMan * c = this; p->in.push_back( c ); }; }; //Globalne wektory zawierające same struktury vector<stTown>gTown; vector<stStreet>gStreet; vector<stHouse>gHouse; vector<stMan>gMan; }; Problem leży po stronie kolejności definiowania struktur itp. Gdy chcę się odwołać do właściwości, która jeszcze nie istnieje, ale mam zdefiniowany "nagłówek" struktury to kompilator wywala błąd. Ehh, dość ciężkie było do znalezienia.
  15. GCC(g++) jakoś nie trawił używania this wraz ze strukturą. Dzięki, że mi to pokazałeś. Będę dalej kombinował. Bodajże używałem this jako elementu a nie jako wskaźnika na element i dlatego miałem problemy.
×
×
  • Dodaj nową pozycję...