26

Hmm, dziwne... Mi się nigdy nie wywaliła, nie słyszałem też o tym, aby komuś się wywalała. Przynajmniej do mnie to nie dotarło... A w pliku jest prośba o dawanie informacji...
A wiem, że kilka(naście) osób przeszło całą, zarówno na Atari, jak i w wersji papierowej.

Sikor umarł...

27

Ten projekty gry paragrafowej można przenieść do innego, nowego tematu, zgodnie z informacją od autora projektu tutaj, żeby tu nie "zaśmiecać", czyli nie robić rzeczy innych lub podobnych, ale jednak nie w temacie, oczywiste.

@Cobol:

Mogę udostępnić aktualny kod, który mam zrobiony wczoraj i dzisiaj trochę "na próbę". Działa świetnie.

Resztę mogą pisać inni, a gdyby coś, to też mogę zawsze coś, oczywiste.

Aktualnie w grze "Oczywiste nimfy" jest:

- ok. 5 paragrafów, więc widać, jak się skacze po paragrafach w dowolne strony (idź gdzieś, potem powrót, etc., jak po mapie świata)
- inwentarz (10 przedmiotów) - można brać rzeczy, lub nie i pojawiają się w inwentarzu
- rzut kostką

Z takiego początku można pisać samemu, lub wspólnie, jeśli się uda i są chętni, oczywiste.

28 Ostatnio edytowany przez Cobol (2019-02-26 20:59:34)

Opiszę to później jak to wygląda, a taka pierwsza rzecz która mnie irytowała: po wybraniu karty gracza lub info nie ma powrotu do tekstu paragrafu.

Edit: W którymś paragrafie wybrałem lustro i pojawił się pusty ekran z opcją przejścia do par 37.
Edit2: Mimo mi zakomunikować, że rzuciłem palenie, a mój kufel po wsze czasy pełen będzie piwka :-)

29

hmm... Z tym lustrem dziwne, jakoś w testach nie wyszło i nikt nie zgłaszał, więc tak musi zostać. NI ewiem, czy uda mi się to znaleźć (dawno nie grałem w BN).
Co do karty gracza/info: dzięki za uwagę, w następnych grach (o ile będą) - uwzględnię to, bo to rzeczywiście można potraktować jako błąd, a jest to oczywisty błąd czynnika ludzkiego, czyli mój... Dokłądniej rzecz biorąc - chyba tego nie przemyślałem.

Sikor umarł...

30

Wydzieliłem posty do nowego wątku. Uwagi do Sikora proszę kierować do oryginalnego wątku, tu piszemy o grze Smaka.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

31

Kawał porządnego kodu widzę

32

Nie "ironkuj" :-) To pierwsze klocki dzieła wzorcowego, oczywiste.

33

Fajnie, dzięki. Ładny temat, ciekawy i przydatny pewnie nawet, dla wielu, na całą przyszłość wieczną, czyli podstawy programowania, super.

Raz kod podstawowy, który już mam i z tego kodu każdy sobie sam będzie umiał zrobić dowolne rodzaje paragrafówek, a nawet gier tekst+grafika z komendami z klawiatury, czyli zamiast klawisz "A" lub "B", itp., można instrukcją INPUT zapytać o ciąg tekstowy do zmiennej i potem tak samo IF A$="OPEN" THEN GOTO label otworz, IF A$="N" THEN GOTO label idz_na_polnoc, IF A$="LOOK" THEN GOTO opis_lokacji, etc. Proste i gotowe, oczywiste.

Polskie znaki, czy cyrylica, czy fonty obcych z kosmosu, 100% obojętne, może być szyfrem, alfabetem Morse'a, joystickiem, piórem świetlnym, etc. do wyboru, oczywiste.

0 POKE 752,1:DIM INV(10):FOR I=1 TO 10:INV(I)=0:NEXT I:REM kursor niewidoczny, deklaracja i wyzerowanie inwentarza
10 ? :? "OCZYWISTE NIMFY":REM wypisz pusta linie i tytul gry
11 ? :? "Klawisz (I) podczas gry - inwentarz."
20 GOSUB 10025
21 ? :? "Jestes w lesie. Idziesz na polnoc (1), lub na poludnie (2), lub nie mozesz sie zdecydowac (3)."
25 GOSUB 10000
30 IF A=31 THEN GOTO 100
31 IF A=30 THEN GOTO 110
32 IF A=26 THEN GOTO 120
34 GOTO 25
100 GOSUB 10025
101 ? :? "Jestes na polnocy.":IF INV(1)=0 THEN ? "Widzisz ziola. Bierzesz ziola(1)."
102 ? "Idziesz na poludnie (2), lub na polnoc (3)."
103 GOSUB 10000
104 IF (A=31) AND (INV(1)=0) THEN GOTO 130
105 IF (A=31) AND (INV(1)=0) THEN GOTO 130
106 IF A=30 THEN GOTO 20
107 IF A=26 THEN GOTO 140
108 GOTO 103
110 GOSUB 10025:? :? "Jestes na poludniu."
111 GOTO 200
120 B=INT(RND(1)*10):IF B<5 THEN GOTO 100:REM rzut moneta (0 do 4 lub 5 do 9)
121 GOTO 110
130 GOSUB 10025
131 ? :? "Wziales ziola.":INV(1)=1
132 GOTO 101
140 GOSUB 10025
141 ? :? "Doszedles do jakiejs chatki. Wchodzisz (1), palisz ziola (2), idziesz z powrotem (3)."
142 GOTO 200
200 ? :? "KONIEC"
201 POKE 752,0
9999 END
10000 A=PEEK(764):IF A=255 THEN GOTO 10000:REM oczekiwanie na nacisniecie klawisza
10002 IF A=13 THEN GOSUB 10010:REM jesli klawisz "I" to pokaz przedmioty
10003 RETURN
10010 ? :? "Przedmioty: ";
10011 IF INV(1)=1 THEN ? "ziola "
10023 K=0:FOR I=1 TO 10:IF INV(I)>0 THEN K=1:REM sprawdzenie, czy w inwentarzu jest jakis przedmiot (wtedy K=1)
10024 IF K=0 THEN ? "nie masz przedmiotow."
10025 POKE 764,255:A=0:RETURN :REM usuniecie ostatniego nacisnietego znaku z rejestru klawiatury i ze zmiennej
10050 REM rysuj mape
10100 REM rysuj grafiki lokacji
10200 REM wybierz zestaw znakow (moze byc cyrylica lub inne znaki do wyboru
10300 REM pochyl znaki i inne zabawy ksztaltem znakow
10400 REM muzyka i dzwieki w zaleznosci od lokacji lub zdarzen
10500 REM inne dodatki

Mając tyle tylko, każdy sobie zrobi sam wszystkie rodzaje paragrafówek, tekstówek, tekst+grafika, point&click, etc.

OK.

No to teraz można robić grę...

34

To aż się prosi o Turbo BASIC... PROC/ENDPROC...

35

Hrw napisał/a:

To aż się prosi o Turbo BASIC... PROC/ENDPROC...

Tak, jak widać - jest to tylko prosty, podstawowy kod przykładowy, który ma działać najprościej i pokazywać, że gry są proste do napisania, a co więcej widać, że najłatwiej wszystko robi się blokowo, oczywiste. Stąd te REM-y przykładowe na końcu.

Powtarzany przy każdym paragrafie GOSUB, a nawet kilka, robi potem z dużego programu (np. 64 paragrafy) wielokrotne powtarzanie tych samych wywołań podprocedur, więc znowu ktoś zauważy wtedy, że można by zrobić jeden raz taki zestaw GOSUB w podprocedurze, która czyści rejestry, wypisuje opis lokacji, rysuje grafikę, czeka na klawisz, etc. - jedynie w zależności od położenia gracza w grze => i już zaoszczędzone 2x64 instrukcji GOSUB, które znikają, czyli 128*"GOSUB 10000", przykładowo - tyle śmiecia powtarzanego znika z kodu gry i zostaje jeden piękny blok jak wyżej opisany.

Wszystko widać potem w trakcie pisania gry i robi się zgodnie z tym, co się zauważa, oczywiste. Ważne, żeby upraszczać i poprawiać na lepsze, a nie odwrotnie, oczywiste.

Jeśli są chętni do pisania tej gry, to super. Zawsze mogę zerknąć i coś skomentować, czy dobrze, czy źle, albo dać pomysł lepszy, albo inne propozycje, albo dopisać jakieś dodatki, bloki kodu, etc.

Kod podstawowy wyjściowy jest, jak widać. Co dalej, to zależy kogo to interesuje, oczywiste...

W ramach zadań dzielonych, ktoś mógłby:

- dopisać chociaż jeden następny paragraf na próbę (np. na południu knajpę i wejście do knajpy i kupienie piwa, potem A- pijesz piwo, B - rzygasz na barmana z daleka, potem co dalej w zależności, przykładowo)
- wpisać zbieranie sztuk złota po lesie (w inwentarzu po wpisaniu 1 ma się sztuk 1, zioła tak są w ilości 1, a może być 100 ziół, albo więcej, oczywiste, a piwo kosztuje 10 ziół, albo 1 talara, przykładowo)
- zadeklarować i narysować mapę (mapę trzeba najpierw znaleźć w lesie, albo mieć kartkę, węgiel, albo pędzelek, ołówek, itp. i narysować sobie)
- inne zadania potem, zależy kto chce co dorobić do tej gry - zawsze mogę dopisać zgodnie z życzeniami, oczywiste - w ramach hobby i zabaw w wolnym czasie...
- grafiki lokacji, też proste, a można dodawać od razu na bieżąco do paragrafów - warto byłoby określić w którym trybie GRAPHICS
- itp.

Kod jest, kto ma pomysły i życzenia własne, może robić sam, albo napisać życzenie, to się dopisze, proste, oczywiste.

36

Łoczywiście łoczywista łoczywistość.

37

Smaku napisał/a:

[...]Jeśli są chętni do pisania tej gry, to super. Zawsze mogę zerknąć i coś skomentować, czy dobrze, czy źle, albo dać pomysł lepszy, albo inne propozycje, albo dopisać jakieś dodatki, bloki kodu, etc.[...]

Dzień dobry, w powyższego wnioskuję że Kolega ma duże doświadczenie i dorobek w tworzeniu oprogramowania, a gier w szczególności i to pozwala czuć się Koledze w naszym towarzystwie autorytetem.
Czy mógłby Kolega pochwalić się tym dorobkiem, tytułami wydanych gier, ew. publikacjami w prasie, czy internecie? Chętnie bym się zapoznał. Z góry dziękuję, naturalnie.

<-- Kontakt przez "E-mail" gdyż albowiem moja skrzynka "PW" jest pełna i zaprawdę nie mam czego usunąć.

--== Kup Pan/i dyskietkę http://www.atari.org.pl/forum/viewtopic.php?id=18887 ==--

38 Ostatnio edytowany przez Cobol (2019-02-28 09:16:31)

Hrw napisał/a:

To aż się prosi o Turbo BASIC... PROC/ENDPROC...

Nie wszędzie, paragrafówka skacze po blokach programu z których wybór ścieżki może wskazywać na dowolne inne bloki.
Do procedur może nadać się tylko kilka powtarzalnych rzeczy,np odczyt klawiatury, podgląd mapy lub inwentarza.

Ale fakt - TBXL załatwi w parę linii coś na co w Atari Basic trzeba hektar kodu, a rozbudowane IF ELSE ENDIF  może rozwiązać łatwo sprawdzenie zależności inwentarz-wybór drogi.

39

Znam się i ja choć BASICA nie użyłem dawno .... TABLICE DECYZYJNE jako metoda optymalizacji wyboru warunków :) :)

40 Ostatnio edytowany przez Smaku (2019-02-28 12:50:53)

@uicr0Bee:

Programowanie tylko amatorsko, dla zabawy, dla siebie - nigdy na zamówienie, na sprzedaż, etc.

@Cobol:

Właśnie ten "wybór ścieżki wskazującej na dowolne inne bloki" wspomniałem w poprzednim komentarzu, że przykładowo, jak w kodzie pokazanym:

GOSUB 10000 - oczekiwanie na klawisz
[tutaj sprawdzenie klawisza i wybór drogi (skok GOTO do innego paragrafu lub do zdarzenia]
GOSUB 10025 - wyczyszczenie rejestrów

Ten powyższy blok musiałby powtarzać się przykładowo 64 razy dla 64 paragrafów, więc łatwo policzyć, że 2*64 wywołań tych samych GOSUB.

Dlatego robiąc jeden blok dla struktury:

- oczekiwanie na klawisz
- wybór drogi
- czyszczenie rejestrów

zaoszczędza się 2*64*"GOSUB xxxxx" instrukcji - znikają, jako nie istniejące, czyli wspomniany "śmieć", kilogramy śmiecia powtarzanego.

Takie rzeczy zbiera się w podprocedury i robi się piękny porządek, a GOSUB wywołuje się tylko 2 razy (dla linii 10000 i 10025), w takim bloku wydzielonym, oczywiste - i tylko tyle na cały program. Różnica, a i wygląd programu są oczywiste, oczywiste.

Żeby taki blok mógł sprawnie działać, łatwiej zaprogramować mapę z lokacją gracza i pamiętać pozycję gracza X,Y na mapie i wtedy w takim bloku wypisuje się tylko opis miejsca zgodnie z X,Y (pobierając opis lokacji z DATA, lub skądkolwiek, ważne, że dla miejsca X,Y na mapie) - wychodzi perfekcyjna, sprawna maszynka do gry - można wpisać dowolne opisy lokacji, dowolne opowieści, książki, etc. - do osobnego pliku i nowa gra i następna działa od razu.

Gdyby ktoś bawił się inwentarzem w kodzie pokazanym, uwaga (poprawka): trzeba dopisać NEXT I w odpowiednim miejscu, żeby formalnie zamknąć pętlę i mieć prawidłowy wynik sprawdzenia inwentarza (błąd! widoczny w programie).

Inwentarz jest tylko wskaźnikiem, czy dana droga jest możliwa, czy nie (IF ELSE ENDIF), ale to się załatwia jak w przykładzie ziół (opis lokacji "Widzisz zioła" jeśli w inwentarzu nie masz ziół - przykładowo). Tak samo można zrobić warunek dla opisu miejsca z chatką. Jeśli nie masz ziół, to nie ma propozycji "palisz zioła", oczywiste, lub informacja po wybraniu tej opcji: "nie masz ziół, żeby je palić", itp.

41

Wywalam: D. Van Tassel - Praktyka programowania
Ten wątek jest lepszy i prostszy w nauce optymalizacji kodu. Oczywiste.

42

Przyjmę.

43 Ostatnio edytowany przez Vasco/Tristesse (2019-02-28 17:52:54)

dely napisał/a:

Na razie gra mało urozmaicona, ale trzyma w ciągłym napięciu.

https://upload.wikimedia.org/wikipedia/en/4/4f/North%2BSouth-Complete1-3.jpg

Mam wrażenie, że będzie więcej dram, więc odpowiedniejsze jest:

https://images-na.ssl-images-amazon.com/images/I/71njEyziG8L._SY445_.jpg

Mam jeszcze pytanie, czy będzie dostępny filtr, który umożliwi przeniesienie gry na inne komputery. Łącznie z muzyką, grafiką, oczywiste.

44

@BartoszP:

Wspomniana książka wygląda na jakąś odmianę "C", czyli to nie może być dobra książka, zasadniczo, oczywiste, a po drugie na pewno nie o programowaniu, zasadniczo, oczywiste, więc co mówić o optymalizowaniu (chyba, że chodzi o optymalizowanie metod grzebania w śmieciach, hmm, to może...). Po trzecie i ostateczne już zupełnie, to chyba o obiektach coś, no więc jest to 100% nie związane z programowaniem, ani językami, ani czymkolwiek rozumnym, oczywiste. Wywalanie, to nie wiem, czy dobra rzecz, zasadniczo, można komuś sprzedać, nawet za 30 zł, bo to klasyka bezrozumu jakaś, jakiś bogaty na pewno chętnie kupi, oczywiste... inne o UNIX też można tak samo, ktoś to kupi, a potem i tak wszystko się spali, chodzi o ekonomię rozumną, czyli sprzedać, mieć zysk i zapomnieć temat, proste, oczywiste. Spalą inni... na własny koszt - algorytmy proste podstawowe rozumne jedynie dobre i realne i jedyne możliwe do realizowania, oczywiste.

@Vasco/Tristesse:

Co do dramatów, to z miejsca startu można już iść na Północ (tam jest chatka), albo na Południe (tam będzie knajpa). Dramaty to rzecz powszednia w życiu, więc nie ma co się łamać, tylko starać się trzeba i do przodu, oczywiste... na trzymanie w napięciach będzie jakiś paragraf o toalecie i tam będzie można wyluzować, jakby co, pod warunkiem, że ma się liście, albo zioła, albo papier do wytarcia w inwentarzu podręcznym, ew. ręką - decyzja należy do gracza, oczywiste. Zobaczymy, etapami, oczywiste...

Co do filtrów, to nazywają się prawdopodobnie "sterowniki", czyli chodziłoby, żeby w tą grę można było zagrać przykładowo na Commodore, na ZX Spectrum, na PC, na Nintendo, etc.? - jeśli tak, to muszą o tym pomyśleć ci, którzy takich komputerów używają i chcą mieć działający kod, czyli muszą sobie napisać sterowniki sami, albo przenieść kod z modyfikacją, czego trzeba z ATARI BASIC do [inny komputer] BASIC, oczywiste. Dobry sterownik ma to do siebie, że emuluje pracę wszystkich urządzeń danego komputera sterowanego na własne urządzenia, w tym grafikę, muzykę, urządzenia zewnętrzne, manipulatory, etc., oczywiste.

45

Dobra, przez chwilę było nawet śmiesznie, ale szkoda życia, Wyłącz subskrybcje, oczywiste.

Przy okazji, Kierowniku, powinno być "subskrybcję" - "ę" na końcu.

<-- Kontakt przez "E-mail" gdyż albowiem moja skrzynka "PW" jest pełna i zaprawdę nie mam czego usunąć.

--== Kup Pan/i dyskietkę http://www.atari.org.pl/forum/viewtopic.php?id=18887 ==--

46

...a ja mówiłem by nie przesadzać ze staffem :-)

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

47

Smaku napisał/a:

@BartoszP:

Wspomniana książka wygląda na jakąś odmianę "C", czyli to nie może być dobra książka, zasadniczo, oczywiste, a po drugie na pewno nie o programowaniu, zasadniczo, oczywiste, więc co mówić o optymalizowaniu (chyba, że chodzi o optymalizowanie metod grzebania w śmieciach, hmm, to może...). Po trzecie i ostateczne już zupełnie, to chyba o obiektach coś, no więc jest to 100% nie związane z programowaniem, ani językami, ani czymkolwiek rozumnym, oczywiste.

Oczywiste jest, że nawet jej nie miałeś w rękach, nie mówiąc o przeczytaniu ... zasadniczo oczywiste, bo byś wiedział, ze jest w niej o FORTRANIE, COBOLU, PL/I, ALGOLU. Oczywiste. O obiektach tam nie ma. Oczywiste. Więc na 100% jest o programowaniu. Oczywiste.
Zresztą jak książka może wyglądać na odmianę "C"? Zasadniczo i oczywiscie? Uporządkuj zasadniczo oczywiste pojęcia a wtedy ze smakiem wykosisz wszystkich programistów.

48

@BartoszP:

Zerknąłem gdzieś na Internecie na kilka stron i od razu mnie odrzuciło i wrażenie miałem takie, jak opisałem.

Jeśli to o Fortranie, Cobolu, Algolu, etc. - to raczej nie jest to dla programistów, tylko dla eksperymentatorów, raczej jak z obiektami i C i że tylko ci, co lubią grzebać w chaosie i próbować go jakoś ogarnąć, grzebiąc, mogą się tym zainteresować, czyli chaosowcy, czyli Unixowcy, Linuxowcy, inne odmiany C i chaosu... to nie jest dla ludzi - nie można uczyć się programować na takich rzeczach, oczywiste.

Chociaż Fortran, to chyba dobra, ciekawa baza danych programowana, jak SQL, Algol też całkiem ma ciekawe rzeczy, Cobola nie pamiętam, musiałbym sobie przypomnieć, tak czy inaczej, to są eksperymenty jak praca w Unix i pochodne, C, itp. czyli Chaos, albo obiekty UFO - na jedno wychodzi, że to nie dla programistów, tak, czy inaczej, oczywiste. Takich rzeczy się nie dotyka zasadniczo, oczywiste. Chyba, że ktoś jest samobójcą, no to wiadomo... aby z daleka od ludzi, i powodzenia na drogę, do widzenia i krzyż, oczywiste...

49

Uwaga, grupa! Kierunek – wschód! Tam musi być jakaś cywilizacja.

50

BartoszP napisał/a:

Uwaga, grupa! Kierunek – wschód! Tam musi być jakaś cywilizacja.

Jeśli na wschodzie jest rozum, to musi tam być jedyne możliwe przetrwanie ludzi rozumnych, oczywiste...

... inaczej na pewno śmierć w chaosie, gwarantowana, oczywiste...