Problem z grą
Problem z grą
Witam.
Mam tu taki mały programik:
10 print chr$(147)
20 a=1564
30 j=255-peek(56320)
31 if (j and1) then a=a-40
32 if (j and2) then a=a+40
33 if (j and4) then a=a-1
34 if (j and8) then a=a+1
40 poke a,1
50 goto 30
który wyświetla nam literkę "A" na ekranie i możemy nią sterować we wszystkie strony świata . Niestety mam problem bo literka ta zostawia po sobie "ślady" na ekranie.
I jest pytanie: jak zrobić żeby literka ta nie zostawiała tych "śladów"?
Jak ktoś wie to niech napisze. Będę bardzo wdzięczny
Mam tu taki mały programik:
10 print chr$(147)
20 a=1564
30 j=255-peek(56320)
31 if (j and1) then a=a-40
32 if (j and2) then a=a+40
33 if (j and4) then a=a-1
34 if (j and8) then a=a+1
40 poke a,1
50 goto 30
który wyświetla nam literkę "A" na ekranie i możemy nią sterować we wszystkie strony świata . Niestety mam problem bo literka ta zostawia po sobie "ślady" na ekranie.
I jest pytanie: jak zrobić żeby literka ta nie zostawiała tych "śladów"?
Jak ktoś wie to niech napisze. Będę bardzo wdzięczny
inny algorytm najprosciej to np
a - adres 'literki'
b - wartosc oryginalna
1 zapamiętaj oryginalną wartość + wyswietl literke: b=peek a + poke a,lierka
2 czekaj na zdarzenie od joysticka, else goto 2
3 przywróć oryginalną wartość a: poke a,b
4 oblicz nowy adres w zależności od wychylenia joya
5 zapamiętaj oryginalną wartość spod nowego adresu: b=peek a
6 narysuj literkę: poke a,literka
7 goto 2
a - adres 'literki'
b - wartosc oryginalna
1 zapamiętaj oryginalną wartość + wyswietl literke: b=peek a + poke a,lierka
2 czekaj na zdarzenie od joysticka, else goto 2
3 przywróć oryginalną wartość a: poke a,b
4 oblicz nowy adres w zależności od wychylenia joya
5 zapamiętaj oryginalną wartość spod nowego adresu: b=peek a
6 narysuj literkę: poke a,literka
7 goto 2
Najprościej, to możesz kasować cały ekran za każdym razem, ale wtedy będzie bardzo migać.
Następna prosta rzecz, to przed pobraniem odczytu JOYa zapisz pomocniczo pozycję a=b, czyli b będzie zawierało pozycję przed ruchem JOYa
Linia 30 powinna wyglądać tak: 30 b=a:j=255-peek(56320)
Przed wyświetleniem nowej pozycji - skasuj poprzednią, czyli: 40 poke b,(spacja):poke a,1
Oczywiście zamiast (spacja) wpisz jej numer kodu, bo teraz nie chce mi się szukać, jaki to jest
Następna prosta rzecz, to przed pobraniem odczytu JOYa zapisz pomocniczo pozycję a=b, czyli b będzie zawierało pozycję przed ruchem JOYa
Linia 30 powinna wyglądać tak: 30 b=a:j=255-peek(56320)
Przed wyświetleniem nowej pozycji - skasuj poprzednią, czyli: 40 poke b,(spacja):poke a,1
Oczywiście zamiast (spacja) wpisz jej numer kodu, bo teraz nie chce mi się szukać, jaki to jest