Πέμπτη 30 Ιουλίου 2020

Αναθεώρηση 52, Έκδοση 9.9

Μια διόρθωση-επέκταση των μέγεθος.χ() ή size.x() και μέγεθος.υ() ή size.y() τα οποία υπολογίζουν τον πλαίσιο μέσα στο οποίο γράφεται ένα κείμενο με την εντολή Επιγραφή ή Legend.. 


\\ set italic for font
italic 1
font$="Arial"
\\ set 80 characters by 50 rows
Form 80,50
\\ extra_space 5 pixels (to twips)
extra_space=twipsX*5
aling_value=3
document g$={M2000 Interpreter
Second line
Third line
Last line
}
lines=doc.par(g$)-1
if lines=0 then lines=1
\\ start rotation angle
number_of_blocks=9
current_angle=pi/3
font_size=17
distance_from_center=300
For i=1 to number_of_blocks {
      aling_value=random(1, 3)
      current_angle+=pi/number_of_blocks*2
      ep=(extra_space, 0)#val(random(0,1))
      ww=Size.X(g$,font$,font_size,0 ,ep)
      hh=Size.Y(g$,font$,font_size, 0,ep)
      w1=Size.X(g$,font$,font_size, current_angle, ep)
      h1=Size.Y(g$,font$,font_size, current_angle, ep)
      move x.twips/2, y.twips/2
      step angle current_angle,ww+distance_from_center
      select case aling_value
      case 2
            step angle current_angle+pi/2, hh/2-hh/lines/2
      case 3
            {
                   step angle current_angle+pi/2, hh/2
                   step angle current_angle, -ww/2
            }
      else case
            {
                   step angle current_angle+pi/2, hh/2-hh/lines
                   step angle current_angle,ww/2
            }
      end select
      pen random(11, 15) {
            legend g$,font$,font_size,current_angle, aling_value,0,ep
            move x.twips/2, y.twips/2
            step angle current_angle,ww/2+distance_from_center
            step angle current_angle+pi/2, hh/2
            draw angle current_angle, ww
            draw angle current_angle-pi/2, hh
            draw angle current_angle, -ww
            draw angle current_angle-pi/2, -hh
            move x.twips/2, y.twips/2
            step angle current_angle,ww+distance_from_center
            step -w1/2, -h1/2
            color {polygon 1, w1, 0, 0,h1, -w1, 0, 0,- h1 }
      }
}
italic 0
kkk$=key$





\\ θέτουμε Πλάγια την γραμματοσειρά
Πλάγια 1
γραμ$="Arial"
\\ θέτει 80 χαρακτήρες επί 50 γραμμές την κονσόλα
Φόρμα 80,50
\\ εξτρα_κενό 5 σημεία (pixels)
εξτρα_κενό=πλάτος.σημείου*5
τιμή_στοίχισης=3
έγγραφο επ$={Μ2000 Διερμηνευτής
Δεύτερη γραμμή
Τρίτη γραμμή
Τελευταία γραμμή
}
γραμμές=εγγράφου.παρ(επ$)-1
Αν γραμμές=0 Τότε γραμμές=1
αριθμός_μπλοκ=9
τωρινή_γωνία=πι/3
μέγεθος_γραμ=17
απόσταση_από_κέντρο=300
για ι=1 έως αριθμός_μπλοκ {
      τιμή_στοίχισης=τυχαίος(1, 3)
      τωρινή_γωνία+=πι/αριθμός_μπλοκ*2
      εκ=(εξτρα_κενό, 0)#τιμή(τυχαίος(0,1))
      ππ=Μέγεθος.Χ(επ$,γραμ$,μέγεθος_γραμ,0 ,εκ)
      υυ=Μέγεθος.Υ(επ$,γραμ$,μέγεθος_γραμ, 0,εκ)
      π1=Μέγεθος.Χ(επ$,γραμ$,μέγεθος_γραμ, τωρινή_γωνία, εκ)
      υ1=Μέγεθος.Υ(επ$,γραμ$,μέγεθος_γραμ, τωρινή_γωνία, εκ)
      θέση χ.σημεία/2, υ.σημεία/2
      βήμα γωνία τωρινή_γωνία,ππ+απόσταση_από_κέντρο
      επίλεξε με τιμή_στοίχισης
      με 2
            βήμα γωνία τωρινή_γωνία+πι/2, υυ/2-υυ/γραμμές/2
      με 3
            {
                   βήμα γωνία τωρινή_γωνία+πι/2, υυ/2
                   βήμα γωνία τωρινή_γωνία, -ππ/2
            }
      αλλιώς με
            {
                   βήμα γωνία τωρινή_γωνία+πι/2, υυ/2-υυ/γραμμές
                   βήμα γωνία τωρινή_γωνία,ππ/2
            }
      Τέλος επιλογής
      πένα τυχαίος(11, 15) {
            Επιγραφη επ$,γραμ$,μέγεθος_γραμ,τωρινή_γωνία, τιμή_στοίχισης,0,εκ
            θέση χ.σημεία/2, υ.σημεία/2
            βήμα γωνία τωρινή_γωνία,ππ/2+απόσταση_από_κέντρο
            βήμα γωνία τωρινή_γωνία+πι/2, υυ/2
            χαραξε γωνία τωρινή_γωνία, ππ
            χαραξε γωνία τωρινή_γωνία-πι/2, υυ
            χαραξε γωνία τωρινή_γωνία, -ππ
            χαραξε γωνία τωρινή_γωνία-πι/2, -υυ
            θέση χ.σημεία/2, υ.σημεία/2
            βήμα γωνία τωρινή_γωνία,ππ+απόσταση_από_κέντρο
            βήμα -π1/2, -υ1/2
            χρώμα {πολύγωνο 1, π1, 0, 0,υ1, -π1, 0, 0,- υ1 }
      }
}
Πλάγια 0
περίμενε$=κομ$




Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.