Dobrze Ci się wydaje. Po komendzie aby uniknąć bajzlu można stosować średnik ";" i po nim opis. Amal nie obsługuje zmiennych. A ich funkcje zastępują rejestry. Aby nadać wartość trzeba to robić komendą "L". Tu się mogę mylić, że: każdy program w AMALu jest kompilowany oddzielnie. tzn. że pracują w multitaskingu? (nawet pod edytorem?) W helpie od AMOSa jest kilka przykładów. Pomimo użycia "break" ctrl-c pod edytorem w AMOSie, animacje są nadal wykonywane. mimo, że program został przerwany.
Jednym słowem, animacje bobów, spritów, rainbowy, rzeźbić tylko w AMALu. Jeśli chcemy mieć płynne animacje wielu rzeczy naraz. Jak będę miał chwilę czasu spróbuję coś sklepać prostego jako przykład. Ale nie obiecuję tego na 100%.
Kolejną rzeczą jest nieużywanie For ... Next. Jest to chyba najwolniejsza pętla w AMOSie.
Najszybszą jest tu: Do ... inc i ... if i=x then exit ... Loop
Nie wiem ja z tą: While n=x ... Wend. i tą Repeat : Until
Generalnie można napisać sobie benchmark z użyciem Timera:
'
'
'
Timer=0
T=Timer/50
Do
inc TEST
if TEST=1000000 then exit
loop
print Timer
i adekwatnie polecieć tak z każdymi
for i =1 to 1000000 : next
print timer
wyniki dadzą najlepszy rezultat kiedy będziemy taką pętlę męczyć kilka minut. wtedy różnice w wyniku końcowym będą bardziej zauważalne.
założę się, że for next przegra ze wszystkimi. ale jest jedno ale for może mieć jeszcze step, czyli inc powinno się zastąpić add a ta z kolei też podobno do szybkich nie należy.
myślę że nie ma sensu używania print w trakcie wykonywania pętli bo nam to spowolni cały test i przy okazji może wypaczyć wynik końcowy. ale mogę się mylić, bo piszę na forum a nie w AMOSie :D Może na to akurat znajdę szybko czas. I co ważne sprawdzić testy pod edytorem i skompilowane pod systemem. skompilowane programy działają procentowo dużo szybciej i tu zaczyna się powrót do AMALa który nie wiem czy się kompiluje oddzielnie w "locie" czy nie. ale się dowiem...
i mam jeszcze jedną zagadkę, czy używanie, ekstenszynów takich jak AMCAF , CRAFT itp. też ma wpływ na szybkość działania czy jest to bez znaczenia.
Generalnie największą porażką w AMOSie jest jego kompilator, który mógłby sprawić, żeby skompilowane programy działały jeszcze szybciej i nie umieszczał tylu zbędnych danych w skompilowanym kodzie, których skompilowany program i tak nie używa. Ja wiem tam można wyłączyć dużo rzeczy. Ale mimo to i tak porażka. o 4kb intrach można zapomnieć.
pozdro