Home » Archimedes archive » Archimedes World » AW-1994-12-Disc1.adf » Disk1Dec94 » !AWDec94/Goodies/DrawBasic/!DrawBasic/Library/Examples/Chapter_10/Ex_10

!AWDec94/Goodies/DrawBasic/!DrawBasic/Library/Examples/Chapter_10/Ex_10

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1994-12-Disc1.adf » Disk1Dec94
Filename: !AWDec94/Goodies/DrawBasic/!DrawBasic/Library/Examples/Chapter_10/Ex_10
Read OK:
File size: 015F bytes
Load address: 0000
Exec address: 0000
File contents
REM Triangle
REM
REM References
REM
REM   1) "Turtle Geometry" : H.Abelson &
REM       A. diSessa pub. MIT  p.93
REM

acc=1/(2^5)
 �Inches
 �PathBegin(path)
 �Turtle(1,1,60)
 �LogoTriangle(4)
 �PathEnd
�Quit

DEF �LogoTriangle(size)
LOCAL i
 IF size>acc THEN
  FOR i=1 TO 3
  �LogoTriangle(size/2)
  �Forward(size)
  �Right(120)
   NEXT
 ENDIF
ENDPROC
00000000  52 45 4d 20 54 72 69 61  6e 67 6c 65 0a 52 45 4d  |REM Triangle.REM|
00000010  0a 52 45 4d 20 52 65 66  65 72 65 6e 63 65 73 0a  |.REM References.|
00000020  52 45 4d 0a 52 45 4d 20  20 20 31 29 20 22 54 75  |REM.REM   1) "Tu|
00000030  72 74 6c 65 20 47 65 6f  6d 65 74 72 79 22 20 3a  |rtle Geometry" :|
00000040  20 48 2e 41 62 65 6c 73  6f 6e 20 26 0a 52 45 4d  | H.Abelson &.REM|
00000050  20 20 20 20 20 20 20 41  2e 20 64 69 53 65 73 73  |       A. diSess|
00000060  61 20 70 75 62 2e 20 4d  49 54 20 20 70 2e 39 33  |a pub. MIT  p.93|
00000070  0a 52 45 4d 0a 0a 61 63  63 3d 31 2f 28 32 5e 35  |.REM..acc=1/(2^5|
00000080  29 0a 20 a0 49 6e 63 68  65 73 0a 20 a0 50 61 74  |). .Inches. .Pat|
00000090  68 42 65 67 69 6e 28 70  61 74 68 29 0a 20 a0 54  |hBegin(path). .T|
000000a0  75 72 74 6c 65 28 31 2c  31 2c 36 30 29 0a 20 a0  |urtle(1,1,60). .|
000000b0  4c 6f 67 6f 54 72 69 61  6e 67 6c 65 28 34 29 0a  |LogoTriangle(4).|
000000c0  20 a0 50 61 74 68 45 6e  64 0a a0 51 75 69 74 0a  | .PathEnd..Quit.|
000000d0  0a 44 45 46 20 a0 4c 6f  67 6f 54 72 69 61 6e 67  |.DEF .LogoTriang|
000000e0  6c 65 28 73 69 7a 65 29  0a 4c 4f 43 41 4c 20 69  |le(size).LOCAL i|
000000f0  0a 20 49 46 20 73 69 7a  65 3e 61 63 63 20 54 48  |. IF size>acc TH|
00000100  45 4e 0a 20 20 46 4f 52  20 69 3d 31 20 54 4f 20  |EN.  FOR i=1 TO |
00000110  33 0a 20 20 a0 4c 6f 67  6f 54 72 69 61 6e 67 6c  |3.  .LogoTriangl|
00000120  65 28 73 69 7a 65 2f 32  29 0a 20 20 a0 46 6f 72  |e(size/2).  .For|
00000130  77 61 72 64 28 73 69 7a  65 29 0a 20 20 a0 52 69  |ward(size).  .Ri|
00000140  67 68 74 28 31 32 30 29  0a 20 20 20 4e 45 58 54  |ght(120).   NEXT|
00000150  0a 20 45 4e 44 49 46 0a  45 4e 44 50 52 4f 43     |. ENDIF.ENDPROC|
0000015f