1 SIZE=140 2 RESY=150 3 RESX=240 4 LINECMD$=CHR$(27)+"[H"+CHR$(27)+"[Z1;" 5 PRINT CHR$(27)+"[J" 10 GOSUB 500 12 PI=3.14159 15 X2=RESX : Y2=RESY 20 FOR THETA = 0 TO 360 30 K=THETA * D * PI / 180 40 R=SIZE*SIN(N*K) 50 X=R * COS(K) 60 Y=R * SIN(K) 70 X1=INT(X) : Y1=INT(Y) 75 X1=X1+RESX 76 Y1=Y1+RESY 80 GOSUB 2000 90 NEXT THETA 100 FOR THETA = 0 TO 360 110 K = THETA * PI / 180 120 R=SIZE*SIN(N*K) 130 X = R * COS(K) 140 Y = R * SIN(K) 145 X1=INT(X) : Y1=INT(Y) 150 X1=X1+RESX 160 Y1=Y1+RESY 170 GOSUB 2000 180 NEXT THETA 200 END 500 PRINT CHR$(27)+"[H"+CHR$(27)+"[2J" 510 PRINT "MAURER ROSE DEMO" 520 PRINT "Converted to from Python to BASIC by Eightbitswide" 530 PRINT "Original Code & Info: " 540 PRINT "https://en.wikipedia.org/wiki/Maurer_rose" : PRINT 550 PRINT "You will be asked for N and D values." 560 PRINT "The rose has N petals. D specifies step angles in degrees." 570 PRINT : PRINT 580 PRINT "Try these examples:" 590 PRINT "N2/D39, N4/D31, N4/D97, N4/D103, N5/D97, N6/D71, N7/D29, N8/D29" 600 PRINT : PRINT 610 INPUT "Input value for N: (Example:2) ->";N 620 INPUT "Input value for D: (Example:39) ->";D 630 PRINT CHR$(27)+"[2J" 700 RETURN 999 END 1000 REM FORMAT NUMBERS TO STRINGS W/O SPACES 1001 X1$=MID$(STR$(X1),2) 1010 Y1$=MID$(STR$(Y1),2) 1020 X2$=MID$(STR$(X2),2) 1030 Y2$=MID$(STR$(Y2),2) 1050 RETURN 2000 REM PRINT LINES TO TERMINAL 2010 GOSUB 1000 2020 PRINT LINECMD$+X1$+";"+Y1$+";"+X2$+";"+Y2$+"Z" 2065 REM CONVERT DEST CORDS TO ORIG CORDS 2066 X2=X1 : Y2=Y1 2070 RETURN 9999 REM EightBitsWide 8MAURER.BAS