Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

AMOS Pro 2.0 w praktyce Na przykładzie klonu gry Pong Jacek Kremski na spotkanie: AMIGA - początki kultury w wersji cyfrowej, spotkanie III Rzeszów 15.11.2014.

Podobne prezentacje


Prezentacja na temat: "AMOS Pro 2.0 w praktyce Na przykładzie klonu gry Pong Jacek Kremski na spotkanie: AMIGA - początki kultury w wersji cyfrowej, spotkanie III Rzeszów 15.11.2014."— Zapis prezentacji:

1 AMOS Pro 2.0 w praktyce Na przykładzie klonu gry Pong Jacek Kremski na spotkanie: AMIGA - początki kultury w wersji cyfrowej, spotkanie III Rzeszów 15.11.2014

2 AMOS Pro 2.0 – ogólny opis Rok powstania: 1992 Autor: firma Europress Software Wymagania sprzętowe: komputer klasy Amiga Pochodzenie: dialekt języka BASIC Typ: interpreter / kompilator Przeznaczenie: programy multimedialne, gry Licencja: uwolniony przez autora

3 AMOS Pro 2.0 – zawartość pakietu dysk: AMOSPro_System dysk: AMOSPro_Accessories dysk: AMOSPro_Compiler dysk: AMOSPro_Extras dysk: AMOSPro_Tutorial i Examples dysk: AMOSPro_Productivity 1 i 2

4 AMOS Pro 2.0 – sposób uruchomienia z dyskietek – obsługuje do 4 stacji dysków z dysku twardego

5 AMOS Pro 2.0 – wygląd środowiska IDE

6 AMOS Pro 2.0 – możliwości IDE Zapisywanie, odczytywanie programów Funkcje: wytnij, kopiuj, wklej, schowek Funkcje zapisywania bloku do pliku, wstawiania bloku z pliku Sprawdzanie kodu progr. pod kątem błędów Podgląd bieżący zużycia pamięci Uruchomienie programu jednym klawiszem Automatyczne porządkowanie wizualne kodu

7 AMOS Pro 2.0 – możliwości IDE c.d. Obsługa dodatków tzw. Extensions Edytory dźwięków i grafiki Edytor banków zasobów Kompilator z wieloma opcjami Tworzenie makrodefinicji Konfigurowalne skróty klawiszowe Help dostępny bezpośrednio z menu

8 AMOS Pro 2.0 – możliwości IDE c.d. Wielopoziomowe menu Dostępny tryb debuggera i monitorowania programu krok po kroku Zaawansowane opcje wyszukiwania i zamiany ciągów znaków

9 AMOS Pro 2.0 – dlaczego AMOS Działa na każdej Amidze (jak i programy w nim napisane) Ma bogatą liczbę gotowych funkcji – ponad 200 Jest darmowy Jest łatwy w nauce – nie wymaga znajomości budowy Amigi (w przeciwieństwie do Assemblera) Pozwala na szybkie tworzenie złożonych aplikacji

10 AMOS Pro 2.0 – dlaczego AMOS Pozwala programować układy specjalizowane Amigi Obsługuje grafikę, animację, dźwięk, myszkę, joysticki, porty we/wy Ma wbudowaną obsługę procedur i częściowo funkcji Pozwala skompilować kod do postaci programu wykonywalnego Ma wsparcie w postaci literatury w języku polskim

11 AMOS Pro 2.0 – wady Słabe wsparcie dla kości AGA/RTG Słaba współpraca z bibliotekami systemowymi Brak wykorzystania specjalistycznych instrukcji procesorów M68k > 68000 Programy wykonują się wolniej niż napisane w językach klasy Assembler lub C Duża ilość instrukcji sprawia, że trzeba często zaglądać do dokumentacji Programy skompilowane są stosunkowo duże objętościowo Alternatywa – AmiBlitz 3

12 AMOS Pro 2.0 – przykładowa gra Dithells Wonderland

13 AMOS Pro 2.0 – literatura książka: „Programować może każdy Amos Professional w praktyce” K. Prusik, Z. Sypniewski (zawiera 2 dyski) książka: „Amos Professional” - Paweł Chadziński magazyny: Magazyn Amiga – kursy cykliczne forum: http://www.ppa.pl/http://www.ppa.pl/

14 Pong – podstawowe informacje Rok wydania: 1972 Producent i wydawca: ATARI – Allan Alcorn Rodzaj: gra sportowa Grafika – 2D, 2 kolory (czarny i biały) Dźwięk – tak Cechy szczególne: pierwsza gra produkowana na szeroką skalę, która odniosła sukces komercyjny

15 Pong – podstawowe informacje

16 AmiPong – podstawowe informacje

17

18 rok powstania: 2014 autor / wydawca: Jacek Kremski licencja: freeware z udostępnionym kodem źródłowym czas poświęcony na projekt: około 6 godzin język programowania: AmosPro 2.0 objętość kodu źródłowego: około 25 KB – 1 dysk wymagania systemowe: dowolna Amiga dźwięk: tak obsługa dwóch graczy: tak AI lub inny gracz sposób sterowania: joystick Storna domowa projektu: brak, więcej informacji tutaj: http://www.ppa.pl/forum/strefa-tworcow/31223/klon-ponga-w- amosie

19 AmiPong – cel powstania pokazanie możliwości AMOS Pro 2.0 własna satysfakcja i weryfikacja umiejętności programistycznych zainteresowanie większego grona odbiorców tematyką programowania promocja platformy Amiga

20 AmiPong – użyte zagadnienia podstawowe działania matematyczne – dodawanie i odejmowanie podstawowa wiedza z fizyki – wektory, ruch, odbicia podstawowa wiedza z logiki – operatory I, ORAZ, LUB, NIE podstawowa wiedza z rysowania i geometrii – kwadraty, prostokąty, linie, punkty, układ współrzędnych

21 AmiPong – użyte zagadnienia wiedza o algorytmice system wyświetlania obrazu RGB – obsługa kolorów podstawowe instrukcje AMOSa wiedza dotycząca zmiennych, stałych, instrukcji warunkowych, iteracji, pętli system wykrywania kolizji – piłka/paletka, piłka/ścianka system ruchu paletek – ograniczenie ruchu aby paletka nie wychodziła po za ekran sztuczna inteligencja – ruch drugiej paletki, jak zrobić aby komputer czasem przegrywał obsługa joysticków – gracza 1 i gracza 2 przechowywanie danych w bankach danych – sample IFF podział kodu programu na segmenty

22 AmiPong – analiza kodu Podział kodu na segmenty: 1. Zdefiniowanie zmiennych przechowujących dane o położeniu paletek, piłki, punktach itp. 2. Przygotowanie i narysowanie paletek oraz piłeczki wedle parametrów zadanych zmiennymi z punktu 1 oraz umieszczenie ich w banku grafiki a) przygotowanie ekranu o odpowiedniej rozdzielczości i głębi kolorów b) narysowanie odpowiednimi kolorami paletki i piłeczki c) pobranie obrazów do banku d) zamknięcie ekranu 3. Wczytanie wcześniej przygotowanego banku sampli IFF. 4. Wyświetlenie ekranu powitalnego i poczekanie na naciśnięcie dowolnego klawisza w celu startu gry. 5. Przygotowanie ekranu rozgrywki, dobranie barw, narysowanie linii poziomych i pionowych, aktualnej punktacji. 6. Tutaj zaczyna się główna pętla programu wykonywana tak długo, aż nie zostanie naciśnięty na klawiaturze przycisk ESC który powoduje wyjście z gry do systemu operacyjnego. 7. Rysujemy paletki i piłkę na ekranie. 8. Sprawdzamy czy trzeba odbić piłeczkę – czy dotyka ona góry, dołu ekranu bądź którejś z paletek. 9. Jeśli następuje odbicie – odgrywamy dźwięk odbicia i zmieniamy zwrot wektora RX i/lub RY. 10. Jeśli następuje opuszczenie przez piłkę ekranu – odgrywamy dźwięk, przyznajemy 1 punkt więcej właściwemu graczowi.

23 AmiPong – analiza kodu c.d. 11. Jeśli któryś z graczy otrzyma 10 punktów – zatrzymujemy grę, wyświetlamy napis „Winner”, czekamy na naciśnięcie dowolnego klawisza oraz zerujemy ilość punktów, przywracamy początkową szybkość piłki wracając do etykiety inicjacji rozgrywki. 12. Jeśli gracz nr 2 nie nacisnął joysticka do góry bądź dołu trwa tryb gracz przeciwko komputerowi jeśli natomiast nacisnął tryb AI wyłącza się 13. Każde odbicie piłki jest zliczane – po 15 odbiciach następuje przyspieszenie ruchu piłki oraz zliczanie odbić jest zerowane. 14. Jeśli aktywny jest tryb AI następuje obliczanie czy paletka gracza nr 2 powinna przesunąć się w górę czy dół a może pozostać nieruchomo. 15. Aby AI nie grało zbyt idealnie zasymulujemy chwilę „zastanawiania” się AI – niech ruch paletki AI nie będzie stały tylko będzie losowy od 1 do 4 jednostek. Jeśli wylosuje się liczba 1 to paletka przesunie się wolniej a 4 najszybciej. 16. Jeśli nastąpiło naciśniecie joysticka nr 1 w górę sprawdzamy, czy możemy się w górę jeszcze poruszyć paletką nr 1 jeśli tak dokonujemy aktualizacji pozycji Y1 paletki nr 1. 17. Analogicznie dzieje się z paletką nr 2. 18. Odbywa się sprawdzenie dla ruchu w dół paletki nr 1 i nr 2. 19. Jeśli piłeczka wyszła za ekran serwujemy ją ze środka stołu – ustawiając właściwie X3,Y3 i wartość wektorów RX i RY oraz BALL_SPEED. 20. Następuje powrót do początku pętli głównej programu czyli do punktu 6.

24 Matematyka – układ współrzędnych

25 AMOS Pro – układ współrzędnych

26 AmiPong – etapy rysowania ekranu tytułowego

27 AmiPong – etapy rysowania ekranu tytułowego - Bar 20,30 To 30,90

28 AmiPong – etapy rysowania ekranu tytułowego - Bar 60,40 To 70,60

29 AmiPong – etapy rysowania ekranu tytułowego - Bar 20,50 To 70,60

30 AmiPong – etapy rysowania ekranu tytułowego - Bar 90,30 To 140,40

31 AmiPong – etapy rysowania ekranu tytułowego - Bar 90,80 To 140,90

32 AmiPong – etapy rysowania ekranu tytułowego - Bar 90,30 To 100,80

33 AmiPong – etapy rysowania ekranu tytułowego - Bar 130,30 To 140,90

34 AmiPong – etapy rysowania ekranu tytułowego - Bar 160,30 To 210,40

35 AmiPong – etapy rysowania ekranu tytułowego - Bar 160,30 To 170,90

36 AmiPong – etapy rysowania ekranu tytułowego - Bar 200,30 To 210,90

37 AmiPong – etapy rysowania ekranu tytułowego - Bar 230,30 To 280,40

38 AmiPong – etapy rysowania ekranu tytułowego - Bar 230,80 To 280,90

39 AmiPong – etapy rysowania ekranu tytułowego - Bar 230,30 To 240,90

40 AmiPong – etapy rysowania ekranu tytułowego - Bar 270,60 To 280,80

41 AmiPong – etapy rysowania ekranu tytułowego - Bar 260,60 To 270,70

42 AmiPong – etapy rysowania ekranu tytułowego – Ink 0 Ink 0 – zmiana koloru na kolor nr 0 – jest to kolor czarny co wynika z naszej palety

43 AmiPong – etapy rysowania ekranu tytułowego - Bar 60,30 To 70,40

44 AmiPong – etapy rysowania ekranu tytułowego - Bar 60,50 To 70,60

45 AmiPong – etapy rysowania ekranu tytułowego – efekt końcowy

46 AmiPong – etapy rysowania ekranu tytułowego – efekt końcowy c.d.

47 dodanie pozostałych napisów odbywa się za pomocą instrukcji Centre At (,Y)+”[napis]”),gdzie Y stanowi nr wiersza w którym zostanie umiejscowiony i wycentrowany napis a w miejsce [napis] wstawiamy ciąg tekstowy

48 AmiPong – etapy rysowania stołu stół składa się z 3 elementów: 1) górnej linii poprowadzonej od współrzędnej X = 0 do 319, Y=0 2) dolnej linii poprowadzonej od współrzędnej X = 0 do 319, Y=254 3) przerywanej linii na środku

49 AmiPong – etapy rysowania stołu Do narysowania stołu użyjemy instrukcji rysującej odcinek Draw jej parametrami są współrzędne dwóch punktów (X1, Y1)(X2, Y2) – początku i końca odcinka więc całość instrukcji będzie wyglądała następująco: Draw 0,0 to 319,0 spowoduje narysowanie odcinka górnej linii – krawędzi boiska analogicznie zadziała instrukcja Draw 0,0 to 319,254 rysująca linię dolnej krawędzi boiska

50 AmiPong – etapy rysowania stołu

51 Przerywana linia na środku boiska For I=0 to 240 Step 20 Draw 155,I to 155,I+10 Next I aby skrócić kod posłużono się tzw. pętlą For/Next w pętli ustalamy wartość początkową i końcową ew. skok wszystko to co znajduje się niżej słowa kluczowego For ale przed Next zostaje powtórzone określoną liczbę razy po wywołaniu instrukcji Next wartość zmiennej (w naszym przypadku I) zmienia się o 1 lub o wartość skoku (step) w naszym przypadku 20. Kolejne wartości I będą się zmieniały następująco: 0,20,40,60,…,200,220,240 Generować to będzie automatycznie ciąg instrukcji Draw:

52 AmiPong – etapy rysowania stołu Draw 155,0 To 155,10 Draw 155,20 To 155,30 Draw 155,40 To 155,50 Draw 155,60 To 155,70 Draw 155,80 To 155,90 Draw 155,100 To 155,110 Draw 155,120 To 155,130 Draw 155,140 To 155,150 Draw 155,160 To 155,170 Draw 155,180 To 155,190 Draw 155,200 To 155,210 Draw 155,220 To 155,230 Draw 155,240 To 155,250

53 AmiPong – etapy rysowania stołu które to instrukcje narysują krótkie odcinki na stole tworzące linię przerywaną

54 AmiPong – etapy rysowania stołu Pozostaje już tylko wypisać wynik startowy „0 : 0” poznaną wcześniej instrukcją Centre At(,15)+"0:0” Nie zapominając o zmianie koloru czcionki na mrugający instrukcją Pen 3

55 AmiPong – etapy rysowania stołu oraz nanieść nasze paletki i piłkę Sprite 1,X1,Y1,1 Sprite 2,X2,Y2,1 Sprite 3,X3,Y3,2 Rysujemy poszczególne sprajty – 1,2,3 nanosząc je w miejsce wskazane przez odpowiednie współrzędne. Sprajt nr 2 korzysta z tego samego obrazu co sprajt nr 1 więc ta druga „1” to nie pomyłka. Pytanie: dlaczego zamiast stałych wartości są litery?

56 AmiPong – dźwięki Dla ułatwienia zbiór dźwięków został przygotowany wcześniej i umieszczony w banku dźwięków. Użyte zostały 3 próbki: a)dźwięk odbicia piłeczki od paletki (próbka dźwiękowa nr 1) b)dźwięk odbicia piłeczki od krawędzi (próbka dźwiękowa nr 2) c)dźwięk (gwizdek) opuszczenia boiska przez piłkę (próbka dźwiękowa nr 3) Instrukcją powodującą odegranie dźwięku jest instrukcja Sam Play [Nr] gdzie zamiast [Nr] podajemy nr dźwięku jaki posiada dany dźwięk w banku próbek (sampli) czyli np. do odegrania dźwięku nr 1 wywołamy instrukcję Sam Play 1

57 AmiPong – obsługa joysticka AMOS Pro umożliwia łatwą obsługę myszki i obydwu joysticków. Aby sprawdzić czy dany stan joysticka został osiągnięty sprawdzamy wartość poszczególnych funkcji: Jup([nr_portu])=True (joy w górę) Jdown([nr_portu])=True (joy w dół) gdzie [nr_portu] = 0 dla joysticka znajdującego się w porcie myszki i 1 dla znajdującego się w porcie joysticka.

58 AmiPong – zakończenie działania programu Do zakończenia działania programu służy instrukcja End która nie przyjmuje żadnych parametrów

59 AmiPong – poruszanie paletek W AMOS Pro zapis warunku (jeżeli… to) będzie wyglądał następująco: If [warunek] Then [akcja] lub If [warunek] [akcja 1] [akcja 2] [akcja …] [ostatnia akcja] End If lub If [warunek] [akcja 1] [akcja 2] [akcja …] Else [inna akcja 1] [inna akcja 2] [inna akcja …] [inna ostatnia akcja] End If gdzie [warunek] to matematyczne wyrażenie logiczne a [akcja] instrukcja lub ciąg instrukcji która zostanie tylko wtedy wykonana jeśli dany warunek jest spełniony. po Else natomiast zostaną wykonane instrukcje jeśli warunek będzie niespełniony U nas będzie to wyrażenie: Jeśli joystick nr 1 jest naciśnięty do góry oraz paletka nie znajduję się jeszcze w najwyższej pozycji wykonaj ruch paletki do góry (zmniejszając wartość współrzędnej Y1 o wartość PADDLE_SPEED) Analogicznie wygląda sprawa poruszania w dół.

60 AmiPong – poruszanie paletek Wyrażenia logiczne w AMOS Pro możemy tworzyć w następujący sposób – możemy: a)używać liczb rzeczywistych b)używać nazw zmiennych i stałych c)używać operatorów I (and) LUB (or) zaprzeczenia NIE (not) d)używać wyników instrukcji e)używać operatorów = >= <=

61 AmiPong – wyrażenia logiczne Przykłady: If P1=10 Then End Jeśli zmienna P1 jest równa 10 zakończ program.

62 AmiPong – wyrażenia logiczne Przykłady: If P1=10 and P2=0 Then Print „Przewaliłeś do 0!” Jeśli zmienna P1 (ilość punktów gracza nr 1) wynosi 10 a drugiego gracza P2 nic (0) wtedy wyświetl komunikat „Przewaliłeś do 0!”

63 AmiPong – wyrażenia logiczne Przykłady: If AI=True and P2=„10” Print „Zwyciężył gracz komputerowy”. Jeśli gramy w trybie P2C i gracz komputerowy osiągnął wynik 10 punktów wyświetl komunikat jak powyżej.

64 AmiPong – poruszanie paletek Aby poruszyć paletką nr 1 sprawdzany jest fakt, czy joystick nr 0 jest naciśnięty do góry lub do dołu. Po wykryciu kierunku naciśnięcia współrzędna Y1 jest zwiększona (ruch do dołu) lub zmniejszona (ruch do góry) o wartość zmiennej PADDLE_SPEED (za jej pomocą regulujemy szybkość z jaką może poruszać się paletka nr 1 – w naszym przypadku = 2 czyli 2 piksele na jeden cykl). Zwiększenie lub zmniejszenie wartości Y1 uzależnione jest też od tego czy paletka nr 1 nie osiągnęła krańcowej pozycji na górze lub dole – w takim przypadku dalszy ruch jest niemożliwy do wykonania. Górną i dolną krawędź określają zdefiniowane wcześniej w kodzie programu stałe: MN_Y_POS i MX_Y_POS (minimal_y_position i maximal_y_position).

65 AmiPong – poruszanie paletek W AMOS Pro zapis warunku będzie wyglądał następująco: If Jup(1)=True and Y1>MN_Y_POS Then Y1=Y1- PADDLE_SPEED If Jdown(1)=True and Y1<MX_Y_POS Then Y1=Y1+PADDLE_SPEED

66 AmiPong – sztuczna inteligencja Do sterowania sztuczną inteligencją wykorzystamy poznaną wcześniej instrukcję warunkową Przeanalizujmy następującą sytuację:

67 AmiPong – sztuczna inteligencja c.d.

68 AmiPong – generator liczb pseudolosowych Jest to zestaw dwóch funkcji. Pierwsza służy do tego aby uruchomić wewnętrzny generator liczb i uzależnić otrzymywane wartości od stanów zegara czasu rzeczywistego Randomize Timer które zwracają wartość z przedziału 0..Max, gdzie max to liczba całkowita, większa od 0 określają

69 AmiPong – generator liczb pseudolosowych c.d. Druga instrukcja Rnd([liczba]) zwraca losową wartość z przedziału 0..liczba, gdzie liczba to liczba całkowita, większa od 0. np. Rnd(5) może wylosować nam wartości – 0,1,2,3,4,5

70 AmiPong – sztuczna inteligencja Dokonajmy analizy kodu: If AI=True and Y2>MN_Y_POS and Y3<Y2 Y2=Y2-(1+Rnd(3)) If Y2<MN_Y_POS Y2=MN_Y_POS End If

71 AmiPong – sztuczna inteligencja Sprawdzamy czy warunek jest prawdziwy – trzeba spełnić wszystkie 3 warunki jednocześnie 1.tryb gry to P2C. 2.pozycja Y2 paletki gracza 2 jest większa niż minimalna dopuszczalna pozycja Y dla paletek 3.pozycja Y3 piłeczki jest mniejsza niż pozycja Y2 paletki gracza 2 (piłeczka jest wyżej niż paletka)

72 AmiPong – sztuczna inteligencja Wtedy poruszymy paletką gracza komputerowego w górę o wylosowaną ilość jednostek – od 1 do 4. Upewnimy się jeszcze, że nie wyjechaliśmy paletką za bardzo do góry – jeśli tak to ustalamy, że pozycją Y2 dla paletki gracza komputerowego będzie minimalna dopuszczalna dla paletek pozycja MN_Y_POS zdefiniowana wcześniej jako stała w kodzie programu. Analogicznie postępujemy ze sprawdzeniem konieczności ruchu w dół paletki gracza komputerowego.

73 AmiPong – odbicie piłki od paletek Przeanalizujmy sytuację odbicia się piłeczki:

74 AmiPong – odbicie piłki od paletek Aby sprawdzić, czy faktycznie piłeczka znajduje się w pozycji opisanej powyżej należy sprawdzić wartość jaką zwraca instrukcja warunkowa: If X3>=X2-BALL_SIZE and X3 =Y2-BALL_SIZE and Y3<=Y2+PADDLE_H RX=RX*(-1) X3=X3+RX Sam Play 1 SPEEDUP_COUNTER=SPEEDUP_COUNTER+1 End If

75 AmiPong – odbicie piłki od linii boiska Aby sprawdzić czy piłka odbiła się od górnej linii boiska sprawdzamy warunek: If Y3<=MN_Y_POS RY=BALL_SPEED Sam Play 2 End If

76 AmiPong – odbicie piłki od linii boiska Jeżeli pozycja Y3 piłki jest mniejsza lub równa minimalnej dopuszczalnej pozycji Y wtedy: 1.Wektor przesunięcia piłki góra/dół RY ma znak dodatni i jest równy wartości szybkości piłki. 2.Odegraj dźwięk odbicia od stołu. Analogicznie dla odbicia na dole ekranu.

77 AmiPong – zdobycie punktu Aby sprawdzić czy piłka przekroczyła linię ekranu z prawej strony (gracz nr 2 nie odbił piłki) trzeba sprawdzić warunek If X3>X2+PADDLE_W P1=P1+1 SPEEDUP_COUNTER=0 X3=280 Y3=46+Rnd(200) RX=-BALL_SPEED RY=BALL_SPEED Sam Play 3 End If

78 AmiPong – zdobycie punktu Jeżeli współrzędna położenia piłeczki X3 jest większa niż X2 powiększona o grubość paletki uznajemy, że piłka wyszła za ekran z prawej strony i wykonujemy szereg kroków: 1. Zwiększamy o 1 punkt stan punktów gracza 1. 2. Zerujemy licznik poprawnych odbić aby nie dopuścić do przypadkowego przyspieszenia piłeczki. 3. Serwujemy piłeczkę ustawiając ją na środku ekranu względem osi X. 4. Losujemy pozycję góra/dół dla piłeczki skąd rozpocznie się serwowanie. 5. Zmieniamy kierunek poruszania się piłki na osi X (lewo/prawo). 6. Odgrywamy dźwięk opuszczenia stołu przez piłkę. Analogicznie przeprowadzamy sprawdzenie dla opuszczenia piłki z lewej strony ekranu.

79 AmiPong – zmiana szybkości piłki Aby sprawdzić czy należy przyspieszyć ruch piłki potrzeba sprawdzić warunek: If SPEEDUP_COUNTER>=SPEEDUP_STEP BALL_SPEED=BALL_SPEED+1 SPEEDUP_COUNTER=0 End If

80 AmiPong – zmiana szybkości piłki Jeżeli licznik prawidłowych odbić przekroczy zadaną wcześniej wartość to zwiększamy szybkość poruszania się piłki o 1 oraz zerujemy licznik prawidłowych odbić.

81 AmiPong – pobieranie elementów graficznych z obrazu do banku graf.

82 AmiPong – ponowna rozgrywka Aby sprawdzić, czy należy zakończyć rozgrywkę należy sprawdzić stan punktów obydwóch graczy. Jeśli dowolny z nich ma 10 punktów wtedy: If P1=10 Centre At(,15)+"Player 1 WINS!" Wait Key Centre At(,15)+" " Goto INIT_GAME End If Zatrzymujemy grę wpierw wyświetlając komunikat o zwycięstwie właściwego gracza i czekamy na naciśnięcie dowolnego klawisze po czym udajemy się do etykiety INIT_GAME aby ustawić odpowiednio wszystkie zmienne – wyzerować punkty, zaserwować piłkę, dobrać odpowiednio szybkość poruszania piłki i paletek itd.

83 AmiPong – wnioski końcowe jakieś pytania? która część kodu i dlaczego stwarza problem w interpretacji? ważniejsza od języka jest algorytmika jest jeszcze dużo do zrobienia w kwestii fizyki gry czym ta gra różni się od oryginału zrobienie nawet klonu prostej gry wiele uczy można jeszcze bardziej zoptymalizować kod program będzie nadal rozwijany zachęcam do własnych eksperymentów z kodem kontakt do autora: jkremski@plusnet.pljkremski@plusnet.pl grę można pobrać z: http://duoz.pl/ppa/pong.adfhttp://duoz.pl/ppa/pong.adf


Pobierz ppt "AMOS Pro 2.0 w praktyce Na przykładzie klonu gry Pong Jacek Kremski na spotkanie: AMIGA - początki kultury w wersji cyfrowej, spotkanie III Rzeszów 15.11.2014."

Podobne prezentacje


Reklamy Google