eXec.plMAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA
MAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA

niedziela, 24. października, 2021, 10:35

Dodano: 2021-07-28 16:43, Autor: st, Kategoria: Wydarzenia, Liczba wyświetleń: 1197

A A A

Podręcznik do Hollywood - próbka

Adam Mierzwa, który pracuje nad podręcznikiem do Hollywood po polsku opublikował pierwszą jego próbkę - kolejna aktualizacja prac nad tym projektem przewidziana jest na październik.

Źródło: amiga.org.pl

Dodaj komentarz

Hextreme
Czytelnik

komentarz #1 wysłany: 2021-07-28 20:47

Gorąco kibicuję temu przedsięwzięciu. Widzę, że prace idą mocno do przodu.

W programowaniu zawsze otrzemy się o matematykę. Akurat mi to nie przeszkadza, bo ją lubię.

Odpowiedz

AmigaIsDead
Czytelnik

komentarz #2 wysłany: 2021-07-29 22:26

Przeczytałem próbkę i mam mieszane uczucia. :-|
Kilka porad: do nauki wykorzystuj debuggera! Jego główną zaletą jest krokowe wykonywanie programu, to znacznie ułatwia zrozumienie co dzieje się "w środku". Widzę że jest jakiś problem z użyciem funkcji DisplayTransistionFX() - może dopytaj się autora Hollywood czy dołączone przykłady są poprawnie napisane? Według dokumentacji, pierwszy parametr to ID obrazu do wyświetlenia, następnie masz: Type, Speed i Parameter. Tak więc zapis DisplayTransitionFX(2, #RANDOMEFFECT, #RANDOMEFFECT, #FASTSPEED) oznacza mniej więcej: wyświetl obraz numer 2, z losowym efektem przejścia, z losową prędkością i parametrem #FASTSPEED (nie mogę znaleźć tego #FASTSPEED w dokumentacji, może wystarczy to sprawdzić używając czegoś w rodzaju Print(#FASTSPEED)?), przyznam się, że nie do końca rozumiem co autor miał tu na myśli... albo popełnił drobny błąd w składni albo to tylko nietypowe użycie, np. ponowne wstawienie #RANDOMEFFECT może odpowiadać za losową szybkość efektu przejścia.
Nie znam się na Hollywood, tak tylko gdybam.

Linia 121 odgrywa muzyczkę. Nie wiem co oznaczają wartości (1,0). Mamy tylko
jeden dźwięk zdefiniowany w linii 10 jak SAMPLE 1 i przypuszczam, że to 1 oznacza
jego odgrywanie. Na 0 nie mam pomysłów.


Czytałeś dokumentację? 1 oznacza ID sampla - czyli to co napisałeś jest OK, 0 to odgrywanie w nieskończonej pętli.

f$ = "Aquarium" .. Rnd(5) + 1 .. ".jpg"

Nie wytłumaczyłeś tego zapisu do końca. Ktoś dociekliwy zapyta, co oznaczają te dziwne podwójne kropki? Ja domyślam się że pewnie to samo co || w ARexxie, ale początkujący poczuje się zagubiony. Może jednak warto zacząć od klasycznego "Hello World"? Zakładając że mam rację, moja luźna propozycja (w pseudokodzie!):

/* przykład #1 */
Print("Hello World")
-> wynik: Hello World


/* przyklad #2 */
napis1$="Hello"
napis2$="World"
Print napis1$ .. napis2$
-> wynik: HelloWorld
Print napis1$ .. " " .. napis2$
-> wynik: Hello World


Brzmi nieco lepiej?

Dodam jeszcze że nie jestem zwolennikiem uczenia się w stylu jaki proponujesz. Wydaje mi się że każdy kieruje się inną motywacją, jeden chce napisać grę o jakiej zawsze marzył, drugiemu potrzebny jest program do odwalenia żmudnej roboty, itp. i teraz każdy z nich będzie zaczynał naukę od jakiegoś tam wygaszacza ekranu... czytelniej byłoby najpierw zaznajomić czytelnika z podstawami: zmienne, funkcje, instrukcje warunkowe, pętle, itp.

Odpowiedz

SZAMAN
Redaktor

komentarz #3 wysłany: 2021-07-29 22:49 w odpowiedzi na komentarz #2

Z drugiej strony te wszystkie podstawy można znaleźć w dowolnym podręczniku do nauki podstaw programowania.

Odpowiedz

Adam
Czytelnik

komentarz #4 wysłany: 2021-07-30 16:08 w odpowiedzi na komentarz #2

"Może dopytaj się autora Hollywood", "Czytałeś dokumentację? ", "nie jestem zwolennikiem uczenia się w stylu jaki proponujesz"

"(nie mogę znaleźć tego #FASTSPEED w dokumentacji, może wystarczy to sprawdzić używając czegoś w rodzaju Print(#FASTSPEED)?), przyznam się, że nie do końca rozumiem co autor miał tu na myśli..""Nie znam się na Hollywood, tak tylko gdybam."

To się komentuje samo.

Przeczytaj ostatni akapit na stronie 25.

Dlaczego zakładasz, że nie wykorzystuję do nauki debuggera? Przecież to nie miałoby sensu. Jest inny problem. Wiele przykładów ma unikalne funkcje, które nie są wyjaśnione w komentarzach. Jest cały ogon przykładów, niektóre mają po kilkanaście lat. Wygaszacz Aquarium to jest absolutny overkill i nie polecam nauki od niego.
Niektóre rzeczy dowiedziałem się po tym, np. o tym dźwięku to mi 'recedent' zwrócił uwagę z 3 tygodnie temu, ale zdecydowałem się to tak zostawić. Mam pomysł na tę książkę i pewne furtki do poszerzenia wiedzy we własnym zakresie będą zostawione, a pewne rzeczy wyjaśnione później w innych przykładach.

To co jest w "próbce" zostało puszczone na dowód, że jestem w stanie napisać taką książkę (bo wcześniej nie programowałem; znam HTML ale już PHP nie). Ot, pokazanie, że akcja nie było po to bym "przytulił program". I ta część powstała ZANIM otrzymałem program. To jest przykład, jak samemu "rozgryzać" kod. To jest czas decyzji, czy to "smakuje", czy wchodzić w zakup. Po tym powstały inne treści, w tym normalne lekcje od "Hello World!".

Oczekiwania, że będę sypał grami i programami jak z rękawa, że w kilka miesięcy poznam dogłębnie Hollywood, a po przejrzeniu książki każdy będzie pisał gry są NIEREALNE. Nie jestem MacGyverem, nie nauczę każdego jak zbudować rakietę z zapałek. Moim zadaniem jest dostarczyć fajny podręcznik, na tyle dobry na ile potrafię go zrobić. Żeby ludzie zaczęli to "kąsać".

Jeżeli masz pomysły jak zrobić to lepiej to zrób to. Albo niech Adam Zalepa napisze. Zresztą nie jest powiedziane, że musi być tylko jeden podręcznik. Bo każdy zrobiłby to inaczej. Ja w tym co napisałem nie zmienię nic. W tej próbce poprawiłem tylko wpis o Sumatrze (pomyliłem Kowalczyków) i zmieniłem trochę opis Fairlight.

Ach, i jeszcze merytorycznie zapewne oczekujesz ze odniosę się do twojego kodu. Więc: on dla mnie nie jest pomocny. Naprawdę. Powiedziałbym nawet, że dla osoby która nie programowała, takie coś w pierwszej lekcji (a Hello World jest pierwszą) byłoby niezrozumiałe.

Odpowiedz

AmigaIsDead
Czytelnik

komentarz #5 wysłany: 2021-07-30 21:43 w odpowiedzi na komentarz #4

No dobrze, poczekam na dokończony podręcznik, bo przyznam że póki co jestem zdumiony tym co czytam. Być może finalny produkt pozytywnie mnie zaskoczy.

@SZAMAN
Składnia każdego języka programowania jest inna, więc nie wydaje mi się żeby "dowolna książka do nauki podstaw programowania" była pomocna. W ogóle to podaj przykład takiej książki bo jestem ciekaw.

Odpowiedz

SZAMAN
Redaktor

komentarz #6 wysłany: 2021-07-31 11:31 w odpowiedzi na komentarz #5

Omówienie czym są zmienne, funkcje, instrukcje warunkowe i pętle jest w każdej dla początkujących, język dowolny, np. zawiera to każda książka w tej tematyce od Adama Zalepy. Składnia to już tylko forma (umowa) w jakiej to wszystko zapiszemy, zresztą dokumentacja do Hollywood jest publiczna i tam powinno to być dostępne.

Dlatego Adam dobrze robi, że chce pominąć te rzeczy, w sumie to może odesłać też do sieci.

Odpowiedz

AmigaOS.pl
Polecamy
Najpopularniejsze
eXec blog

Świat poza Amigą: