atarionline.pl BASIC - pierwsze kroki po 20 latach - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorQubi
    • CommentTime4 Apr 2012 zmieniony
     
    Witam serdecznie wszystkich stałych bywalców, a co dla mnie najważniejsze, fachowców od 8-bitowców.

    Po ponad 20 latach, podczas przeprowadzki wygrzebałem w piwnicy moje stare 65XE no i się zaczęło... Ponieważ ocalał jedynie komputer i uszkodzona stacja CA2001 (już naprawiłem! choć i tak nie mam żadnej dyskietki :D)postanowiłem przypomnieć sobie (a właściwie od nowa się nauczyć) BASIC-a. Dobra, do brzegu jak to mówią.

    Uczę się z takiej oto książki (z resztą link chyba nawet z tego forum!) ->link<-
    Jest w niej oprócz opisu poleceń itd sporo zadań polegających na zrealizowaniu jakiegoś zadania. Mój problem dotyczy rzeczy dość prostej, czyli znaku (takiej kulki - CONTROL+T) który będzie obiegał ekran na około. Ogólnie działa, ale z drobnym błędem i tu jest clou problemu - nie wiem, gdzie robię błąd, że kulka przemieszcza się tak - lewa góra, prawa góra, prawy dół, po czym na moment wraca do góry i dopiero przemieszcza sie dalej, czyli lewy dół, lewa góra...

    Mam wrażenie, że chodzi o przerzucanie wierszy przez BASIC, ale w sumie sam nie wiem i drażni mnie, że nie mogę sobie poradzić z tak pozornie prostą sprawą... Poniżej zamieszczam listing programu i link do youtube, gdzie widać na czym polega problem.
    • 2: CommentAuthorQubi
    • CommentTime4 Apr 2012 zmieniony
     
    Gdyby ktoś z was był tak uprzejmy i pokazał gdzie tkwi błąd, będę bardzo wdzięczy!

    10 REM**KULKA LATAJACA WOKOL EKRANU
    100 GR. 0
    101 ? CHR$(125)
    102 POKE 752,1
    103 POS. 2,0:? "*"
    104 TD=20
    110 FOR LP=2 TO 38
    120 POS. LP,0:? " ";
    130 POS. LP+1,0:? "*";
    140 GOSUB 910
    150 NEXT LP
    210 FOR PD=0 TO 22
    220 POS. 39,PD:? " ";
    230 POS. 39,PD+1:? "*";
    240 GOSUB 910
    250 NEXT PD
    310 FOR PL=39 TO 3 STEP -1
    320 POS. PL,23:? " ";
    330 POS. PL-1,23:? "*";
    340 GOSUB 910
    350 NEXT PL
    410 FOR DG=23 TO 1 STEP -1
    420 POS. 2,DG:? " ";
    430 POS. 2,DG-1:? "*";
    440 GOSUB 910
    450 NEXT DG
    510 GOTO 110
    910 FOR Z=1 TO TD:NEXT Z
    920 RETURN


    przepraszam za kiepską jakość filmu, ale kręcone "komórką"... ehh po kilku dniach z atari zapomniałem, gdzie jest " w PC i wstawiam @... Z góry dzięki!

    • 3: CommentAuthorBluki
    • CommentTime4 Apr 2012 zmieniony
     
    Nie wyświetlisz instrukcją PRINT znaku w dolnym prawym rogu. W takim przypadku kursor zostanie przesunięty do następnego wiersza, którego nie ma, i wówczas wszystko jest przesuwane o wiersz logiczny w górę.

    W załączniku mała sztuczka :)
    • 4: CommentAuthorQubi
    • CommentTime5 Apr 2012 zmieniony
     
    Tak coś czułem przez skórę, że chodzi o wiersze...

    Bardzo dziękuję za poradę! Niestety z odczytaniem pliku mam kłopot - SIO2PC jeszcze nie zmontowałem (choć się zbieram...) Cóż, może ten mały plik mnie bardziej zmotywuje to zrobienia SIO2PC?

    Dziwi mnie tylko, że autorzy podręcznika do Basic'a dają zadania, których przy wiedzy na danym etapie książki nie da się poprawnie rozwiązać...

    Bluki - dziękuję!
  1.  
    Może autor zadania założył, że skoro na tym etapie nie "nauczył" cię jeszcze likwidacji lewego marginesu, to automatycznie po prawej sam sobie taki margines wprowadzisz i nie będziesz jechał do prawej krawędzi :)
    • 6:
       
      CommentAuthorCosi
    • CommentTime5 Apr 2012
     
    Mała uwaga techiczna do PT Administracji: widzę, że w kodzie zapisującym ATASCII zrobiłem babola, a nie mam już możliwości poprawienia tego. Chyba zamiast "ejskejpowania" cudzysłowów trzeba zrobić z nich tzw. HTML entities.
    Swoją drogą ciekawe, że tyle czasu to działało bezbłędnie...
    • 7:
       
      CommentAuthorKaz
    • CommentTime5 Apr 2012
     
    Cosi - mail me please.
    • 8: CommentAuthorBluki
    • CommentTime5 Apr 2012
     

    Qubi:

    Niestety z odczytaniem pliku mam kłopot...


    W taki razie zapraszam na filmik:

    Oglądaj teraz: Kula 2

    A przy okazji polecam uruchomić emulator.
    • 9: CommentAuthorQubi
    • CommentTime5 Apr 2012
     
    Altirra już zainstalowana, ale jeszcze nie miałem chwili, żeby rozgryźć "z czym to się je"... A propos filmiku "kula 2" - dokładnie o taki efekt chodziło, zaraz pokombinuję jak twój plik otworzyć, to się w końcu dowiem gdzie zrobiłem błąd.

    Raz jeszcze dziękuję!
    • 10: CommentAuthorBluki
    • CommentTime5 Apr 2012
     
    Tak na wszelki wypadek: do przenoszenia plików PC - wirtualna dyskietka Atari potrzebny będzie np. program makeATR.
    Podstawowa konfiguracja Atirry: ->link<-