ЮЬЬЬЬˆˆˆЌЊЊЊЌˆˆˆЌЬЬЬЌЬРЬЌЬРЬЌЬРЬЬЬьюˆˆЬюЊЊРюˆЈРюЬЌРЬРЌРРРЌРРРЌРРЮЬЬЬЬˆˆˆЌЊЊЊЌˆˆˆЌЬЬЬЌЬЬЬЌЬРЬЌЬРЬЬЬьюˆˆЬюЊЊРюˆЈРюЬЌРЬЬЌРРРЌРРРЌРРЌЬЬЬЌЊЊЊЌЊЌЊЌЊЪЬЌЊЊЊŒˆˆˆЬРЬЮЬЬЮЬЌЬЊЊРьЌЊРюЊЊРюЊЊРюˆˆЬюРьюЬЬююЌЬЬЬЌЊЊЊЌЊЌЊЌЊЪЬЌЊЊЊŒˆˆˆЬРЬЮЬЬЮЬЌЬЊЊРьЌЊРюЊЊРюЊЊРюˆˆЬюРьюЬЬюю >ƒ?№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџ№џџџџџџ№џџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџ№џџџџ№џџџџџџџ№џџџџџџџ№џџџ№џџџџџџџџџџџ№џџџџџџџџ№џџџџџџџ№џџ№џџџџџџџџџџџџџџ№џџџџџџџџџџ№џџџџџџџџ№џџџџџџџ№џџџџџџџџџџ№џџџџџџџџ№џџ№џџџџџџџџ№џџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџ№џџџџџџџџ№џ№џџџџџџџџџџџџџџџџ№џџџџџџџџџ№џџџџџџџ№џџџџџџџџџ№џџџџџ№џџџџџџџџџџ№џ№џџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџ№џ№џ№џџџџџџџ№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџ№№№џџџџџ№џ№№џ№џџџџџџџџџџџџџџџџџџџџџџ№џџџџ№џџ№џџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџ№џџџџџ№№№џџџџ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№џџџ№џџџ№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџ№№џџџџџџ№№№џџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџџџџ№џџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџ№№џџџџ№џџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџџџ№џ№џџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџ№џџ№џџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№№№џ№џџџџџџџ№џџ№№џџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџ№џџџџџџ№џџ№№џџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџџџџ№џџџ№№џџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџџџ№џџџџ№џџџџ№џџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№џџџџџџџ№џџџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџ№џџџџџџџџџџџ№џ№џџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџ№№џџџџџџџ№џџџ№џџџ№џџџџџџџџџџџџџџџџџџџ№џџ№џџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџ№џџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№№џџ№џџџџџџџџџџџ№џџџџџ№џџџџџџџџ№џџџџџџџџ№џџ№џџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџџџ№№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џ№џ№џџџџџџџџџџџџџџџ№џџџџџ№џџџ№џџџџџџџџџџ№џџ№џџџџџџџџџџџџџџџџџџџџџџџ№џџ№џ№џ№№џџџџџџ№№џџ№џџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџџ№џџџџџџџ№џџџџџџ№џџџџџџџџџџџџ№џџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџ№№№џџџџџџџџ№џџџџџџџџ№џџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џ№џ№џџџџџџџџ№џџџ№џџ№џџџ№џџџџџџџ№џџџџџџ№џџџџџџџџџџ№џџџџџ№џџџџ№џџџџџџџџџџџ№џџџџџџџџџ№џџџџџџџџ№№џџџџџџџџџџџ№џџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№џ№џџџџџџџџџџ№џџ№џџџџџџџџџџџџџ№џџџџџџџџџџџџџ№џџ№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџ№џџџџџџ№џџџ№џџ№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№џџџџџџџџџџџџџџ№џџџ№џџџџџџџџџџџџ№џџ№џџџџ№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџџџџџџџџџџџџџџџ№џџџџџџџџџ№џџџџџ№џџџџ№џџџ№џџџџџџџџџџ№џџџџџџ№џџџџџџџџџџџџџџџ№№џџџ№џџџџџџџџџџџџџџџџџџ№џџџџ№џџџџџ№џџџџџџ№џ№џџ№џџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџ№џџ№џ№џџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџ№џџ№џџџџ№џџ№џџџџџџџ№џџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџџџ№џџџџџџ№џ№џџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџ№№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№№џџџџ№џџ№џџџџџџџџџџ№џџџџ№џџџџџџџџџџџџџџџџџџ№џџ№џ№џџџџџџ№џџџџџџџџџ№џџџ№џџџџџџ№џџџџџ№џ№џџџ№џџџџџџџџџџџџџџџ№џџ№џџџџџџџџџџџ№џџ№№џџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№џџџџ№џ№џџџџџџџџџџ№џџџ№џџџџџџџџџџџџџџџџџџџ№џџџ№џ№џџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџџџџџ№џџџџ№џџџџџџџџџџ№џџџџџџ№џџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№№џџџ№№џџџџџџџџџџџџџџџџџџ№џџџџџџџџџџ№џџџџџџџ№№№џџџџџџ№џџџџ№џџџџџџџ№џџџџџџ№џџџџџџџџџџџџџџџџ№џџ№џџџ№џџџџџџџџџџџџџџџџџ№џ№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№№џ№№џџџџџџџџџџџџџџџџџџџџџ№џџџџ№џџџџџџџџџџџџџ№џџ№№№№џџџџџ№џџџ№№џџџџџџџџ№џџџџџџџџџ№џ№џџџџџџџџ№џџ№џџџџџ№џџџџџџ№џџџџџџ№џ№№џ№џџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџ№џџ№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџ№№№№џ№џџџџџ№џџџџџџџџџџџџџџџџџ№џџџџ№џ№џџџџџ№џџџџ№џџ№џџџџџ№џџџџџџџџџџџџ№џџџџџ№№џ№џџџџ№џџџџџџџџџџџ№џџџџџџџџџџџџџџџ№џ№џџ№№№№№џџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџ№џџџџџ№№џ№џ№№џ№џ№џџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџ№џџџџџџџџџџџџ№џџџџџџџџџ№џџџџџџџџџџ№џџ№№џ№џ№џџџ№џџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№№№№џџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџ№џ№џ№џџџџ№џџџџџџ№џџ№џџџџџџџџџџџџџџџџџџ№џ№џџ№№џџ№џ№џџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџ№№џ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№№№№џџ№џ№џџџџџџџџџ№џџџџџџ№џџџџџџџџџџџџџ№џџџџџ№џ№џџџџџџџџџ№џџ№џџџџџџџџџџџџџџџџџџџџ№џ№№џџџ№џџ№џџџџџџџџџџџџџџџџџџџ№џџџџџ№џџџџ№џџ№џ№џџ№џџ№џџџџ№џџ№џџџџџџџџ№џ№џџџџџџџџџџџџџџџ№џџ№џџџ№№№џџ№џџџџџџџџџџџџџџџџџџџ№џџџџџџџџ№џџџџџџџџџџ№џџџ№џџџџџџџ№џџџџ№џ№џџџџџџџџџџџџџџџ№џџ№џџ№№џџџџ№џџџџџџџџџџџџџџџџџџџџџ№џџџџџ№џџџџџџџџџџџџџџџџџџџџџџџ№џџ№џ№џџџџџџџџџџџџџџџџџ№џџ№№џџ№№№џџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџ№џџџџџџ№џџџ№џџџџџџ№џџџџџџџ№џ№џџџџџџџџџџџџџџ№џџ№№џџ№№џџ№џџџџџџџџџџџџ№џџџ№џ№џ№џџџџџџџ№џџџџџџџџ№џџ№џџџџџџџ№џџ№џџџџ№џ№џџџџџџџџџџџџџџџ№џџ№№џџ№№№№џџџџџџџџџџџџџџџџџџ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџџ№№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџ№џ№џ№џџџџџџџџџџџџџџџџџ№џџџ№џ№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџ№џ№џџџ№џџ№џ№џџџџџџџџџџџџџџџџџџџџ№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџџџ№џџ№џџ№џ№џ№џџџџџџџџџџџџџџџџџ№№џ№№џџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџ№џџџџџџ№џџџџџџџџџџ№џ№џџ№џџџџџџџџџџџџџџџџџ№џџ№№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџџџџџџџџџ№џџџџџџџџџџџџџџџџ№№џ№№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџџџџџџџџџџџ№џџџџџ№џџџ№џџџџ№№џџџџџџџџџџџџџџџџџ№№џ№№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№џџџ№џџ№џџџџџ№џџџџџџџџџџџ№џџџџџ№№џ№№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№џџџџџџџџџџџ№№џ№џџџџџџџџџџџџџџџ№№џ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџџџџџ№џџџџџџџ№џџ№џџџџџ№№џ№№џ№џџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№џџџџ№џџџ№џџџ№џџ№џџџџџџџџџџџ№џџџ№№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џџџџ№џџџџџџџџџџџџџџџџџџ№џџџ№№№џ№џџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџ№џџџџ№џ№џџџџџџ№џџџџџџ№№№џџ№џџ№џџџџ№џџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џџџџџџџџџџ№џџџџџџџџџџџ№џџџ№№џџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџ№џ№џ№№џ№џџџџџџ№џџџџџ№№№№џ№№џџџџџ№џџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџџџ№џџџџџџџџ№џџџџ№џ№№џџџџ№џџџџџџџџџџџџџџџџџџџџџџ№џ№џџџџџџ№№№џџџџџџџџџџџџ№№№№џџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџџ№џџџ№џџџџџ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№№џџџ№џџџџџџџ№№№№№џџџџџџџџџџџџџџџџџџџџџџ№џџџџџ№џџџџџ№џ№№џџ№џџџџџџџџџ№џџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џџџџџџ№џ№№џ№№№џџџџџ№џџџџџџџџџџџџџ№џџџ№џџџџџ№џ№№џџ№џџџџџ№џџџ№№џџџџџџџџџџџџџџџџџџџџџџџџ№џџџџџџ№џ№џ№џџџџ№џџ№џџ№№џ№џџџџџџџџџџџџџџџ№џџџџџ№џџ№џ№№№№џџџџџџџџџ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№џџџџ№џ№№џџџ№џџџџџ№џџџџџџџџџџџ№№№№№џџџџџ№џ№џџџџџџџџџџџџџџџџџџџџ№џџџџ№џџџџџџџџџџ№џџџџ№џџџџџџџџџ№џџџџ№№№№џџџџџ№џџџџџ№џ№џџџџџџџџџџџџ№џ№џџџџџџџ№џџџ№№џ№џџџџџџџџџџџ№№џ№џџџџџџџџџџџџ№џџџџџџџџџџџџ№џџ№џџџџџџџџ№џџџ№џџџџџ№џџџ№џџџџџ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџџ№№џџџџџ№џџ№џџџџџ№џ№џџџ№џџџџџџџ№џџџ№џџџџ№џџџџџџџџџџџ№џџ№џџџџ№џџ№џџџ№џџџџ№№№џџџ№џџџџџџџџџ№џџџџџџџ№џџџџџ№џџ№№№№џџџџ№џџ№џџџџџџџџ№№џџџџџџџџџ№џџџ№џџџ№џџџџџџџџџџџџ№№№џџџџџџџ№џџџџџ№џ№№џџџџџџџџ№џџџџџџџџџџџ№џџџџџџџџџ№џџџџџџџџџџ№џџџџџџџџџџџџ№џџ№џџџџџџџ№џџџџ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџ№џџ№№џџџџ№џџџ№џџџџ№џџџџџџџ№џџџџџџџџџџ№џџџџџџџџџџџџџџџџџ№џџџЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊ џџџџџ юююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююЎџџ№ъЮЬЬьююююююююююююююююўџююўџяююююююрюююююю!ююююююю23юююю>3уююNDфюююююю^UUхeffffцnfцю џџџ ъЮDDЬнннннэннююююNNюDDєююўDџџююDDсA$ю""""""C4333у>DфDDDDDDDUUюю^DDUFDfDDffDчюЊ№џџџ юЮDЬдMDнDMнMDююююDDфўOєююўDD@ююDADDDA$.BD"DD2DD4DD3>CDDDDDDDDDTюю^UEdDFdfFdFDчюЎџџџџ юЮDЬдDMдDDдDюфюююNNюџDџююўDџ@ююDADB$.D"$D"4C43D34>DDDDDDDDDTUюю^EDfDddFDffDчюЎџџџџ юЮDмдDдндддDюфюююDDєOєяююўD@DююDDAD!B$"D"$D23C43D33NDDDDDDDTUDTюю^DefDfdDffvDwюЎџџџ ъЮDDнMDндддNDююююNNџDџюююўDD@ююDADDсю"D$BD"Dую3D4DуюNDDDDDDDTDDUюю^DDdFDfDDdGDtюЊџџџъЮмнэнннннэюююююююўџџяюююўр@Dююсюсю."""""2ую>333уюNDфDDDDTUUUхюю^efffffffvwwwю џџџ ююююююююююююююююююююююююююююрююююююююююююююююююююююююююююююююююююююююююююююююююююююЎџџџЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊЊ џџџ№џџџџџџџџ№џџџџg -- title: additive waves -- author: parlortricks -- desc: add sine waves together -- script: lua -- SPDX-License-Identifier: GPL-3.0-or-later -- Copyright (c) 2021 parlortricks --constants local m = math local sin = m.sin local cos = m.cos local pi = m.pi local tau = 2*pi local floor = m.floor local ceil = m.ceil local rnd = m.random local t = time local dt=0 local screen_width = 240 local screen_height = 136 --end constants --start footer stuff local rainbow=0 local footer_duration=3 local footer_step=0 local footer_text="Demo #7 by Parlortricks 2021" local footer_y=126 --end footer stuff local debug=false function mapv(value,start1,stop1,start2,stop2) --https://processing.org/reference/map_.html --https://stackoverflow.com/questions/3451553/value-remapping return start2+(stop2-start2)*((value-start1)/(stop1-start1)) end function footer(text) local text = text local x,y=2,footer_y local pxtext=#text*6 local cx=120-pxtext/2 circ(cx,y+2,5,10) circ(cx,y+2,4,14) circ(cx+pxtext-2,y+2,5,10) circ(cx+pxtext-2,y+2,4,14) rect(cx-2,y-3,pxtext+3,11,10) rect(cx-2,y-2,pxtext+3,9,14) for k1=-1,1 do for k2=-1,1 do print(text,cx+k1,y+k2,12,true) end end print(text,cx,y,4,true) for i=cx-1,cx+pxtext do for j=y-1,y+6 do if pix(i,j)==12 then pix(i,j,(i+j+rainbow)/16) end end end end FPS = {} function FPS:new(o) o = o or {} setmetatable(o, self) self.__index = self self.value = 0 self.frames = 0 self.lastTime = 0 return FPS end function FPS:getValue() if (time() - self.lastTime <= 1000) then self.frames = self.frames + 1 else self.value = self.frames self.frames = 0 self.lastTime = time() end return self.value end function stats() if debug then rect(0, 0, screen_width,5, 15) fpsv="FPS: " .. fps:getValue() print(fpsv, (screen_width / 2)-(#fpsv*6/2), 0, 11, false, 1, false) end end local waves={} local wcount=3 local wcol=0 local Wave={amp=0,period=0,phase=0} function Wave:new(o) o = o or {} setmetatable(o, self) self.__index = self self.amp = o.amp or 0 self.period = o.period or 0 self.phase = o.phase or 0 return o end function Wave:eval(x) return sin(self.phase+(tau*x)/self.period)*self.amp end function Wave:update() self.phase = self.phase + 0.05 end function waves_init(v) for i=1,v do waves[i]=Wave:new({amp=rnd(20,50), period=rnd(0,240), phase=rnd()*tau}) end wcol=ceil((rnd(0,14)))+1 end function init() waves_init(wcount) fps = FPS:new() end function input() if btnp()~=0 then waves_init(wcount) end if keyp(49) then debug = not debug end end init() function TIC() cls(0) input() dt = dt + 1 if dt >= 600 then waves_init(wcount) dt = 0 end for x=0,screen_width,0.01 do local y=0 for i=1,#waves do y = y + waves[i]:eval(x) end pix(x,y+screen_height/2,wcol) end for i=1,#waves do waves[i]:update() end --start footer stuff if footer_step < 180 then footer(footer_text) footer_step=footer_step+1 rainbow = rainbow + 1 elseif footer_y < 146 then footer(footer_text) footer_y=footer_y+1 rainbow = rainbow + 1 else end --end footer stuff stats() end