Славная вчера вышла битва титанов: кто сделает лучше - Яандекс или Google? Выиграл Google, который молча переписал код из BBC MicroBot на PureBasic:
Я переписал код на MMBasic и потратил час, чтобы понять, почему не работает программа. Секрет в проверке условия rnd(). Оригинал программы(все же есть разница):
MODE4:VDU29,640;512;5:DIMS(35),C(35):F=RAD10:FORA%=0TO35:S(A%)=SIN(F*A%):C(A%)=COS(F*A%):NEXT:FORI%=0TOHIMEM:R%=EXP(I%*.007)*32:S%=EXP((I%-36)*.007)*32:A%=I%MOD36:IFRND>0MOVES%*S(O%),S%*C(O%):DRAWR%*S(A%),R%*C(A%):O%=A%:NEXTELSEMOVER%*S(O%),R%*C(O%):DRAWS%*S(A%),S%*C(A%):O%=A%:NEXT
Со Спектрумом вышла та же битва: написать алгоритм Брезенхема для рисования линии и изменить код, чтобы вышла не простая спираль, а то, что на оригинале. Исходники трех версий здесь.



Комментарии
Отправить комментарий