Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet
09 мая 2025 Пт
Меня продрало на Спектрумский Бейсик
Однажды, давным-давно... в далеком детстве, в далекой-предалекой галактике жил-был один Лис. Но его не звали еще так. Он пытался сделать всякие мелкие программы, и не получилось ничего хорошего.
В общем, сегодня просто с утра решил посмотреть как работает генерация псевдографики, для интереса. Несмотря на небольшую программу, получилось весьма эффектно.

В общем, сегодня просто с утра решил посмотреть как работает генерация псевдографики, для интереса. Несмотря на небольшую программу, получилось весьма эффектно.

BORDER 0: PAPER 0: INK 7: CLS FOR Y=0 TO 20 STEP 2 FOR X=0 TO 30 STEP 2 BRIGHT 0 GO TO #A + 2*INT(RND*4) #A INK 4: PRINT AT Y,X;";,"; PRINT AT Y+1,X;",:";: GO TO #E INK 4: PRINT AT Y,X;",."; PRINT AT Y+1,X;".,";: GO TO #E INK 1: BRIGHT 1: PRINT AT Y,X;"~^"; PRINT AT Y+1,X;"v~";: GO TO #E INK 4: BRIGHT 1: PRINT AT Y,X;"%%"; INK 6: BRIGHT 0: PRINT AT Y+1,X;"||";: GO TO #E #E NEXT X NEXT Y INK 3 LET X=14: LET Y=9 PRINT AT Y,X+1;"O" PRINT AT Y+1,X;"(#\" PRINT AT Y+2,X;"/ \" STOP
08 мая 2025 Чт
Эмеральд
Подумал как-то с утра, сделать бы эмеральд на спектруме и сделал что-то. Получилось оно или нет, мне известно не настолько точно, тем более я сделал код на модифицированном предбейсике для спектрума.

Чтобы не потерять его и полимеры впридачу, просто покажу как он выглядит в бейсик-виде. Этот эмеральд рисуется немало времени, в пределах 4 секунд на 3.5 мгц процессоре.


Чтобы не потерять его и полимеры впридачу, просто покажу как он выглядит в бейсик-виде. Этот эмеральд рисуется немало времени, в пределах 4 секунд на 3.5 мгц процессоре.
BORDER 0: PAPER 0: INK 7: CLS LET CX=0 LET CY=-0.5 LET CZ=2 LET K=1.1 LET X=0: LET Y=-1: LET Z=0 GO SUB #A LET DX=XP: LET DY=YP LET F=0 FOR I=2 TO 4.5 STEP 1.046/2 LET X1=SIN(I): LET Z1=COS(I) LET X2=SIN(I)*K: LET Z2=COS(I)*K -- Верхняя точка LET X=X1: LET Y=1: LET Z=Z1: GO SUB #A PLOT XP,YP IF F=0 THEN GO TO #PA DRAW AX-XP,AY-YP #PA REM "SKIP 1" LET AX=XP: LET AY=YP: REM "PREV POINT1" LET X0=XP: LET Y=0.7: LET Y0=YP LET X=X2: LET Z=Z2: GO SUB #A PLOT AX, AY: DRAW XP-AX,YP-AY IF F=0 THEN GO TO #PB DRAW BX-XP, BY-YP #PB REM "SKIP 2" LET BX=XP: LET BY=YP: REM "PREV POINT2" -- Грань кристалла PLOT BX,BY: DRAW DX-BX,DY-BY LET F=1 NEXT I STOP #A REM "PROJECTION" LET XP=128+(X+CX)*85/(CZ+Z) LET YP=85+(Y+CY)*85/(CZ+Z) RETURN


<< Ранние записи |
Поздние записи >>