sergiy
6 лет назад43 FreeBASIC Квадратная спираль-2(в символах и точках)
Теперь нужно "нарисовать" такую квадратную спираль в массив - заполнив например числами или текстом.
Она и отличается то, тем что вместо рисования линию нужно ставить поточечно.
dim a (1 to 12, 1 to 12) as integer
dim as integer i, j, x, y, k, dx,dy, z
x=6: y=6: z=1
for i=1 to 11
for k=0 to 1
if (2*i+k) mod 4 = 1 then dx=1: dy=0
if (2*i+k) mod 4 = 2 then dx=0: dy=1
if (2*i+k) mod 4 = 3 then dx=-1:dy=0
if (2*i+k) mod 4 = 0 then dx=0: dy=-1
for j=1 to i
a(x,y)=z:z+=1
locate y+6,x*4+6:print a(x,y)
sleep 25
x+=dx: y+=dy
if z>121 then exit for,for,for
next j
next k
next i
sleep
Пришлось поставить костыль программе - if z>121 then exit for,for,for
так как она упорно рисовала ещё одну строку чисел до 132))
А теперь непосредственно - точки.
dim a (1 to 12, 1 to 12) as integer
dim as integer i, j, x, y, k, dx,dy, z
x=400: y=300: z=1
screenres 800,600
for i=1 to 600
for k=0 to 1
if (2*i+k) mod 4 = 1 then dx=1: dy=0
if (2*i+k) mod 4 = 2 then dx=0: dy=1
if (2*i+k) mod 4 = 3 then dx=-1:dy=0
if (2*i+k) mod 4 = 0 then dx=0: dy=-1
for j=1 to i
pset(x,y)
x+=dx: y+=dy
next j
next k
next i
sleep
Теперь всё готово к следующему посту...