Skocz do zawartości

RaistlinBlackRobe

Użytkownicy
  • Postów

    579
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez RaistlinBlackRobe

  1. Jak masz w okolicy miasto jakieś najlepiej 100k+ mieszkańców i jest tam w centrum jakaś spora ulica przeznaczona do ruchu pieszego, to najlepszym sposobem w tym wieku na zarabianie jest iść tam w dwie osoby i: -jedna gra na gitarze i śpiewa -druga chodzi z czapka i zachęca ludzi Podział fifty/fifty i w ten sposób bezproblemowo macie za 4h 60 zł na głowę(jak jest dobry dzień to i może być sporo więcej). Tylko taka jedna rada: niestety takie dzisiaj społeczeństwo, że najlepiej grac po prostu proste open-chords i tyle. Jak zacząłem sadzić techniczne, wirtuozerskie solówki, to się jakoś dziwnie patrzyli.
  2. Teraz już nie tylko wy o tym wiecie.
  3. Idziemy zgodnie z programem rozszerzonym, bez żadnych poślizgów, a wszystko jest opanowane dobrze(nie ma na lekcjach niedomówień). Wciąż odnoszę wrażenie, że szukasz dziury w całym.
  4. Reszta nie ogląda tylko też to robi. Zresztą zobrazuję to na dzisiejszej sytuacji: na początku lekcji robiliśmy tam jeden wykres, a ja musiałem wyciągnąć okulary i je wytrzeć ściereczką, więc facet do mnie podchodzi i: "O,bezbłędny wykres."
  5. Ah. Źle mnie zrozumieliście. To nie jest odpowiadanie. To po prostu co chwilę losowanie(na każdym tracimy góra 3 sekundy) do przykładów. Po prostu trzeba być czujnym na lekcji, wiedzieć co się dzieje, bo inaczej może cie wylosować, a ty na szybko doczytujesz treść zadania i potem jest ciężko.
  6. Już uściślam. a - wartość czerwonej kostki b - wartość niebieskiej kostki n - wylosowany numer n = a*6 + b
  7. Gdyby ten nauczyciel z maty zastosował taki system jak nasz, to wszyscy musieliby być skupieni na lekcji. Naprawdę. Nie mieliby wyboru. Wygląda to tak: -są dwie kostki: czerwona i niebieska -chłopak w pierwszej ławce jest operatorem maszyny losującej -hasło: "Losujemy ochotnika." -rzuca kostkami i mnoży wartość czerwnoej kostki przez 6 -uzyskujemy numer będacy liczbą naturalną z przedziału <0; 35> -ten numer odpowiada numerom z dziennika -teraz mamy dwie opcje: -1: hasło: "Zgłasza się numer 13(mój)" -2: gdy wypadnie 0 --robimy przerażone miny --spoglądałem ze złością na operatora --hasło: "Nie przedłużajmy już." Nie ma szans, żeby ktoś nie uważał. Wszyscy tylko starają się nadążać z rysowaniem ukł. współrzędnych i modlą się w duchu(do Marduka, czy innego Odyna), zeby tym razem nie zostać wylosowanym. Ostatnio nawet padły trzy szóstki pod rząd. @Will: Nie jestem akurat człowiekiem, który ma zawyzoną samoocenę o sobie, czy pozwala, aby pycha zakłóciła jego rozwój. Nauka to proces((t>0) ^ (t!=const)). Jestem osobą świadomą swojej niedoskonałości. Wiem, że doskonałość jest w nieskończoności i jest poza zasięgiem tak efemerycznej istoty, jaką jest człowiek. Jestem człowiekiem, co nie pozwoli mi nigdy na osiągnięcie doskonałości, mimo to jestem zdecydowany się rozwijać. Uważam, że rozwój ma sens. Nie chcę stać w miejscu i ulegać złudzeniu, ile to ja potrafię.
  8. U nas jest to rozwiązane w taki sposób: jedna godzina w tygodniu na ten program dla wieśniaków, a druga jest przeznaczona stricte na programowanie. Nasz nauczyciel nie jest tak zwanym douczonym matematykiem, o to się nie martw. W prawdzie jego główna dziedzina to grafika komputerowa, ale ma pojęcie o pisaniu, ma dobre podejście do ucznia i co jedno z najważniejszych jest otwarty na nowe technologie(mozna go nazwać nawet ich pasjonaten). Przez to ostatnie m.in. rozumiem przede wszystkim dobór języka jaki klasa ma się uczyć, ale również to np., że nie jest niewolnikiem microsoftu. Jeżeli chodzi o powszechnie znany wzór, to tutaj chodzi o samo powiedzonko. Jest ich więcej np.: "Losujemy ochotnika.", "Zgłosił się numer...", "Nie przedłużajmy już"(kartkówka), "Ale na to jeszcze jesteście za młodzi", "Już dzisiaj jedną mieliście, to wam daruję"(po wypadnięciu 00 w maszynie losującej). Z nich najpopularniejszy stał się ten powszechnie znany wzór. Cała rzecz w tym, że dla naszego nauczyciela każdy wzór jest powszechnie znany. Oprócz tego udeptało się w naszej klasie używanie zdań logicznych w normalnym życiu. Przykład: na języku polskim: (Apokalipsa Św. Jana) <=> ~(Piosenka O Końcu Świata). Dodatkowo jedną godzinę w tygodniu(czasami rzadziej trochę) nauczyciel z maty nam wpaja algorytmikę. Wprawdzie czyni to za pomocą schematów blokowych i z nutką tęsknoty wspomina Windowsa 3.11(którego nam dzisiaj odpalił), ale i tak jakiś progres jest. W każdym razie nie żałuję i nie będę, że poszedłem do liceum.
  9. Powinno być 90%. Prynajmniej w statucie mojej szkoły jest 90.
  10. @Tymon: Skazujesz od razu wszystkie profile mat-inf na potępienie? Mówisz bardzo pochopnie. Jak już drzewiej zaznaczyłem, to w bardzo dużej mierze zależy od nauczycieli. Ja z takowego profilu jestem bardzo zadowolony. Poza tym: pamiętaj, że ten sam profil wybiorą ludzie, którzy mają relatywnie podobne zainteresowania. Tu chodzi również o jednoczenie. To stwarza perspektywy przyszłego działania w grupie. Wiesz, np. ludzie z biol-chemu przy okazji żłopania jabola muszą jeszcze opowiadać w jaki to sposób ten jabol wpływa na krwinki czerwone. Z drugiej strony np. w mojej klasie panuje przekonanie, że na wszystko jest powszechnie znany wzór(ulubione powiedzonko nauczyciela z maty: "czyż to nie jest przecież powszechnie znany wzór?"). @Will: Wiesz, no offence, szczególnie, że ostatnio to jestem ci wdzięczny xD, ale zauważyłem, że od czasu do czasu(nie mówię, że ciągle) lubisz kogoś sobie zgnoić(tak po prostu dla przyjemności gnojenia).
  11. To wszystko zależy od szkoły i nauczycieli. Ja na przykład w pierwszej liceum już mam C++ i tak zostanie. W prawdzie zanim dojdziemy do moich aktualnych mozliwości, to owe się znacznie poszerzą(przesunięcie czasowe), ale szkoła mnie zmobilizowała, żeby se przypomnieć wszystko i wziąć się w końcu za ogla. Ja jestem bardzo zadowolony z liceum. Świetni nauczyciele, świetni ludzie. Z tego co słyszałem w technikum bardziej cisną z materiałem do przodu, ale wierz mi, że ogólna wiedza w pewnym stopniu tez jest ważna. Uważam też, że liceum cię lepiej przygotuje pod katem maty i fizy i nie będziesz miał codziennie po 9 lekcji.
  12. Dzięki wielkie. Zawsze musze walnąć jakiś głupi, prosty błąd, ale taki, że trudno go dostrzec. W takim razie: w jaki sposób podporządkować moje aplikacje całkowicie tym ogólnym zasadom? W tych celach, w jakich tu wykorzystałem klasy trudno byłoby mi użyć czegoś innego do uzyskania takiego samego efektu. Z drugiej strony: czy to oznacza, że zgodność z zasadami zakłada użycie pewnych rzeczy, nawet gdy nie są one tu potrzebne, czy to moja zła interpretacja? Jezeli chodzi o metody dostępowe, to chodzi tu po prostu o metody, które zwracają jakieś pole, tak? Mógłbyś zobrazować w jaki sposób dodają czytelności kodowi?
  13. No cóż. Jednym z podstawowych elementów składających się na moje cele, tudzież sposoby uzywania klas wynikają z mojego rozumienia objektów(nie chodzi mi o objekty w samym sensie informatycznym, tylko po prostu o objekty, o rozumienie tego słowa). Jezeli chodzi o to, że masz mi za złe, że nie używam w bieżącym momencie czasu wszystkich dobrodziejstw klas(dziedziczenie, funkcje wirtualne, polimorfizm itd.), to wynika to z małej zaawansowaności aplikacji. Uzycie ich jest tutaj kwiestią czasu, mam rozplanowane w miarę ich uzycie(oczywiście nie bezcelowe, na pokaz, tylko słuszne i ułatwiające wiele rzeczy).
  14. No tak biblioteki. Wybaczcie. Linkuję te: -libopengl32.a -libglu32.a -libglaux.a @Will: Wprawdzie przytaczałem je już, ale zrobię to ponownie: 'x_grid' has not been declared request for member of non-aggregate type before '+' token `a' has not been declared request for member of non-aggregate type before ';' token `y_grid' has not been declared request for member of non-aggregate type before '+' token `a' has not been declared request for member of non-aggregate type before ';' token Co dokładnie w moim pisaniu jest paskudne(jezeli chodzi o pisanie ręczne to się zgadzam)? Wiesz, to pewnie w dużej mierze zależy od osoby. Dla mnie akurat taki styl jest przejrzystszy od innych(np. nie lubię bardzo nazw funkcji, w których kolejne wyrazy są oddzielone dużą literą, podkreślenie jest dużo czytelniejsze).
  15. Link Nie bijcie za nawiązania do gmowych nazw. Tak mi jakoś wygodnie i wiem, co do czego jest. xD @Will: Wierz mi, że sam wolałbym, to rozwiązać po prostu dzięki wskazówkom, ale i z tego wyciągnę wnioski.
  16. Definicja klasy: class obj_block //klasa objektu przeszkody { public: float x; float y; int x_grid; //kratka x, w której się znajduje int y_grid; //kratka y, w której się znajduje int z; float a; //długość boku float h; //wysokość obj_block(); //konstruktor int event_draw(); //rysowanie objektu }; obj_block::obj_block(): x (4.0f), y (4.0f), x_grid (0), y_grid (0), z (0.0f), a (8.0f), h (8.0f) { }; int obj_block::event_draw() { glPushMatrix(); glTranslatef(x, y, z+0.5*h); glRotatef(0.0f, 1.0f, 1.0f, 1.0f); //ustawiamy obrót na jego brak glBegin(GL_QUADS); //rysujemy 6 ścian glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, -0.5f*h); //-z glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, -0.5f*h); glColor3f(0.75f, 0.0f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, -0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, -0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, 0.5f*h); //z glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, 0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, 0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, 0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, -0.5f*h); //x glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, -0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, 0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, 0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, -0.5f*h); //-x glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, -0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, 0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, 0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, -0.5f*h); //y glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, -0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, 0.5f*a, 0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(0.5f*a, 0.5f*a, 0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, -0.5f*h); //-y glColor3f(0.75f, 0.25f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, -0.5f*h); glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.5f*a, -0.5f*a, 0.5f*h); glColor3f(0.5f, 0.5f, 0.0f); glVertex3f(0.5f*a, -0.5f*a, 0.5f*h); glEnd(); //kończymy rysować glPopMatrix(); return 0; }; Deklaracja tablicy inst_block: obj_block* inst_block[2];
  17. #define WIN32_LEAN_AND_MEAN #include <windows.h> //nagłówek windows #include <gl/glaux.h> #include <ctime> #include <math.h> srand() i rand() są z <ctime>, przynajmniej dotychczas tak ich używałem. Moja edycja minęła się z twoim postem, więc umieszczam ponownie opis działania: -Przy pierwszym obiegu pętli wypełnia tablice wskaźników świeżutkimi objektami i (jeśli trzeba to zrobić tu) nadaje im wartości początkowe. -Wykonuje metodę event_step() każdej instancji która ją posiada. Zbieżności nazw z gmowymi nieprzypadkowe. -glClear(...); -glEnable(GL_DEPTH_TEST); -Ustawienia kamery za pomocą gluLookAt(...); -Rysowanie podłoża. -Wykonuje metodę event_draw() każdej instancji. EDYCJA: Na <cstdlib>ie poszły te funkcje. To uczyniło teraz problem już stricte dotyczący tworzenia instancji. Rzecz w tym, że dalej nie potrafi się odwołać do pól tych objektów i wygląda to tak, jak gdyby nie zostały one stworzone. inst_block[i]= new obj_block; Czy ta linijka jest źle napisana?
  18. Błedy wyskakują w pliku main.cpp, w funkcji g_main(), w środku konstrukcji warunkowej if (init), czyli odnoszą się do właśnie tych instrukcji tworzenia objektów i przypisywania ich polom pewnych wartości. Odwoływanie się do konkretnej linijki nie ma sensu, bo wyciąłem i wkleiłem tutaj to co trzeba było. Jak już zaznaczyłem funkcja g_main() jest wywoływana w środku pętli głównej programu, w nagłówku main.h w funkcji WinMain(), a includy są naturalnie wcześniej. EDIT: Mam jeden plik .cpp. Działanie funkcji g_main(): -Przy pierwszym obiegu pętli wypełnia tablice wskaźników świeżutkimi objektami i (jeśli trzeba to zrobić tu) nadaje im wartości początkowe. -Wykonuje metodę event_step() każdej instancji która ją posiada. Zbieżności nazw z gmowymi nieprzypadkowe. -glClear(...); -glEnable(GL_DEPTH_TEST); -Ustawienia kamery za pomocą gluLookAt(...); -Rysowanie podłoża. -Wykonuje metodę event_draw() każdej instancji.
  19. Witam. Ostatnio pojawił się u mnie pewien problem, którego pomimo usilnych starań nie udało mi się rozwiązać. Błędy, które się pojawiły kompletnie mnie zaskoczyły. Sprawa wygląda następująco: Mam w projekcie 3 pliki: main.cpp, main.h, obj.h main.cpp: #include "main.h" #include "obj.h" bool init=1; obj_hero* inst_hero = new obj_hero; obj_block* inst_block[2]; //tworzymy tablicę wskaźników na klasę obj_block int inst_block_count = 2; //zmienna przechowująca ilość elementów danej tablicy int g_main() { if (init) //instrukcje tworzenia instancji { unsigned x_rand; unsigned y_rand; for(int i=0; i<inst_block_count; i++) { inst_block[i]= new obj_block; srand(time(NULL)); do { x_rand=floor(rand()%32); y_rand=32 - ceil(rand()%32); } while(grid_state[x_rand][y_rand]!=GRID_FREE); inst_block[i]->x_grid=x_rand; inst_block[i]->x=inst_block->x_grid+0.5*inst_block->a; inst_block[i]->y_grid=y_rand; inst_block[i]->y=inst_block->y_grid+0.5*inst_block->a; grid_state[x_rand][y_rand]=GRID_BLOCK; }; init=0; }; //w tym miejscu ustawianie kamery i eventy return 0; }; Tytułem wyjaśnienia: -funkcja g_main() jest funkcją, której prototyp znajduje się w main.h i jest wywoływana w głównej pętli -grid_state[][] to tablica enumów, określa co się znajduje na danym polu main.h: W nim znajdują się #includy, deklaracje zmiennych globalnych, definicje procedury okienkowej i WinMaina. obj.h: Tutaj mam definicje wszystkich klas i ich metod. Komunikaty błędów: 'srand' undeclared (first use this function) 'rand' undeclared (first use this function) 'ceil' undeclared (first use this function) 'floor' undeclared (first use this function) 'x_grid' has not been declared request for member of non-aggregate type befor '+' token i jeszcze szereg takich samych błędów dotyczących kolejnych zmiennych... Czy ktoś może wie, co zrobiłem nieprawidłowo? Zaznaczam, że odpowiednie nagłówki dodałem. Z góry dzięki.
  20. Jemu chodzi o to, że tworzysz dwie zmienne: int view_xview = 0; //pozycja x kamery, czyli punkt o współrzędnej x takiej jak ta zmienna będzie w lewym dolnym rogu int view_yview = 0; //pozycja y kamery, czyli punkt o współrzędnej y takiej jak ta zmienna będzie w lewym dolnym rogu Następnie, gdy przychodzi do rysowania, to grafikę zamiast rysować w punkcie (x, y), to rysujesz ją w punkcie (x-view_xview, y-view_yview)
  21. No cóż. Jak zapewne sam zauważyłeś otrzymujesz tutaj w znacznej większości komentarze negatywne(tak stało się również w przypadku twojego poprzedniego tematu). Etap, na którym aktualnie jesteś, to początki twojej nauki c++. Rzecz w tym, że w tym momencie publikowanie przez ciebie twoich aplikacji, które stworzyłeś ucząc się, bądźmy szczerzy, nie ma sensu. Musisz wiedzieć, że to co tutaj umieściłeś nie jest: ani dobrym przykładem, z którego inni mogli by się uczyć(zresztą po braku sourcea widać, że to nie było zamierzeniem), ani dobrze rokującym silnikiem, który inni mogliby skomentować i doradzić jak dalej rozwijać, ani grywalną grą(bądź demem, betą, alfą, czy jąkąś inną omegą), w którą można by popykać i podzielić się wrażeniami. To jest po prostu zarys twojego aktualnego etapu w nauce, twoje pierwsze kroki. To nie jest rzecz, którą powinneneś się dzielić z szerszą społecznością(ewentualnie, gdy prosisz o pomoc w odnalezieniu w niej błędu, czy masz inny problem jej dotyczący). Na to powinieneś poczekać. Jeżeli będziesz wytrwały, kreatywny i będziesz się przykładał do nauki korzystania z języka, to w końcu podzielisz się z nami swoją grą(tudzież inną aplikacją) i wtedy na pewno będziesz mógł liczyć po pierwsze na ocenienie i konstruktywny komentarz, a po drugie na to, że te oceny i komentarze będą pozytywne.
×
×
  • Dodaj nową pozycję...