prgmPATTERN (438 bytes)

It draws a pattern based on a seed of four numbers (each must be an integer in between of 1 and 10) separated with commas. If you enter "RAN" it will be random:

1. Number: Size of one circle or limit of X (Pixels affected)

2. Number: Zoom, be careful! (Speed of drawing affected)

3. Number: Step of X (Step in between of pixels)

4. Number: Step of Y, Y is the distance between the circles drawn. (Pixels affected)

While drawing: Press Enter to pause, Enter again to unpause. Press Clear to quit.

```
:StoreGDB 8
:ClrHome
:Input "Enter Seed*6 spaces here*",Str0
:If Str0="RAN
:Then
:"?"->Str0
:For(A,1,4
:{0,1->L1
:{0,randInt(1,10->L2
:LinReg(ax+b) Y1
:Equ>String(Y1,Str9
:sub(Str9,1,length(Str9)-3)+","+Str0->Str0
:End
:sub(Str0,1,length(Str0)-2)->Str0
:End
:expr("{"+Str0->L1
:0->B
:For(A,1,4
:L1(A
:B+(Ans>10 or Ans<1 or fPart(Ans)->B
:End
:If B+not(dim(L1)=4
:Then
:Disp "Invalid Seed!
:Stop
:End
:FnOff
:PlotsOff
:ClrDraw
:ZDtandard
:ZInteger
:AxesOff
:Func
:L1(1)->A
:L1(2)/2->B
:L1(3)->C
:L1(4)->D
:If (B-2.5)>0
:Then
:For(E,1,B-2.5
:Zoom In
:End
:End
:If (B-2.5)<0
:Then
:For(E,-1,B-2.5,-1
:Zoom Out
:End
:End
:While 1
:0->X
:Y+D->Y
:For(X,1,10A,C
:Pt-On(Ycos(X),Ysin(X
:getKey
:If 105=Ans
:Pause
:If 45=Ans
:Goto EX
:End
:End
:Lbl EX
:ClrDraw
:Recall GDB8
:Delvar GDB8Delvar Str0ClrHome
:Output(1,1,"
```

Hope you will like this:)